[英]Where to find the loss functions for manual fitting in tensorflow2.0?
我正在嘗試解決此錯誤:
AttributeError: module 'tensorflow.python.keras.api._v2.keras.losses' has no attribute 'sparse_softmax_cross_entropy'
對於情況下,我使用tensorflow2.0
上與Windows python3.6
。 我正在嘗試對標簽為0或1的3-axis
數據進行快速分類。
常用的model.fit()
方法無法為我提供足夠的數據控制權,因此我試圖逐步將其放入嵌套循環中。
這是模型:
model = tf.keras.Sequential([
tf.keras.layers.Dense(3),
tf.keras.layers.Bidirectional(tf.keras.layers.LSTM(16)),
tf.keras.layers.Dense(1, activation = 'sigmoid')
])
這是我用於擬合的代碼:
def fit(epochs=1):
global_step = tf.Variable(0)
for epoch in range(epochs):
epoch_loss_avg = tf.metrics.Mean()
epoch_accuracy = tf.metrics.Accuracy()
for data_ in SQdatas:
data = tf.convert_to_tensor(data_)
for dataslice in data:
inputs, label = tf.transpose([[dataslice[1:4]]]), dataslice[4]
loss_value, grads = grad(model, inputs, label)
model.optimizer.apply_gradients(zip(grads, model.trainable_variables), global_step)
epoch_loss_avg(loss_value)
epoch_accuracy(tf.argmax(model(x)), y)
train_loss_results.append(epoch_loss_avg.result())
train_accuracy_results.append(epoch_accuracy.result())
運行時出現標題中提到的錯誤,我猜這是一個tensorflow2.0
兼容性問題,因為tf.losses.sparse_softmax_cross_entropy
應該存在於1.3中。 如果是什么替代品? 如果沒有,為什么? 感謝您的時間。
我看過所有提到的該錯誤的出現,即從tensorflow
1.2升級到1.3可以解決此問題,但這並不適用。 我仍然嘗試卸載tensorflow2.0
,卸載protobuf
並重新安裝tensorflow2.0
,但它沒有工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.