所以我有這行代碼:history = model.fit(X_train, y_train, batch_size=batch_size, epochs=epochs, verbose=1, validation_data=(X_val, y_val))這會引發此錯誤:File "CNN.py", line 125, in model history = model.fit(X_train, y_train, batch_size=batch_size, epochs=epochs, verbose=1, validation_data=(X_val, y_val)) File "C:\Users\Boche\AppData\Local\conda\conda\envs\ExerFloorTracking\lib\site-packages\keras\engine\training.py", line 952, in fit batch_size=batch_size) File "C:\Users\Boche\AppData\Local\conda\conda\envs\ExerFloorTracking\lib\site-packages\keras\engine\training.py", line 677, in _standardize_user_data self._set_inputs(x) File "C:\Users\Boche\AppData\Local\conda\conda\envs\ExerFloorTracking\lib\site-packages\keras\engine\training.py", line 589, in _set_inputs self.build(input_shape=(None,) + inputs.shape[1:]) File "C:\Users\Boche\AppData\Local\conda\conda\envs\ExerFloorTracking\lib\site-packages\keras\engine\sequential.py", line 221, in build x = layer(x) File "C:\Users\Boche\AppData\Local\conda\conda\envs\ExerFloorTracking\lib\site-packages\keras\engine\base_layer.py", line 431, in __call__ self.build(unpack_singleton(input_shapes)) File "C:\Users\Boche\AppData\Local\conda\conda\envs\ExerFloorTracking\lib\site-packages\keras\layers\core.py", line 866, in build constraint=self.kernel_constraint) File "C:\Users\Boche\AppData\Local\conda\conda\envs\ExerFloorTracking\lib\site-packages\keras\legacy\interfaces.py", line 91, in wrapper return func(*args, **kwargs) File "C:\Users\Boche\AppData\Local\conda\conda\envs\ExerFloorTracking\lib\site-packages\keras\engine\base_layer.py", line 249, in add_weight weight = K.variable(initializer(shape),批大小設置為 100,epochs 設置為 20。我不明白為什么會出現錯誤。所有需要為整數的值都是整數。我也不明白這里的參數“shape”是什么意思。如果您沒有看到代碼中有什么錯誤,如果您能向我解釋此錯誤以及觸發它的原因,我將不勝感激。
1 回答

翻閱古今
TA貢獻1780條經驗 獲得超5個贊
所以我解決了這個問題。它來自另一行代碼。這些是我的代碼中在擬合之前出現的行:
model.add(Dense(num_neurons, activation= cnn_params["activation_output"]))
model.add(Dense(cnn_params["final_dense"]["number_neurons"], activation= cnn_params["activation_output"]))
#COMPILING MODEL
model.compile(loss=keras.losses.categorical_crossentropy, optimizer=keras.optimizers.SGD(lr=learning_rate), metrics=['accuracy', 'categorical_accuracy'])
在第一行中,您可以看到參數 。我使用功能計算了這個參數。該功能的輸出是浮點數。將其轉換為整數,如下所示:num_neurons
model.add(Dense(int(num_neurons), activation= cnn_params["activation_output"]))
解決了問題。
添加回答
舉報
0/150
提交
取消