如何在Keras中处理大型图层

时间:2018-11-20 13:25:26

标签: python tensorflow memory keras

我试图用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),然后它开始交换并且我无法继续。 有人知道如何修改模型以减少内存消耗?

0 个答案:

没有答案
相关问题