1
我有一個使用tensorflow函數的函數。我需要Theano的這個功能,因爲在平臺上我想使用這個代碼只有Theano安裝而不是tensorflow。我主要和Keras一起工作,所以tensorflow對我來說很神祕。 功能如下:是否可以將tensorflow代碼轉換爲theano代碼?
class WeightedBinaryCrossEntropy(object):
def __init__(self, pos_ratio):
neg_ratio = 1. - pos_ratio
self.pos_ratio = tf.constant(pos_ratio, tf.float32)
self.weights = tf.constant(neg_ratio/pos_ratio, tf.float32)
self.__name__ = "weighted_binary_crossentropy({0})".format(pos_ratio)
def __call__(self, y_true, y_pred):
return self.weighted_binary_crossentropy(y_true, y_pred)
def weighted_binary_crossentropy(self, y_true, y_pred):
# Transform to logits
epsilon = tf.convert_to_tensor(K.common._EPSILON, y_pred.dtype.base_dtype)
y_pred = tf.clip_by_value(y_pred, epsilon, 1 - epsilon)
y_pred = tf.log(y_pred/(1 - y_pred))
cost = tf.nn.weighted_cross_entropy_with_logits(y_true, y_pred, self.weights)
return K.mean(cost * self.pos_ratio, axis=-1)
model.compile(loss=WeightedBinaryCrossEntropy(0.05), optimizer=optimizer, metrics=['accuracy'])
的平臺上安裝Tensorflow是不可能的。 我從這裏得到的代碼https://github.com/fchollet/keras/issues/2115
那麼Theano中的函數是否像Tensorflow中的函數一樣工作?
謝謝你,這將需要一些時間來測試:測試後,我可能會接受它。 –