2017-09-14 82 views
1

我是Keras的新手。我想在Keras(後端:Tensorflow)中重現imdb的示例,並且在嘗試編譯模型時出現錯誤。Keras - ValueError編譯模型時

from keras import models 
from keras import layers 
model = models.Sequential() 
model.add(layers.Dense(16, activation='relu', input_shape=(10000,))) 
model.add(layers.Dense(16, activation='relu')) 
model.add(layers.Dense(1, activation='sigmoid')) 
model.compile(optimizer='rmsprop', 
      loss='binary_crossentropy', 
      metrics=['accuracy']) 

ValueError: Only call `sigmoid_cross_entropy_with_logits` with named 
arguments (labels=..., logits=..., ...) 

有什麼建議嗎?

非常感謝!

+2

您使用的是Keras和TF版本? –

+0

這聽起來很奇怪....嘗試更改'rmsprop'到'adam',只是爲了檢查... –

+0

這是TensorFlow中的錯誤,而不是您的代碼。我建議降級爲較舊的版本。 – Nejla

回答

0

我試着在Spyder上運行上面的代碼。代碼運行良好,它不通過任何ValueError。

我認爲在你的情況下,問題可能在Keras正在使用的後端。我正在使用Tensorflow後端。

要更改後端,請在〜/ .keras文件夾中編輯您的keras.json文件。 這裏是keras.json文件的

{ 「小量」 一示例:1E-07, 「floatx」: 「FLOAT32」, 「image_data_format」: 「channels_last」, 「後端」: 「tensorflow」 }