Training LeNet on MNIST with Caffe|保存log绘制accuracy loss曲线

2024-02-13 08:18

本文主要是介绍Training LeNet on MNIST with Caffe|保存log绘制accuracy loss曲线,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1、准备数据:下载mnist数据

cd $CAFFE_ROOT
./data/mnist/get_mnist.sh

2、将格式转为lmdb格式

./examples/mnist/create_mnist.sh
lmdb数据在examples/mnist路径下


3、分类模型:LeNet

模型结构:$CAFFE_ROOT/examples/mnist/lenet_train_test.prototxt.


4、定义solver文件:$CAFFE_ROOT/examples/mnist/lenet_solver.prototxt:

solver_mode: CPU

里面有很多重要参数(后续再好好看看写写)


5、开始训练

cd $CAFFE_ROOT
./examples/mnist/train_lenet.sh

原本的没有保存log,可以新建一个log文件夹,log可以用于后续训练过程的画accuracy,loss变化曲线等图。

在train_lenet.sh中添加:

LOG=./log/train-`date +%Y-%m-%d-%H-%M-%S`.log


sh之后变为:

#!/usr/bin/env sh
set -e

LOG=./log/train-`date +%Y-%m-%d-%H-%M-%S`.log
./build/tools/caffe train --solver=examples/mnist/lenet_solver.prototxt  2>&1 | tee $LOG $@

tee :将输出内容 重定向到日志文件中,同时在终端打印输出

2>&1 是将标准出错重定向到标准输出,这里的标准输出已经重定向到了out.file文件,即将标准出错也输出到out.file文件中。最后一个&, 是让该命令在后台执行


这里可以参考:http://blog.csdn.net/liuweizj12/article/details/64920428

1、先解析生成的.log文件,分成train和 test会在当前文件夹下生成log-data.train和 log-data.test两个文件

 tools/extra

    ./parse_log.sh  log-???.log


2、调用py程序绘制图形

tools/extra

./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     7: Train loss  vs. Seconds


例如:

  1. ./plot_training_log.py.example 0 save.png /home/lw/caffe/examples/testCreateLmDB/log/log-2017-03-22-10-33-20.log  



这篇关于Training LeNet on MNIST with Caffe|保存log绘制accuracy loss曲线的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/704990

相关文章

golang 日志log与logrus示例详解

《golang日志log与logrus示例详解》log是Go语言标准库中一个简单的日志库,本文给大家介绍golang日志log与logrus示例详解,感兴趣的朋友一起看看吧... 目录一、Go 标准库 log 详解1. 功能特点2. 常用函数3. 示例代码4. 优势和局限二、第三方库 logrus 详解1.

使用C++将处理后的信号保存为PNG和TIFF格式

《使用C++将处理后的信号保存为PNG和TIFF格式》在信号处理领域,我们常常需要将处理结果以图像的形式保存下来,方便后续分析和展示,C++提供了多种库来处理图像数据,本文将介绍如何使用stb_ima... 目录1. PNG格式保存使用stb_imagephp_write库1.1 安装和包含库1.2 代码解

vscode保存代码时自动eslint格式化图文教程

《vscode保存代码时自动eslint格式化图文教程》:本文主要介绍vscode保存代码时自动eslint格式化的相关资料,包括打开设置文件并复制特定内容,文中通过代码介绍的非常详细,需要的朋友... 目录1、点击设置2、选择远程--->点击右上角打开设置3、会弹出settings.json文件,将以下内

使用Python绘制蛇年春节祝福艺术图

《使用Python绘制蛇年春节祝福艺术图》:本文主要介绍如何使用Python的Matplotlib库绘制一幅富有创意的“蛇年有福”艺术图,这幅图结合了数字,蛇形,花朵等装饰,需要的可以参考下... 目录1. 绘图的基本概念2. 准备工作3. 实现代码解析3.1 设置绘图画布3.2 绘制数字“2025”3.3

使用Python绘制可爱的招财猫

《使用Python绘制可爱的招财猫》招财猫,也被称为“幸运猫”,是一种象征财富和好运的吉祥物,经常出现在亚洲文化的商店、餐厅和家庭中,今天,我将带你用Python和matplotlib库从零开始绘制一... 目录1. 为什么选择用 python 绘制?2. 绘图的基本概念3. 实现代码解析3.1 设置绘图画

Python绘制土地利用和土地覆盖类型图示例详解

《Python绘制土地利用和土地覆盖类型图示例详解》本文介绍了如何使用Python绘制土地利用和土地覆盖类型图,并提供了详细的代码示例,通过安装所需的库,准备地理数据,使用geopandas和matp... 目录一、所需库的安装二、数据准备三、绘制土地利用和土地覆盖类型图四、代码解释五、其他可视化形式1.

如何用Python绘制简易动态圣诞树

《如何用Python绘制简易动态圣诞树》这篇文章主要给大家介绍了关于如何用Python绘制简易动态圣诞树,文中讲解了如何通过编写代码来实现特定的效果,包括代码的编写技巧和效果的展示,需要的朋友可以参考... 目录代码:效果:总结 代码:import randomimport timefrom math

使用@Slf4j注解,log.info()无法使用问题

《使用@Slf4j注解,log.info()无法使用问题》在使用Lombok的@Slf4j注解打印日志时遇到问题,通过降低Lombok版本(从1.18.x降至1.16.10)解决了问题... 目录@Slf4androidj注解,log.info()无法使用问题最后解决总结@Slf4j注解,log.info(

内核启动时减少log的方式

内核引导选项 内核引导选项大体上可以分为两类:一类与设备无关、另一类与设备有关。与设备有关的引导选项多如牛毛,需要你自己阅读内核中的相应驱动程序源码以获取其能够接受的引导选项。比如,如果你想知道可以向 AHA1542 SCSI 驱动程序传递哪些引导选项,那么就查看 drivers/scsi/aha1542.c 文件,一般在前面 100 行注释里就可以找到所接受的引导选项说明。大多数选项是通过"_

【WebGPU Unleashed】1.1 绘制三角形

一部2024新的WebGPU教程,作者Shi Yan。内容很好,翻译过来与大家共享,内容上会有改动,加上自己的理解。更多精彩内容尽在 dt.sim3d.cn ,关注公众号【sky的数孪技术】,技术交流、源码下载请添加微信号:digital_twin123 在 3D 渲染领域,三角形是最基本的绘制元素。在这里,我们将学习如何绘制单个三角形。接下来我们将制作一个简单的着色器来定义三角形内的像素