1. 程式人生 > 其它 >執行程式出現 fit() got an unexpected keyword argument ‘epoch‘的問題

執行程式出現 fit() got an unexpected keyword argument ‘epoch‘的問題

執行下面程式碼塊:

from keras.models import Sequential
from keras.layers.core import Dense, Activation
from keras.optimizers import Adam
model = Sequential()  #層次模型
model.add(Dense(16,input_dim=input_size,init='uniform')) #輸入層,Dense表示BP層
model.add(Activation('relu'))  #新增啟用函式
model.add(Dense(4,init='uniform')) #中間層
model.add(Activation('relu'))  #新增啟用函式
model.add(Dense(1))  #輸出層
model.compile(loss='mean_squared_error', optimizer='Adam') #編譯模型
model.fit(X_train, y_train, nb_epoch = 50, batch_size = 256) #訓練模型nb_epoch=50次

出現這樣的問題:

AttributeError: module ‘tensorflow.python.framework.ops‘ has no attribute ‘_TensorLike‘

百度找答案,有的博主說是因為keras和tensorflow的版本不對應,但是我好不容易安裝好這兩個第三方庫,真的不捨得輕易解除安裝啊,而且也不知道這兩個版本是怎麼對應的,所以不能輕易就解除安裝了安裝的這兩個包,

然後有的是說因為keras和tensorflow.keras之間存在相容性問題,所以解決辦法是使用tensorflow.keras代替keras

然後嘗試之後出現這樣的問題:

ModuleNotFoundError: No module named 'tensorflow.keras.layers.core'

然後這個問題的解決辦法是:

參考連結:https://blog.csdn.net/aojue1109/article/details/83623927

在tensorflow的後面再加上python

然後繼續出現這樣的問題:

將裡面的init引數刪除,程式碼塊變成這樣的:

#建立bp模型 訓練 
from tensorflow.keras.models import Sequential
from tensorflow.python.keras.layers.core import Dense, Activation
from tensorflow.keras.optimizers import Adam
model = Sequential()  #層次模型
model.add(Dense(16,input_dim=input_size)) #輸入層,Dense表示BP層
model.add(Activation('relu'))  #新增啟用函式
model.add(Dense(4)) #中間層
model.add(Activation('relu'))  #新增啟用函式
model.add(Dense(1))  #輸出層
model.compile(loss='mean_squared_error', optimizer='Adam') #編譯模型
model.fit(X_train, y_train, nb_epoch = 50, batch_size = 256) #訓練模型nb_epoch=50次

繼續報錯:

原來是這個引數是epochs,將程式改為:

model.fit(X_train, y_train, epochs = 50, batch_size = 256)

好啦,程式可以正常運行了。