-
Notifications
You must be signed in to change notification settings - Fork 6
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
inference_prune.py比inference.py显存多 #2
Comments
prune之后和原本的比较,显存没有减少,这是为啥呢? |
大哥为啥我的inference没有编译成功,可以请教一下吗 |
贴上错误啊 |
Package opencv was not found in the pkg-config search path. Process finished with exit code 1 |
我用的python3.6 |
你这个是编译那个c++库不对啊,环境配置不对,改makefile |
这个https://github.com/BADBADBADBOY/pse-lite.pytorch/blob/master/pse/include/pybind11/detail/common.h 112-114行改成3.6 |
对的,改完之后少了一个bug,但是好像还是要重写makefile,不太会cpp编译。。。 |
改完还不能编译成功?贴报错 |
Package opencv was not found in the pkg-config search path. |
你装opencv了吗,要3.0+ |
给你贴一个我修改好的makfile,供你参考
|
应该是未配置c++版本的opencv,相关目录里面没有opencv文件 |
你们能测一下显存吗?我这里剪枝之后显存反而比之前多了,模型大小和参数量确实是减少了 |
确实显存更大,我测试了,模型初始化的时候,确实是压缩的模型使用的显存更少一些,说明权重确实减少了,但是在模型forward的时候,同样大小的图片,反而是权重小的模型占用的显存更大,导致整体显存大于压缩后模型显存,我也很莫名其妙 |
如果在inference去掉with torch.no_grad() ,测试下来,又是压缩后的模型占用的显存小。可能问题出在这里 |
为什么会这样,测试的时候就是应该加with torch.no_grad() 这个啊。 |
压缩模型:未压缩(压缩比不同可能不一样,这里只是我的测试结果) 初始化: 整体: 去掉with torch.no_grad(): |
解决掉这个问题应该就可以节省显存 |
去掉with torch.no_grad(): 我模型每压缩之前是114M,压缩之后是51M,这个少了一半呢。 |
__ |
我根据剪枝后的channnel,重新撸了一遍网络,在加了torch.no_grad的时候,发现就是这个网络计算的时候占得显存大,即便他少了一半的参数,放弃了,估计是pytorch的内部什么鬼机制 |
我觉得最大的可能就是剪枝之后的通道数不是2的次方数 |
我试过用2个卷积堆叠,参数少的占得显存确实少,即便不是2的倍数,不知道这什么鬼
…------------------ 原始邮件 ------------------
发件人: "notifications"<[email protected]>;
发送时间: 2020年12月25日(星期五) 下午4:31
收件人: "BADBADBADBOY/pse-lite.pytorch"<[email protected]>;
抄送: "snake"<[email protected]>; "Comment"<[email protected]>;
主题: Re: [BADBADBADBOY/pse-lite.pytorch] inference_prune.py比inference.py显存多 (#2)
我觉得最大的可能就是剪枝之后的通道数不是2的次方数
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or unsubscribe.
|
关于这个问题大哥你后面有想到好的解决办法了吗 |
inference_prune.py比inference.py显存多?多出400多M,这是为啥呢?
The text was updated successfully, but these errors were encountered: