熬了两周的夜,终于用一张P106矿渣跑通了第一个vgg,我踩过的这些坑也能为其他学友们提供一些帮助吧,下面就简单记录一下。
1)一直用的是thinkpad E570 GTX做的深度学习,因为只有2G显存,很多较大的模型都报OOM,只能跑一些vgg之类的小模型还行。
2)听说笔记本可以外接显卡,赶紧去查了查,结果价钱把我吓了一跳,雷电3接口的外接显卡动辄5000以上,光一个外接显卡坞就用2000-3000,真是无法接受。
3)淘宝查啊查,终于查到一个便宜点的东东:用VNME/M2/NGFF接口可以外接显卡,于是赶紧下单买了一张卡,又淘显卡,GTX1060-6G要1400左右,后来一个朋友介绍说可以用P106矿渣,才400块,于是入手一块。又买了一个大电源,开始我的外接准备。但事实证明,外接P106是不可行的(可能我的能力不够,但我查遍了百度也没发现有外接P106成功的先例)。现象是驱动安装完后设备管理器里显示一个叹号,属性显示“该设备无法启动(代码10)系统资源不够,无法完成 API”
经过无数次尝试,包括修改驱动的inf把P106刷成GTX1060,都不行。厂家建议刷BIOS结果也没刷成功。最后只能放弃。
4)果断退货外接卡,入手一台台式,1500大洋的二手。i5/8G,把矿渣插好,安装驱动都很顺利,但因为操作系统是win7,cuda装成9.2了tensorflow1.12跑不通。最后把cuda降到9.0,tensorflow降到1.9,才终于跑通。
这里还有一个小插曲,激动万分的我直接建了一个tensorflow.py的小程序去执行了,没想到报错:AttributeError: module 'tensorflow' has no attribute 'constant',百度了一下,原来已经有人踩过这个坑了,程序名不能以tensorflow.py命名。赶紧改成tensorflowtest.py就可以了。
5)赶紧跑了一下我的程序,在GTX950M上45秒一个epoch,在这个矿渣上只要15秒!而且显存绰绰有余,可以跑一些大点的模型了!
好了赶紧去搞一个xception跑一下试试,xception在GTX950M上直接OOM的,在P106上应该可以跑了吧。