我在CPU上运行小型模型,并且遇到了同样的问题。添加: os.environ['TF_CPP_MIN_LOG_LEVEL'] = '3'
解决了它。

Tensorflow分配内存:38535168的分配超过系统内存的10%

共 4 个回答
高赞
时间
活跃
0

0

尝试将batch_size属性减小为较小的数字(例如1,2或3)。例:
train_generator = data_generator.flow_from_directory(
'path_to_the_training_set',
target_size = (IMG_SIZE,IMG_SIZE),
batch_size = 2,
class_mode = 'categorical'
)
0

在使用Docker和Jupyter Notebook运行Tensorflow容器时,我遇到了同样的问题。我能够通过增加容器内存来解决此问题。
在Mac OS上 ,您可以轻松地从以下位置执行此操作:
Docker Icon > Preferences > Advanced > Memory
将滚动条拖动到最大(例如4GB)。应用,它将重新启动Docker引擎。
现在再次运行您的张量流容器。
在单独的终端中使用docker stats
命令很方便。它实时显示容器的内存使用情况,您可以看到正在增加多少内存消耗:
CONTAINER ID NAME CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS
3170c0b402cc mytf 0.04% 588.6MiB / 3.855GiB 14.91% 13.1MB / 3.06MB 214MB / 3.13MB 21
0

或者,您可以设置环境变量TF_CPP_MIN_LOG_LEVEL=2
以过滤掉信息和警告消息。我在这个github问题上发现他们抱怨相同的输出 。要做到这一点蟒之内,你可以使用该解决方案在这里 :
import os
import tensorflow as tf
os.environ['TF_CPP_MIN_LOG_LEVEL'] = '3'
您甚至可以随意打开和关闭它。我在运行代码之前测试了最大可能的批处理大小,并且在执行此操作时可以禁用警告和错误。
新手导航
- 社区规范
- 提出问题
- 进行投票
- 个人资料
- 优化问题
- 回答问题
0
使用ResNet50预训练的权重,我正在尝试构建一个分类器。该代码库在Keras高级Tensorflow API中完全实现。完整的代码发布在下面的GitHub链接中。
源代码: 使用RestNet50架构进行分类
预训练模型的文件大小为94.7mb 。
我加载了预训练的文件
并拟合模型
在Training数据集中,我有两个文件夹dog和cat,每个文件夹可容纳10,000张图片。编译脚本时,出现以下错误
有什么想法可以优化加载预训练模型的方式(或摆脱这种警告消息)?
谢谢!