Я пытаюсь обучить 1D-сверточную нейронную сеть, но сталкиваюсь с ошибкой
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()