我正在处理ml项目,但是当调用model.predict()函数时,我的TensorFlow模型“占用”了计算机的内存。
在运行下面的问题之后,程序的ram使用率将约为1 GB。
我很确定这是由模型引起的,因为del(model)分配了占用的ram。
def build_model_val():
model=keras.models.Sequential()
model.add(Conv2D(64, kernel_size=(5,5), activation='sigmoid', padding='same', input_shape=(tSize,tSize,1)))
model.add(Conv2D(64, kernel_size=(5,5), activation='sigmoid', padding='valid'))
model.add(Conv2D(64, kernel_size=(5,5), activation='sigmoid', padding='valid'))
model.add(Conv2D(64, kernel_size=(3,3), activation='sigmoid', padding='valid'))
model.add(Flatten())
model.add(Dense(tSize*tSize,activation='sigmoid'))
model.add(Dense(tSize*tSize,activation='sigmoid'))
model.add(Dense(128,activation='sigmoid'))
model.add(Dense(64,activation='sigmoid'))
#model.add(BatchNormalization())
model.add(Dense(1))
model.add(Activation('tanh'))
model.add(Reshape((-1,1)))
adam=keras.optimizers.Adam(lr=.001)
model.compile(loss=keras.losses.MeanSquaredError(),optimizer=adam)
return model
model=build_model_val()
for i in range(1000):
model.predict(np.random.random((1,17,17,1)))