python - Keras:无法为具有形状的数组分配 3.75 GiB
问题描述
我正在尝试训练一维卷积神经网络,但我遇到了错误
MemoryError: Unable to allocate 3.75 GiB for an array with shape (1259, 400001) and data type float64
正如我所读到的,这可能是因为我的系统的过度使用处理模式。但是,我不确定这是否是因为我不适当地将我的数组重塑为适当的批量大小。
X_train = X_train.reshape((400001, len(X_train)))#.astype(int)
Y_train = np.transpose(Y_train).reshape((-1,2224))
#Y_test = Y_test.reshape((-1,400001))
BATCH_SIZE = 32
EPOCHS = 10
#input_shape = (1, len(X_train))
def model():
m = Sequential()
m.add(Conv1D(40001, 7, activation = 'relu'))#input_shape = input_shape
m.add(Conv1D(400001, 2, activation = 'relu'))
m.add(MaxPool1D(pool_size=7))
m.add(Conv1D(64, 7, activation = 'relu'))
m.add(Conv1D(64, 5, activation = 'relu'))
m.add(GlobalAveragePooling1D())
opt = Adam(lr=0.0001, decay=1e-2/EPOCHS)
m.compile(loss='mean_squared_error', optimizer = opt, metrics = ['accuracy'])
# Fit data to model m
m.fit(X_train, Y_train, batch_size = BATCH_SIZE, epochs = EPOCHS, validation_data = (X_test, Y_test))
m.summary()
test_loss, test_acc = m.evaluate(X_test, Y_test, verbose = 0)
print('Test loss:', test_loss[0])
print('Test accuracy:', test_acc[1])
#m.predict()
mod = model()
解决方案
推荐阅读
- stripe-payments - 条纹可以在已保存的卡上存钱吗?
- c - 将主文件与我的头文件链接时出错:未定义对“myHeaderFunction”的引用
- python - Django 信号确实对最后创建的记录执行操作
- reactjs - 需要有关使用 React/Redux 或服务器处理复杂状态更新的建议吗?
- android - 允许数据类的属性只接受某些值
- google-cloud-firestore - 如何只允许某些用户读取 Firestore 数据库
- python - 如何同时运行三个带有声音的“.py”文件?
- php - 相加两个百分率
- entity-framework - 在.net core api中链接对象
- ios - 在 iOS LaunchScreen.storyboard 中放置图像会完全禁用启动屏幕