python - Tensorflow 模型 Ram 使用率在测试期间持续上升
问题描述
我有一个简单的模型,它试图预测图像的标题。在对图像进行编码或拟合模型时,我没有任何 RAM 使用问题。然而,虽然我预测图像的标题并将它们保存到列表中,但 Pycharm 中的内存使用量不断上升,直到 13GB。因为我只有 1000 张测试图像(我使用的是 Flickr8K 数据集),所以我的内存对我来说已经足够了。但是,我将计划处理不同的数据集,例如 Flick30K 或 MsCOCO。另一件事是,当我在 colab 中运行确切的代码时,我没有得到任何非凡的 RAM 上升。
电脑规格:
- 16GB 内存
- 英伟达 GTX 1060 6GB
- 视窗 10
我的模型:
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())
解决方案
推荐阅读
- java - 将 weblogic 迁移到 tomcat:没有可用的 JTA UserTransaction
- clam - 套接字上的 ClamAV clamd INSTREAM 的间歇性问题
- swift - 图片资源和 NSImageView
- react-native - 当反应本机应用程序在后台时如何保持套接字打开?
- linux - 收集linux上所有连接的设备
- php - html表格中的按钮未对齐
- python - 如何删除有关使用 Word2vec gensim\matutils.py:737 的 gensim 警告
- macos - 将自定义文件添加到要使用 productbuild/pkgbuild 安装在特定路径上的软件包?
- macos - 分别使用 .fill 和 .blit 来解决这两个问题时,Python 会冻结和崩溃
- c++ - 在编辑控件中输入无效输入时如何显示不显眼的消息