tensorpack——Dorefa样例

最近在学习量化,想先复现一下Dorefa,官网确实有源代码,貌似挺简单,但当我真正去跑的时候,“坑之大,不知其几千里也!”,特来记录一番。

tensorpack需要的环境:

  • Python 3.3+.
  • Python bindings for OpenCV. (这是大坑)
  • TensorFlow ≥ 1.5, < 2

首先想到的是在服务器上跑,但服务器是docker镜像,而且全是tf2.0以上,为止奈何?

先在自己window下跑通简单的样例吧,之后再想办法

一、失败尝试v1

windows里刚好装了anaconda,可以比较方便配置环境,于是便装了python3.6(3.7以上的版本跑不了tenflow1.x)和Tensorflow 1.8。本想再装个jupyter好调试,结果python3.6对应的jupyter是5.0版本,不是6.0版本,装好后总是连接不上。最后幸好可以在命令行跑,每次跑的过程会说缺乏依赖,我最开始憨憨地下载“tensorpack”的github,然后在目录下运行样例,结果好多模块加载路径错误,其实直接可以pip安装tensorpack的包:

conda create -n tf1.8 python=3.6
conda activate  tf1.8
// 我电脑没有GPU
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple tensorflow==1.8.0 

pip install tensorpack //直接安装就行
pip install scipy  // 必要计算库
pip install opencv-python //图像预处理的包

再python 运行dorefa的代码,确实下载了数据集,最后卡在了
AssertionError: ZMQ IPC doesn't support windows!
也就是window不支持ZMQ本地进程间通信传输协议!
还是要用linux!

二、失败尝试v2

刚好也有ubuntu的虚拟机,装anaconda,配置环境试试。anaconda清华镜像,下载很快配置好环境之后,确实运行成功,开始训练,但是悲剧又来了!内存不够,权重加载不了!还是得用服务器啊!

三、成功跑通,仍有大坑

虽然服务器的镜像都是tf2.0以上,但进入镜像后是root权限,可以随意安装软件,因此毫不犹豫装了anaconda,并且配置环境,先和v2一致,看看能否跑通,奇怪的是,一直出现这个错误:
module 'tensorpack.dataflow.imgaug' has no attribute 'Resize'
明明装了opencv-python,为什么老是这样,虚拟机了都可以跑通!于是我做了简单的测试,在python里import cv2,发现报错:ImportError: libGL.so.1: cannot open shared object file: No such file or directory
原来是docker容器缺少依赖,需要安装一个包!!!

apt update
apt install libgl1-mesa-glx

这真是个大坑!这要跑通还真不简单,一路那么多坑!最后罗列需要的命令:

tensorflow 的版本对应python和cuda
conda更换源
pip更换源

conda create -n tf1.14 python=3.6
conda activate  tf1.14
//服务器有GPU,可以登陆网站看有哪些版本的tensorflow
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple tensorflow==1.14.0 

pip install tensorpack //直接安装就行
pip install scipy  // 必要计算库
pip install opencv-python //图像预处理的包

最后终于跑起来了!

image.png
原文

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值