Керас: невозможно выделить 3,75 ГиБ для массива с формой - PullRequest
0 голосов
/ 03 августа 2020

Я пытаюсь обучить 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()
...