我试图用Keras创建一个深度学习模型,但是当我尝试创建模型时,keras使用了太多的内存。 我正在尝试建立一个具有大量输入(24,000)的模型,这对我的计算机来说似乎太多了。
这是我的简单代码:
N=20
M=5
n = 24310
nbclass = 4
X_train = np.random.rand(N,n)
X_test = np.random.rand(M,n)
Y_train = np_utils.to_categorical(np.random.randint(nbclass, size=N), nbclass)
Y_test = np_utils.to_categorical(np.random.randint(nbclass, size=M), nbclass)
model.add(Dense(n, input_dim=n, activation="relu", kernel_initializer="uniform"))
model.add(Dropout(0.25))
model.add(Dense(n//2, activation="relu", kernel_initializer="uniform"))
model.add(Dropout(0.25))
model.add(Dense(nbclass,activation="softmax", kernel_initializer="uniform"))
# Compiling the model
model.compile(loss='binary_crossentropy',
optimizer='adam', metrics=['accuracy'])
# Fitting the model
model.fit(X_train, Y_train, validation_data=(X_test, Y_test),epochs=100, batch_size=5,callbacks=[PlotLosses()])
我的问题是,拟合完成后,它会消耗掉我所有的内存(20 Go),然后它开始交换并且我无法继续。 有人知道如何修改模型以减少内存消耗?