plot accuracy + loss

详情可见:http://www.2cto.com/kf/201612/575739.html

1. caffe保存训练输出到log 并绘制accuracy loss曲线:

之前已经编译了matcaffe 和 pycaffe,caffe中其实已经自带了这样的小工具。caffe-master/tools/extra/parse_log.sh caffe-master/tools/extra/extract_seconds.py和 caffe-master/tools/extra/plot_training_log.py.example;拷贝以上文件到当前工作目录下:

2.  保存输出到log文件,更改脚本文件 train_caffenet.sh;在exampless/test 目录下就会有一个log开头的文件

#!/usr/bin/env sh
TOOLS=./build/tools
LOG=examples/cifar10/log_results/log-'data +%Y-%m-%d-%H-%S'.log
$TOOLS/caffe train \
--solver=examples/cifar10/cifar10_quick_solver.prototxt -gpu all 2>&1 | tee $LOG
 
3. 解析log中的内容 分成train 和 test 会在当前文件夹下生成log-data.train 和 log-data.test两个文件
$ ./parse_log.sh log-data 
 
4. 更改log-data的名字为log-data.log;备注:必须是.log后缀才能解析
$ mv log-data log-data.log
 
5. 调用py程序绘制图形
$ ./plot_training_log.py.example 0 save.png log-data.log
 

其中0代表曲线类型, save.png 代表保存的图片名称 caffe中支持很多种曲线绘制,通过指定不同的类型参数即可,具体参数如下

Notes: 1. Supporting multiple logs.

2. Log file name must end with the lower-cased ".log".

Supported chart types: 0: Test accuracy vs. Iters

1: Test accuracy vs. Seconds

2: Test loss vs. Iters

3: Test loss vs. Seconds

4: Train learning rate vs. Iters

5: Train learning rate vs. Seconds

6: Train loss vs. Iters

画出网络结构图

 1.  先安装graphviz否则会出现类似:"dot" not found in path 的问题

  安装graphviz不要用pip install安装,否则还是会找不到可执行程序

  安装:$ sudo apt-get insall graphviz

  然后安装pydot:$ pip install pydot

  其中pyparsing会自动安装

2.  进入 caff-root/python中,输入即可

$ python draw_net.py --rankdir TB ../examples/cifar10/cifar10_quick_train_test.prototxt ../examples/cifar10/log_results/net.jpg

 
 
 

caffe 中 plot accuracy和loss, 并画出网络结构图的更多相关文章

  1. caffe中的Accuracy+softmaxWithLoss

    转:http://blog.csdn.net/tina_ttl/article/details/51556984 今天才偶然发现,caffe在计算Accuravy时,利用的是最后一个全链接层的输出(不 ...

  2. Android中利用画图类和线程画出闪烁的心形

                                                        本文讲解主要涉及的知识点: 1.线程控制 2.画图类 3.心形函数 大家先看图片: <ig ...

  3. caffe中的错误与解决问题:

    1.在使用draw_net.py的时候,提示如下错误: AttributeError: 'google.protobuf.pyext._message.RepeatedScalarConta' obj ...

  4. caffe中python接口的使用

    下面是基于我自己的接口,我是用来分类一维数据的,可能不具通用性: (前提,你已经编译了caffe的python的接口) 添加 caffe塻块的搜索路径,当我们import caffe时,可以找到. 对 ...

  5. CAFFE中训练与使用阶段网络设计的不同

    神经网络中,我们通过最小化神经网络来训练网络,所以在训练时最后一层是损失函数层(LOSS), 在测试时我们通过准确率来评价该网络的优劣,因此最后一层是准确率层(ACCURACY). 但是当我们真正要使 ...

  6. caffe中各层的作用:

    关于caffe中的solver: cafffe中的sover的方法都有: Stochastic Gradient Descent (type: "SGD"), AdaDelta ( ...

  7. Caffe 根据log信息画出loss,accuracy曲线

    在执行训练的过程中,若指定了生成log信息,log信息包含初始化,网络结构初始化和训练过程随着迭代数的loss信息. 注意生成的log文件可能没有.log后缀,那么自己加上.log后缀.如我的log信 ...

  8. Caffe学习系列(19): 绘制loss和accuracy曲线

    如同前几篇的可视化,这里采用的也是jupyter notebook来进行曲线绘制. // In [1]: #加载必要的库 import numpy as np import matplotlib.py ...

  9. caffe绘制训练过程的loss和accuracy曲线

    转自:http://blog.csdn.net/u013078356/article/details/51154847 在caffe的训练过程中,大家难免想图形化自己的训练数据,以便更好的展示结果.如 ...

随机推荐

  1. bzoj千题计划154:bzoj3343: 教主的魔法

    http://www.lydsy.com/JudgeOnline/problem.php?id=3343 high记录原始身高 HIGH记录每块排序之后的身高 不满一块的直接对high操作,重排之后再 ...

  2. JHipster项目启动后默认的8080主页是空白页面?

    1.背景 根据官网一步步地生成项目,他喵的启动后居然是一个空白页面,这怎么玩啊?还有这种操作的吗?跟说好的不一样啊!关于JHipster资料,国内少的可怜,几乎都是同一样的东西,纯介绍的文章,只好上s ...

  3. 点击搜索条件提交form表单

    思路:点击搜索,javascript跳转提交方法,提交整个表单. //组员下拉框选择分组事件 $('#s-member').change(function(){ $('#logForm').submi ...

  4. Oracle错误: ORA-01722 无效数字

    ORA-01722: 无效数字 主要原因是: 1.对于两个类型不匹配(一个数字类型,一个非数字类型,同下)的值进行赋值操作; 2.两个类型不匹配的值进行比较操作(例如,"="); ...

  5. JS获取元素内容属性以及修改

    1.通过document对象

  6. python实现单单链表

    # -*- coding: utf-8 -*- # @Time : 2018/9/28 22:09 # @Author : cxa # @File : node.py # @Software: PyC ...

  7. [Android Studio] Android Studio如何快速生成get,set,tostring,构造函数

    刚开始使用Android Studio时,在创建一个javabean时,很习惯的在JavaBean类中,右键去找生成get,set等选项.但是很遗憾,找不到. 那这边如何快速的set,get或者生成构 ...

  8. Codeforces 859E Desk Disorder 并查集找环,乘法原理

    题目链接:http://codeforces.com/contest/859/problem/E 题意:有N个人.2N个座位.现在告诉你这N个人它们现在的座位.以及它们想去的座位.每个人可以去它们想去 ...

  9. 数据结构之 栈 (Python 版)

    数据结构之 栈 (Python 版) -- 利用线性表实现栈 栈的特性: 后进先出 基于顺序表实现栈 class SStack(): ''' 基于顺序表 实现的 栈类 ''' def __init__ ...

  10. Mac ssh

    mac的终端默认在打开一个新的tab/window的时候需要重新输入ssh的密码, 很不方便.本文完成在mac中设置,实现secureCRT/xshell里的克隆会话功能, 即新开一个terminal ...