写在前面的话:一些零零碎碎的小事情。 做CV,逃不掉要接触机器学习,我现在才入手其实很晚了,但是相信我能很快进入这个领域的,之前一直沉迷opencv,出到opencv4.0,已经正式融合TF了。这是一个非常有趣的事。
这本书前面写的很好,但是后面例子都是基于MXNet和Caffe的,且不说Caffe2已经融合进了Pytorch(记得是),那个配环境各种依赖库真实劝退。所以我只看了前面一半。 这本书已经出来第二版,还有几本和它长的像的叫《深度学习原理Tensorflow实践》,这本书写的不如上面列的这个,感觉后者像是蹭热度。郑泽宇这本内容不错。 这本魏秀参的书讲了很多精华内容,但是不适合从0开始,需要有些数学功底和对深度学习或神经网络有些了解。而且不是一本基于某框架的书,只有理论。
ubuntu16.04,cuda,cudnn,py 一定要注意TF和他们之间的版本对应关系!还有显卡支持计算能力到几,这个在核弹厂官网能查到。我笔记本870显卡开普勒架构3.0的计算能在这里插入图片描力不能用TF1.12.0难受的亚皮。只能用1.10.0试试。 配置环境推荐anaconda虚拟环境,不要在实体Terminal里面装,因为后面会不断出事,虚拟环境克隆调整比较方便。
Internal: cudaGetDevice() failed. Status: CUDA driver version is insufficien 很奇怪我用的CUDA和CUDNN如下: 讲道理是支持TF1.10.0的,结果在虚拟环境下面装了还是不行。找不到CUDA设备。所以在环境配置的GUI界面选了别的CUDATOOLKIT版本试试依旧不行。解决办法:删除全部TF的包。我用的:pip uninstall tensor*不能用替代字符,我是一个个删的。然后:pip install tensorflow-gpu==1.10.0,这样装完就能用了。 为什么这个: 这个不好用还不知道是什么原因。但是pip是一直好用的。
首先确定自己装了中文输入法,我用的搜狗,fcitx的方式。 然后参照下面这篇文章 不能输入中文 我做完后,base可用,自定义虚拟环境仍旧不可用。但是,删除虚拟环境时候显示: 看到,虚拟环境的路径是在用户文件夹的.conda的隐藏文件夹的,所以要把上面那篇文章提到的.so文件复制到对应的文件夹中。不熟悉纯命令行的同学可以先用cd进入上面的隐藏文件夹然后用 ”nautilus .“ 命令打开图像界面。或者在资源管理器按住ctrl+h也可以显示出隐藏文件。 然后:
找到文件/usr/lib/x86_64-linux-gnu/qt5/plugins/platforminputcontexts/libfcitxplatforminputcontextplugin.so 在anaconda3下搜索platforminputcontexts目录,结果会出现好几个platforminputcontexts 正确的应该是anaconda3/lib/python3.6/site-packages/PyQt5/Qt/plugins/platforminputcontexts 这个目录,向里面复制上面的文件,重启spyder即可。
(其实这是很有限的方法,并不如直接加硬件来的实际) 最近测试PSMNet网络,在SceneFlow数据集上,作者使用4路Titan Xp12G 显存,12的BatchSize,单卡一次3组数据。我只有1080Ti11GB,单卡3组Out of Mem。使用nvidia-smi查看后,发现batchsize是2时候能用,占用显存约7G,讲道理单卡是具备batchsize3的能力的,图形界面消耗约400-500M显存,所以决定纯命令行,
开启黑窗口: ctrl alt F1 执行: sudo service lightdm stop 停止图形界面; 执行 nvidia-smi 看到显存占用0MB 执行: conda info --env 查看当前有哪些虚拟环境; 执行: conda activate *** 激活对应环境,bash前面会有标注关闭图形界面后,机器运行期间我关闭了显示器。 第二天,当我打开显示器,没有信号输入,观察机器运行状态仍然是满功率运行。使用putty远程登录,机器一切照常,就是没有显示器输出,插显卡DP口插主板HDMI口都没用。 解决办法:就算显示器没输出,又不是不能用,ssh登录也可还行,启动图形界面:sudo service lighdm start ,我可没这个勇气,显存会爆。等跑完15个epoch(官方给的例子是10个epoch,我想多试试看看区别),我就putty启动图形界面试试(肯定要启动新一轮train,保证自己显存紧张情况下启动图形界面)。等更。 更新:训练过程中显存几乎占满情况下,启动图形界面居然没有问题,就是有点卡,而且上面的那个显示器无信号问题也没了。(开图形界面情况下开启训练却可能爆显存)
ResNet, AlexNet, VGG, Inception: 理解各种各样的CNN架构 英文帖原文1 英文帖原文2
附一下截图的链接
CSDN链接原文 后来实验发现,LRN层似乎没什么用-_-
