【发布时间】:2021-03-03 01:08:18
【问题描述】:
我正在尝试创建一个 RNN,以获取 EEG 数据并输出与参与者在接收 EEG 时观看的视频的享受程度相对应的分数(满分 10)。我已将我所有的 EEG 分成一个 1152 个 EEG 强的训练集和一个 128 个 EEG 的测试集,但是当我开始训练我的模型时,它告诉我它在每个时期的 36 个 EEG 之间进行训练,而不是完整的训练集。如果重要的话,每个脑电图是 32 通道,8064 点(128Hz 为 60 秒)。大多数值只是模型正常工作后要调整的占位符。
X, y = getXY()
x_test = X[:np.size(X,0)//10,:,:]
y_test = y[:np.size(y,0)//10]
x_train = X[np.size(X,0)//10:,:,:]
y_train = y[np.size(y,0)//10:]
print(x_train.shape) #(1152,32,8064)
print(x_test.shape) #(128, 32, 8064)
model = Sequential()
model.add(LSTM(128, input_shape=(x_train.shape[1:]), activation="relu", return_sequences=True))
model.add(Dropout(0.2))
model.add(LSTM(128, activation="relu"))
model.add(Dropout(0.5))
model.add(Dense(32, activation="relu"))
model.add(Dropout(0.5))
model.add(Dense(1))
opt = tf.keras.optimizers.Adam(lr=1e-3, decay=1e-5)
model.compile(loss="mse", optimizer=opt, metrics=["accuracy"])
model.fit(x_train, y_train, epochs=3, validation_data=(x_test, y_test))
运行此代码最终会触发 keras 输出,显示当前 epoch 的进度,但它显示的是 (some number)/36 而不是 (other number) /1152.
【问题讨论】:
-
我了解到我所指的数字是批量大小,这意味着我还有很多其他问题,但这不是其中之一。
标签: python tensorflow keras recurrent-neural-network