我有一个CNN,它的输出维度是None,10
这是一个多标签问题,其中输出表示x可能属于的可能类别。(例如,可以将图像分类为cat dark等)
以下是我现在所拥有的,如何将代码更改为keras版本?我找不到等同于sigmoid_cross_entropy_with_logits的
model = tf.layers.dense(L3, category_num, activation=None)
cross_entropy = tf.nn.sigmoid_cross_entropy_with_logits(logits=model, labels=Y)
cost = tf.reduce_mean(tf.reduce_sum(cross_entropy, axis=1))
optimizer = tf.train.AdamOptimizer(learning_rate).minimize(cost)发布于 2019-03-12 00:06:42
Keras中的直接替代方法是在输出层使用sigmoid激活,并将binary_crossentropy用作成本函数。
net.add(Dense(..., activation='sigmoid'))
net.compile(optimizer, loss='binary_crossentropy')发布于 2019-03-12 00:45:57
在Keras中:
#you model here -- last layer:
model.add(Dense(10))
model.add(Activation('sigmoid'))
model.compile(loss='categorical_crossentropy',
optimizer="adam",metrics=['accuracy'])https://stackoverflow.com/questions/55104664
复制相似问题