首页 > 解决方案 > Tensorflow 模型 Ram 使用率在测试期间持续上升

问题描述

我有一个简单的模型,它试图预测图像的标题。在对图像进行编码或拟合模型时,我没有任何 RAM 使用问题。然而,虽然我预测图像的标题并将它们保存到列表中,但 Pycharm 中的内存使用量不断上升,直到 13GB。因为我只有 1000 张测试图像(我使用的是 Flickr8K 数据集),所以我的内存对我来说已经足够了。但是,我将计划处理不同的数据集,例如 Flick30K 或 MsCOCO。另一件事是,当我在 colab 中运行确切的代码时,我没有得到任何非凡的 RAM 上升。

电脑规格:

我的模型:

inputs1 = Input(shape=(OUTPUT_DIM,))
fe1 = Dropout(0.5)(inputs1)
fe2 = Dense(256, activation='relu')(fe1)
inputs2 = Input(shape=(max_length,))
se1 = Embedding(vocab_size, embedding_dim, mask_zero=True)(inputs2)
se2 = Dropout(0.5)(se1)
se3 = LSTM(256)(se2)
decoder1 = add([fe2, se3])
decoder2 = Dense(256, activation='relu')(decoder1)
outputs = Dense(vocab_size, activation='softmax')(decoder2)
caption_model = Model(inputs=[inputs1, inputs2], outputs=outputs)
caption_model.layers[2].set_weights([embedding_matrix])
caption_model.layers[2].trainable = False
caption_model.compile(loss='categorical_crossentropy', optimizer='adam')

测试代码:

actual, predicted = list(), list()
scoreDict = dict()
for z, y in tqdm(test_descriptions.items()):
    pic = encoding_test[f'{z}.jpg']
    image = encoding_test[f'{z}.jpg'].reshape((1, OUTPUT_DIM))
    pred = generateCaption(image)
    for d in range(len(y)):
       y[d] = y[d].split()
    actual.append(y)
    spl = pred.split()
    predicted.append(pred.split())

标签: pythontensorflowmemory

解决方案


推荐阅读