【发布时间】:2020-07-15 16:08:36
【问题描述】:
由于我需要训练具有多个标签的模型,我需要使用损失function tf.nn.sigmoid_cross_entropy_with_logits。这个函数有两个参数:logits和loss。
参数logitsis是预测y的值吗?在编译模型之前如何传递这个值?在编译和拟合模型之前,我无法预测 y,对吧?
这是我的代码:
import tensorflow as tf
from tensorflow import keras
model = keras.Sequential([keras.layers.Dense(50, activation='tanh', input_shape=[100]),
keras.layers.Dense(30, activation='relu'),
keras.layers.Dense(50, activation='tanh'),
keras.layers.Dense(100, activation='relu'),
keras.layers.Dense(8)])
model.compile(optimizer='rmsprop',
loss=tf.nn.sigmoid_cross_entropy_with_logits(logits=y_pred), labels=y), # <---How to figure out y_pred here?
metrics=['accuracy'])
model.fit(x, y, epochs=10, batch_size=32)
y_pred = model.predict(x) # <--- Now I got y_pred after compile, fit and predict
我正在使用 tensorflow v2.1.0
【问题讨论】:
标签: tensorflow machine-learning keras multilabel-classification