Day16 Caffe可视化方法
《21天实战Caffe》学习笔记第16天
数据可视化
把书上的matlab代码敲出来即可,对mnist手写数字数据集和cifar10图片数据集的数据做可视化。
模型可视化
网络结构可视化
安装依赖
用以下命令安装的python-devel,还是2.7版本的。(那我前面装python 3.7是白忙活了?)
1 | |
numpy和/caffe/python/requirements.txt清单里的包,均用pip3安装的。
安装时报错
1 | |
因为清单里要求python-dateutil的版本不能大于2,所以出现上述问题。但只是不兼容,而上述三个包都装上了,所以先这样。
编译
不知道为什么,要重新编译一次caffe。
1 | |
编译时报错。(我不记得之前编译有没有报错了)
改用
1 | |
编译通过。
编译pycaffe。
1 | |
报错,找不到numpy名下的头文件。
(通过pip安装numpy还是没法直接用)
yum里python-numpy叫numpy。
1 | |
之后pycaffe编译成功。
运行与画图
1 | |
不行,用python执行也不行,但报错信息不一样。
直接在命令行下调用python,测试
1 | |
无论是python3还是python,都不行,同样报错信息不一样。
(完蛋…)
检查报错
报错内容
用python3调用draw_net.py和控制台import caffe的报错都指向同一个问题,大概是“有冲突”?
用python调用上述两者似乎也是指向同一个问题,找不到xxx.io。
虽然caffe已经支持Python3,但从报错信息上看,似乎是用Python2更加靠谱一点。下面解决Pyhon2的报错。
缺失的包
报错提示的缺失文件指向一个Python包,那个包我已经安装了。安装的时候我使用pip3安装的,看到报错后又用pip装了一次,但似乎对那个包没什么改动,倒是依赖的限制版本的python-dateutil给强制升级了。
装完了仍是同样的报错。
在Github的issue上有人说需要将~/caffe/python添加至环境变量,但我添加后仍是同样的报错。
而在stackoverflow上甚至有人在python脚本里写了import ...,但仍有同样的报错。
所以结论应该很明显了,类似numpy,即使用pip给python装了相应的包,也要用yum再装一次?
但无论是...还是python-...都找不到那个包…
而且官方教程中也仅有Ubuntu下的安装命令…
换个思路
从编译文件入手
从caffe的编译文件makefile.config入手,看懂了makefile.config文件,发现在编译时忽略了对Python路径的依赖,而我又怕改路径改出乱子。所以根据makefile.config中的注释,将需要的文件复制到对应位置,使makefile.config的默认路径有效。
主要一点就是,默认路径指向usr/lib,而caffe编译所需的Pyhon相关文件,我这边是在usr/lib64里。
另外就Python包——site packages和dist packages的问题。
重新安装依赖
解决了前述路径问题,自然要重新编译一次,然后也搞明白了目前的pip和pip3命令都指向Python3(这也回答了https://yimino.github.io/2019/06/27/g-cmake-python/的疑问),所以在安装了Python2的pip后
1 | |
重新安装其他依赖包。
在前面有不同包之间相互依赖,导致版本冲突的问题,所以这次按照/caffe/python/requirements.txt的内容,重写了requirements.txt,把里面的>=改成==,能安装低版本就尽量安装低版本。
然后再编译caffe和pycaffe。
至此,import caffe终于正常了。
(虽然有个warning,但应该无伤大雅。)
再次画图
执行,
1 | |
报错。
1 | |
根据https://github.com/BVLC/caffe/issues/4911,需要安装graphviz包。
1 | |
至此,draw_net.py脚本得以正常运行,网络结构图get!
网络权值可视化
安装Matlab
虚拟机复制文件的缓存
首先解决一下主机与虚拟机之间复制文件的缓存问题。
从虚拟机向主机复制文件,缓存于Windows主机的C:\Users\"User Name"\AppData\Local\Temp\vmware-"User Name"\VMwareDnD中,直接删除即可。
从主机向虚拟机复制文件,缓存于Linux虚拟机的/root/.cache/vmware/drag_and_drop中,查看日期信息,
1 | |
查看文件大小,
1 | |
删除缓存。
1 | |
(但我由主机向虚拟机复制文件后,虚拟机所在磁盘的容量似乎减少了复制文件大小的两倍,在清除虚拟机缓存后也是如此…是我的错觉吗…)
安装过程
(看安装包里的教程即可)
挂载iso。
1 | |
若提示
1 | |
则
1 | |
挂载成功后,不要进入挂载目录,而是在随便的另外一个目录下执行安装命令。
1 | |
我这里提示了
1 | |
但似乎没发现什么问题。
然后即可进入图像安装界面,按提示操作即可。
学习曲线
这个先放一放,之前用matlab神经网络工具箱时看过类似的曲线,而且又没有进一步理解曲线的经验和知识。