ValueError:拟合模型后

发布于 2025-02-11 05:14:27 字数 4067 浏览 2 评论 0原文

我正在尝试将Conv1D层应用于具有数字数据集的分类模型。我的模型的神经网络如下:

subsequences = 2
timesteps = X_train_series.shape[1]//subsequences
X_train_series_sub = X_train_series.reshape((X_train_series.shape[0], subsequences, timesteps, 1))
X_valid_series_sub = X_valid_series.reshape((X_valid_series.shape[0], subsequences, timesteps, 1))

火车设置形状(7,2,54,1) 验证设置形状(5,2,54,1)

model_cnn_lstm = Sequential()
model_cnn_lstm.add(TimeDistributed(Conv1D(filters=64, kernel_size=1, activation='relu'), input_shape=(None, X_train_series_sub.shape[2], X_train_series_sub.shape[3])))
model_cnn_lstm.add(TimeDistributed(MaxPooling1D(pool_size=2)))
model_cnn_lstm.add(TimeDistributed(Flatten()))
model_cnn_lstm.add(LSTM(50, activation='relu'))
model_cnn_lstm.add(Dense(1))
model_cnn_lstm.compile(metrics='accuracy', optimizer=adam)

模型拟合的代码是:

cnn_lstm_history = model_cnn_lstm.fit(X_train_series_sub, Y_train, epochs=epochs, verbose=2)

执行时,我面临以下错误:

ValueError                                Traceback (most recent call last) ~\AppData\Local\Temp/ipykernel_20092/619710609.py in <module>
----> 1 cnn_lstm_history = model_cnn_lstm.fit(X_train_series_sub, Y_train, epochs=epochs, verbose=2)

~\anaconda3\lib\site-packages\keras\utils\traceback_utils.py in error_handler(*args, **kwargs)
     65     except Exception as e:  # pylint: disable=broad-except
     66       filtered_tb = _process_traceback_frames(e.__traceback__)
---> 67       raise e.with_traceback(filtered_tb) from None
     68     finally:
     69       del filtered_tb

~\anaconda3\lib\site-packages\tensorflow\python\framework\func_graph.py in autograph_handler(*args, **kwargs)    1127           except Exception as e:  # pylint:disable=broad-except    1128             if hasattr(e, "ag_error_metadata"):
-> 1129               raise e.ag_error_metadata.to_exception(e)    1130             else:    1131               raise

ValueError: in user code:

    File "anaconda3\lib\site-packages\keras\engine\training.py", line 878, in train_function  *
        return step_function(self, iterator)
    File "anaconda3\lib\site-packages\keras\engine\training.py", line 867, in step_function  **
        outputs = model.distribute_strategy.run(run_step, args=(data,))
    File "anaconda3\lib\site-packages\keras\engine\training.py", line 860, in run_step  **
        outputs = model.train_step(data)
    File "anaconda3\lib\site-packages\keras\engine\training.py", line 816, in train_step
        self.optimizer.minimize(loss, self.trainable_variables, tape=tape)
    File "C:\Users\delta1\anaconda3\lib\site-packages\keras\optimizer_v2\optimizer_v2.py", line 532, in minimize
        return self.apply_gradients(grads_and_vars, name=name)
    File "anaconda3\lib\site-packages\keras\optimizer_v2\optimizer_v2.py", line 633, in apply_gradients
        grads_and_vars = optimizer_utils.filter_empty_gradients(grads_and_vars)
    File "anaconda3\lib\site-packages\keras\optimizer_v2\utils.py", line 73, in filter_empty_gradients
        raise ValueError(f"No gradients provided for any variable: {variable}. "

    ValueError: No gradients provided for any variable: (['time_distributed_76/kernel:0', 'time_distributed_76/bias:0', 'lstm_20/lstm_cell_20/kernel:0', 'lstm_20/lstm_cell_20/recurrent_kernel:0', 'lstm_20/lstm_cell_20/bias:0', 'dense_26/kernel:0', 'dense_26/bias:0'],). Provided `grads_and_vars` is ((None, <tf.Variable 'time_distributed_76/kernel:0' shape=(1, 1, 64) dtype=float32>), (None, <tf.Variable 'time_distributed_76/bias:0' shape=(64,) dtype=float32>), (None, <tf.Variable 'lstm_20/lstm_cell_20/kernel:0' shape=(1728, 200) dtype=float32>), (None, <tf.Variable 'lstm_20/lstm_cell_20/recurrent_kernel:0' shape=(50, 200) dtype=float32>), (None, <tf.Variable 'lstm_20/lstm_cell_20/bias:0' shape=(200,) dtype=float32>), (None, <tf.Variable 'dense_26/kernel:0' shape=(50, 1) dtype=float32>), (None, <tf.Variable 'dense_26/bias:0' shape=(1,) dtype=float32>)).

I'm trying to apply Conv1D layers for a classification model which has a numeric dataset. The neural network of my model is as follows:

subsequences = 2
timesteps = X_train_series.shape[1]//subsequences
X_train_series_sub = X_train_series.reshape((X_train_series.shape[0], subsequences, timesteps, 1))
X_valid_series_sub = X_valid_series.reshape((X_valid_series.shape[0], subsequences, timesteps, 1))

Train set shape (7, 2, 54, 1)
Validation set shape (5, 2, 54, 1)

model_cnn_lstm = Sequential()
model_cnn_lstm.add(TimeDistributed(Conv1D(filters=64, kernel_size=1, activation='relu'), input_shape=(None, X_train_series_sub.shape[2], X_train_series_sub.shape[3])))
model_cnn_lstm.add(TimeDistributed(MaxPooling1D(pool_size=2)))
model_cnn_lstm.add(TimeDistributed(Flatten()))
model_cnn_lstm.add(LSTM(50, activation='relu'))
model_cnn_lstm.add(Dense(1))
model_cnn_lstm.compile(metrics='accuracy', optimizer=adam)

The code for model fitting is:

cnn_lstm_history = model_cnn_lstm.fit(X_train_series_sub, Y_train, epochs=epochs, verbose=2)

While executing, I'm facing the following error:

ValueError                                Traceback (most recent call last) ~\AppData\Local\Temp/ipykernel_20092/619710609.py in <module>
----> 1 cnn_lstm_history = model_cnn_lstm.fit(X_train_series_sub, Y_train, epochs=epochs, verbose=2)

~\anaconda3\lib\site-packages\keras\utils\traceback_utils.py in error_handler(*args, **kwargs)
     65     except Exception as e:  # pylint: disable=broad-except
     66       filtered_tb = _process_traceback_frames(e.__traceback__)
---> 67       raise e.with_traceback(filtered_tb) from None
     68     finally:
     69       del filtered_tb

~\anaconda3\lib\site-packages\tensorflow\python\framework\func_graph.py in autograph_handler(*args, **kwargs)    1127           except Exception as e:  # pylint:disable=broad-except    1128             if hasattr(e, "ag_error_metadata"):
-> 1129               raise e.ag_error_metadata.to_exception(e)    1130             else:    1131               raise

ValueError: in user code:

    File "anaconda3\lib\site-packages\keras\engine\training.py", line 878, in train_function  *
        return step_function(self, iterator)
    File "anaconda3\lib\site-packages\keras\engine\training.py", line 867, in step_function  **
        outputs = model.distribute_strategy.run(run_step, args=(data,))
    File "anaconda3\lib\site-packages\keras\engine\training.py", line 860, in run_step  **
        outputs = model.train_step(data)
    File "anaconda3\lib\site-packages\keras\engine\training.py", line 816, in train_step
        self.optimizer.minimize(loss, self.trainable_variables, tape=tape)
    File "C:\Users\delta1\anaconda3\lib\site-packages\keras\optimizer_v2\optimizer_v2.py", line 532, in minimize
        return self.apply_gradients(grads_and_vars, name=name)
    File "anaconda3\lib\site-packages\keras\optimizer_v2\optimizer_v2.py", line 633, in apply_gradients
        grads_and_vars = optimizer_utils.filter_empty_gradients(grads_and_vars)
    File "anaconda3\lib\site-packages\keras\optimizer_v2\utils.py", line 73, in filter_empty_gradients
        raise ValueError(f"No gradients provided for any variable: {variable}. "

    ValueError: No gradients provided for any variable: (['time_distributed_76/kernel:0', 'time_distributed_76/bias:0', 'lstm_20/lstm_cell_20/kernel:0', 'lstm_20/lstm_cell_20/recurrent_kernel:0', 'lstm_20/lstm_cell_20/bias:0', 'dense_26/kernel:0', 'dense_26/bias:0'],). Provided `grads_and_vars` is ((None, <tf.Variable 'time_distributed_76/kernel:0' shape=(1, 1, 64) dtype=float32>), (None, <tf.Variable 'time_distributed_76/bias:0' shape=(64,) dtype=float32>), (None, <tf.Variable 'lstm_20/lstm_cell_20/kernel:0' shape=(1728, 200) dtype=float32>), (None, <tf.Variable 'lstm_20/lstm_cell_20/recurrent_kernel:0' shape=(50, 200) dtype=float32>), (None, <tf.Variable 'lstm_20/lstm_cell_20/bias:0' shape=(200,) dtype=float32>), (None, <tf.Variable 'dense_26/kernel:0' shape=(50, 1) dtype=float32>), (None, <tf.Variable 'dense_26/bias:0' shape=(1,) dtype=float32>)).

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文