一个简洁、好用的Pytorch训练模板

代码地址:https://github.com/KinglittleQ/Pytorch-Template

怎么使用

1) 更改template.py

替换 __init__方法中的内容,增添自己的模型、优化器、评估器等等.

class Model():

    def __init__(self, args):
self.writer = tX.SummaryWriter(log_dir=None, comment='')
self.train_logger = None # not neccessary
self.eval_logger = None # not neccessary
self.args = args # not neccessary self.step = 0
self.epoch = 0
self.best_error = float('Inf') self.model = None
self.optimizer = None
self.criterion = None
self.metric = None self.train_loader = None
self.test_loader = None self.device = None self.ckpt_dir = None
self.log_per_step = None

2) 写部分训练代码

你所需要做的只是写一个简单的for循环:

model = Model()

for epoch in range(n_epochs):
model.train()
if (epoch + 1) % eval_per_epoch == 0:
model.eval() print('Done!!!')

3) 继续训练

继续训练十分方便,只需要加载之前保存好的模型。

model = Model()
if model_path:
model.load_state(model_path) for i in range(n_epochs):
model.train()
if model.epoch % eval_per_epoch == 0:
model.eval()

Example

  • LeNet: 训练一个LeNet对MNIST手写数字进行分类

    • 训练过程如下:

      ......
      epoch 1 step 3400 loss 0.0434
      epoch 1 step 3500 loss 0.0331
      epoch 1 step 3600 loss 0.00188
      epoch 1 step 3700 loss 0.00341
      save model at ../models\best.pth.tar
      save model at ../models\1.pth.tar
      epoch 1 error 0.0237
      epoch 2 step 3800 loss 0.0201
      epoch 2 step 3900 loss 0.00523
      epoch 2 step 4000 loss 0.0236
      ......
    • 使用tensorboard可视化输出:

      tensorboard --logdir example/LeNet/log



    • 继续训练

      load model from checkpoint/9.pth.tar
      epoch 10 step 33800 loss 0.000128
      epoch 10 step 33900 loss 6.64e-06
      epoch 10 step 34000 loss 0.000613
      epoch 10 step 34100 loss 2.41e-05
      ......

一个简洁、好用的Pytorch训练模板的更多相关文章

  1. 深度学习识别CIFAR10:pytorch训练LeNet、AlexNet、VGG19实现及比较(二)

    版权声明:本文为博主原创文章,欢迎转载,并请注明出处.联系方式:460356155@qq.com AlexNet在2012年ImageNet图像分类任务竞赛中获得冠军.网络结构如下图所示: 对CIFA ...

  2. 一个简洁的PHP可逆加密函数(分享)

    http://www.jb51.net/article/38018.htm 本篇文章是对一个简洁的PHP可逆加密函数进行了详细的分析介绍,需要的朋友参考下   很多时候我们需要对数据进行加密解密,比如 ...

  3. 一个简洁的小H车调运模型

    一个简洁的小H车调运模型 不久前, 帝都B城市到处都是小H车, 理想的小H车应该是布朗运动\均匀分布,可是现实上它们就是不均匀.于是有如下问题: 观察帝都 HD区SY村区域,将其划分成10个用车点,用 ...

  4. 深度学习识别CIFAR10:pytorch训练LeNet、AlexNet、VGG19实现及比较(三)

    版权声明:本文为博主原创文章,欢迎转载,并请注明出处.联系方式:460356155@qq.com VGGNet在2014年ImageNet图像分类任务竞赛中有出色的表现.网络结构如下图所示: 同样的, ...

  5. 一个简单的代码生成器(T4文本模板运用)

    说要写这篇文章有一段时间了,但因为最近各方面的压力导致心情十二分的不好,下班后往往都洗洗睡了.今天痛定思痛,终于把这件拖了很久的事做了.好,不废话了,现在看看"一个简单的代码生成器" ...

  6. 一个web应用的诞生(2)--使用模板

    经过了第一章的内容,已经可以做出一些简单的页面,首先用这种方式做一个登录页面,首先要创建一个login的路由方法: @app.route("/login",methods=[&qu ...

  7. 训练一个图像分类器demo in PyTorch【学习笔记】

    [学习源]Tutorials > Deep Learning with PyTorch: A 60 Minute Blitz > Training a Classifier   本文相当于 ...

  8. 【持续更新】一个简洁、易用的美赛LaTeX模板: easyMCM

    目录 1 当前美赛模板通行情况的概述 2 easymcm宏包说明 2.1 与mcmthesis的关系之说明 2.2 easymcm宏包的简介 2.3 美赛模板下载地址 3 常见问题的解决方案 若您无意 ...

  9. 【持续更新】一个简洁、易用的美赛 LaTeX 模板: easyMCM

    目录 1 当前美赛模板通行情况的概述 2 EasyMCM 宏包说明 2.1 与 mcmthesis 的关系之说明 2.2 easymcm宏包的简介 2.3 美赛模板下载地址 3 README 摘录 3 ...

随机推荐

  1. css hover dropdown

    html-------------------------- <div class="dropdown"> <span>鼠标移动到我这!</span& ...

  2. CA证书,https讲解

    关于具体连接过程,https://blog.csdn.net/wangjun5159/article/details/51510594 这篇博客写的应该比较准确. 我的理解,其中关键的一点是 http ...

  3. atom的初次尝试,activate-power-mode 插件和做gif

    编辑器是github 和sublime 的综合,作为一个经常逛github的人,还很喜欢sublime的开发,还有什么好不尝试的理由呢. 好吧,我承认,编辑器有很多,但是像它那样炫酷的很少,作为喜欢一 ...

  4. UML_03_类图

    一.前言 类图是UML结构图,在类和接口的层次上显示设计系统的结构,显示它们的特性.约束和关系等,是定义其它图的基础. 二.类图 如上图,在类图中表示方法如下: 斜体 :抽象类.抽象方法 下划线 :静 ...

  5. Sumlime text3 安装包、汉化包、注册码

    Sumlime text3 安装包.汉化包.注册码 http://files.cnblogs.com/files/panmy/%E5%9C%86%E8%A7%92.rar

  6. 《Effective C++》第3章 资源管理(2)-读书笔记

    章节回顾: <Effective C++>第1章 让自己习惯C++-读书笔记 <Effective C++>第2章 构造/析构/赋值运算(1)-读书笔记 <Effecti ...

  7. currentTarget,this,target区别

    currentTarget  : 事件处理程序当前正在处理事件的那个元素 this : 当前的事件发生的元素 target : 事件的目标 currentTarget和this值是始终相等的,但是ta ...

  8. Eclipse下搭建SWT与Swing图形界面开发环境

    一.SWT与Swing介绍 SWT(StandardWidget Toolkit)则是由Eclipse项目组织开发的一套完整的图形界面开发包,虽然当初仅仅是IBM为了编写Eclipse的IDE环境才编 ...

  9. spring boot 教程(一) 构建我的第一个Spring boot

    Spring Boot特点 1. 创建独立的Spring应用程序 2. 嵌入的Tomcat,无需部署WAR文件 3. 简化Maven配置 4. 自动配置Spring 5. 提供生产就绪型功能,如指标, ...

  10. 5天突击GRE(155+170+4.0)

    个人认为最靠谱GRE经验,没有之一 虽然分数并不高(V 155 + Q 170 + AW 4.0),但是自认为有很多很多可以拿来给短期突击同学的宝贵经验. 首先是自己的背景,交大英语教改实验班(交大同 ...