Open ATTACK-TIGER opened 4 years ago
@Pad0y 大佬看一下?
我在ubuntu16.04测试内存稳定在1个多g,你占用8个G内存是不正常的。我的环境是torch1.2+torchvison0.4+flask+uwsgi,gunicore我没测试过,你试试torch版本降低,理论代码没有问题了,记得关掉debug模式。@ATTACK-TIGER
app.run(host='0.0.0.0', port=33333, debug=False)
app = Flask(name)
app.debug = False app.env = 'production' app.config.update(DEBUG=False)
flask的debug模式已经关掉了,内存还是一直到8G+左右,单进程,现在在查,也是无解中
app.run(host='0.0.0.0', port=33333, debug=False) app = Flask(name)
app.debug = False app.env = 'production' app.config.update(DEBUG=False)
flask的debug模式已经关掉了,内存还是一直到8G+左右,单进程,现在在查,也是无解中
确保你拉取了最新的代码,如果还是出现内存暴涨的原因基本就是pytorch版本过高,可以试试pytorch1.2
已经拉取最新代码,psenet那里用了单例,pytorch就是1.2升到1.5的,之前以为是版本低的问题才升级到1.5,现在升级了,也没有改善,博主你看看是不是用了同一批图片来做预测,所以你的内存一直在1g,我是使用1万张不同图片,系统才会不会增加内存。 tensor = transforms.ToTensor()(img) tensor = tensor.unsqueeze_(0) tensor = tensor.to(self.device)
with torch.no_grad():
# torch.cuda.synchronize()
start = time.time()
preds = self.net(tensor)
我debug到就是这几句张量的计算,然后内存会不断增加的
已经拉取最新代码,psenet那里用了单例,pytorch就是1.2升到1.5的,之前以为是版本低的问题才升级到1.5,现在升级了,也没有改善,博主你看看是不是用了同一批图片来做预测,所以你的内存一直在1g,我是使用1万张不同图片,系统才会不会增加内存。 tensor = transforms.ToTensor()(img) tensor = tensor.unsqueeze_(0) tensor = tensor.to(self.device)
with torch.no_grad(): # torch.cuda.synchronize() start = time.time() preds = self.net(tensor)
我debug到就是这几句张量的计算,然后内存会不断增加的
我测试的图片大概几十张左右,内存基本稳定在一个值;你内存增长的方式是急速增长还是缓慢增加
centos7 : 急速增长到5G,然后不断缓慢增加到8G+
ubuntu 19.04
torch.version '1.5.1' torchvision.version '0.6.1'
ubuntu单进程吃内存更多,都是急速增长到10g+
用dbnet吧 看还有内存问题没
@Pad0y @ouyanghuiyu 大佬们好,检测模型用的dbnet,内存问题还是存在?该怎么操作呢?
@Pad0y @ouyanghuiyu 大佬们好,检测模型用的dbnet,内存问题还是存在?该怎么操作呢?
关于这点在我自己的环境ubuntu16.04, flask+python3.5/3.6+torch1.2.0一次性测试400张图片内存均稳定在1g左右,所以跟psenet或者dbnet关系应该不大,正常情况下应该是只会加载一次内存在识别的时候会上涨但随后会下降回收,总体可能会轻微上涨但是不会暴涨
@Pad0y @ouyanghuiyu 大佬们好,检测模型用的dbnet,内存问题还是存在?该怎么操作呢?
关于这点在我自己的环境ubuntu16.04, flask+python3.5/3.6+torch1.2.0一次性测试400张图片内存均稳定在1g左右,所以跟psenet或者dbnet关系应该不大,正常情况下应该是只会加载一次内存在识别的时候会上涨但随后会下降回收,总体可能会轻微上涨但是不会暴涨
嗯 我更新下版本试下
@Pad0y @ouyanghuiyu 大佬们好,检测模型用的dbnet,内存问题还是存在?该怎么操作呢?
关于这点在我自己的环境ubuntu16.04, flask+python3.5/3.6+torch1.2.0一次性测试400张图片内存均稳定在1g左右,所以跟psenet或者dbnet关系应该不大,正常情况下应该是只会加载一次内存在识别的时候会上涨但随后会下降回收,总体可能会轻微上涨但是不会暴涨
你好,我这边将了版本重新试验了下,内存还是会一直上涨,测试了30张图片左右,涨到3G多,基本上每次识别会增加100多m, 具体可以在哪里增加回收功能?
@Pad0y 大佬 这会和图片大小有关系吗?我试过同张照片不断进行重复识别,内存保持在1G左右,不同照片就会递增,是识别时会存储一些数据吗?
请问你内存递增的具体表现是暴涨还是上下波动但是总体上升。另外这个和图片没关系,测试的400张图片均不同,当然图片越大处理速度会越慢内存可能可能会上升的比较厉害 @PakchoiFood
@Pad0y 表现为上下波动总体上升,每次大约增长1百多M
chineseocr (没有lite的原始版本)也是这个问题。有内存泄露,会导致内存不停增长,一直到机器挂掉。
内存问题还没有解决完毕,我已经修改代码运行4小时,单进程内存稳定在8G+左右了