--------------------------------------------------------------------------------
权值可视化
对训练后的网络权值进行可视化可以判断模型的优劣及是否欠(过)拟合。经过良好训练的网络权值通常表现为美观,光滑;反之则表现为噪声图像,或者图案相关性太高(很规则的点和条纹),或者缺乏结构性,或有较多‘死’区域。
zz@zz-Inspiron-5520:~$ cd caffe
zz@zz-Inspiron-5520:~/caffe$ cd python
zz@zz-Inspiron-5520:~/caffe/python$ ls
caffe CMakeLists.txt detect.py lenet_iter_10000.caffemodel mnist_deploy.prototxt requirements.txt test_extract_weights.py~
classify.py conv2.jpg draw_net.py lenet_train_test.prototxt mnist.jpg test_extract_weights.py
zz@zz-Inspiron-5520:~/caffe/python$ python test_extract_weights.py
结果:[('conv1', (20, 1, 5, 5)), ('conv2', (50, 20, 5, 5)), ('ip1', (500, 800)), ('ip2', (10, 500))]
20个 5*5 convolution kernel,以1维作为输入.
50个 5*5 convolution kernel,以20维作为输入.
------------------------------------------------------------------------------
特征可视化
zz@zz-Inspiron-5520:~$ cd caffe
zz@zz-Inspiron-5520:~/caffe$ cd python
zz@zz-Inspiron-5520:~/caffe/python$ python test_extract_data.py
------------------------------------------------------------------------------
网络模型可视化
方法1:用代码:caffe / python / draw_net.py
//进入caffe / python 才可以执行其中的python脚本
zz@zz-Inspiron-5520:~$ cd caffe
zz@zz-Inspiron-5520:~/caffe$ cd python
zz@zz-Inspiron-5520:~/caffe/python$ ls
caffe classify.py CMakeLists.txt detect.py draw_net.py requirements.txt
zz@zz-Inspiron-5520:~/caffe/python$ ./draw_net.py
usage: draw_net.py [-h] [--rankdir RANKDIR] [--phase PHASE]
input_net_proto_file output_image_file
draw_net.py: error: too few arguments //不用理会error
zz@zz-Inspiron-5520:~/caffe/python$ ./draw_net.py --rankdir TB ./lenet_train_test.prototxt mnist.jpg
Drawing net to mnist.jpg
//TB=top to bottom;网络模型:lenet_train_test.prototxt;保存到mnist.jpg
20个 5*5 convolution kernel,以1为步长滑动.
方法2.在线可视化工具 http://ethereon.github.io/netscope/#/editor
shift键+回车,就可以画图了。
把原来的删除,把网络模型:lenet_train_test.prototxt代码复制过去
-----------------------------------------------------------------------------
可视化accuracy / loss曲线
step1:把这个文件copy到caffe/python,改名字为:plot_training_log.py
step2:save training phase 打印到屏幕的信息
$ sh train_lenet.sh >& 1.log