Torch7学习笔记[2] ---神经网络的主体框架

原创 2016年08月30日 22:06:44

参考资料:
https://github.com/soumith/cvpr2015/blob/master/Deep%20Learning%20with%20Torch.ipynb
将整个框架分为以下几个模块:
1、options设置
2、train、test预处理以及读取
3、net结构以及criterion建立
4、train设置
5、test设置
6、保存中间结果以及断点开始(待完善)
y以上每个功能模块单独由一个文件完成,整个结构分为7个文件
main.lua
opt.lua
dataloder.lua
model.lua
train.lua
test.lua
checkpont.lua(待完善)

require 'torch'
require 'nn'
require 'optim'

local DataLoder = require 'dataloder'  --load the dataloder.lua
local opts = require 'opt'
local Model = require 'model'
local Test = require 'test'
local checkpoints = require 'checkpoint'
local Trainer = require 'train'

torch.setdefaulttensortype = ('torch.FloatTensor')  --
torch.setnumthreads(1)
torch.manualSeed(opt.manualSeed)
cutorch.manualSeedAll(opt.manualSeed)

local opt = opts.parse(arg)  --load the options
local trainset,testset = DataLoder.creat(opt) --load the dataset

local model,criterion = Model.setup(opt) --load the model,criterion
if(opt.type == 'cuda')   then  --turn on gpu:model-criterion-data-label
    model = model:cuda() 
    criterion = criterion:cuda()
    trainset.data = trainset.data:cuda()
    trainset.label = trainset.label:cuda()
    testset.data = testset.data:cuda()
    testset.label = testset.label:cuda()
end

function trainset:size() --prepare for training 
    return self.data:size(1) 
end
local trainer = Trainer(model,criterion,opt)

bestModel = false
for epoch = 1,opt.max_epoch do
    local current_error = trainer:train(epoch,trainset)
    --save the current station
    --checkpoints.save(epoch, model, trainer.optimState, bestModel, opt)
end

local correct_rate = Test.run(opt,testset,model)
print(correct_rate)

运行程序时,直接在文件所在目录终端执行:th main.lua 即可运行程序。若需改变options,例如gpu运行:th main.lua –type cuda

版权声明:本文为博主原创文章,未经博主允许不得转载。

Caffe: MNIST 数据集格式转换、用 python 读写 LMDB 数据库

Preface这两天概览了一下卜居(赵永科)的《深度学习 21天实战caffe》,进入深度学习挺长时间的了。文章也看了不少,Caffe、Theano、Torch 也都用过。其实个人认为,这本书对于已经...

图像缩放——双线性插值算法

在数学上,双线性插值是有两个变量的插值函数的线性插值扩展,其核心思想是在两个方向分别进行一次线性插值。如果选择一个坐标系统使得  的四个已知点坐标分别为 (0, 0)、(0, 1)、(1, 0) 和...

Neural style之torch学习笔记4:学习神经网络包的用法(2)

转自:http://blog.csdn.net/hungryof/article/details/52027049 总说 上篇博客已经初步介绍了Module类。这里将更加仔细的介绍。并且还将介绍C...

Torch7学习(四)——学习神经网络包的用法(2)

总说上篇博客已经初步介绍了Module类。这里将更加仔细的介绍。并且还将介绍Container, Transfer Functions Layers和 Simple Layers模块。Module主要...

深度学习笔记(五)用Torch实现RNN来制作一个神经网络计时器

转自:http://www.aichengxu.com/view/2464035 本节代码地址 https://github.com/vic-w/torch-practice/tree/mas...

Torch7学习(三)——学习神经网络包的用法(1)

torch7框架之神经网络训练

Torch7学习(六)——学习神经网络包的用法(4)——利用optim进行训练

总说这篇博客是本系列的最后一篇,着重讲如何利用optim包进行自动挡训练。-- standard training code -- Here let's train XOR net.require '...

[机器学习笔记]Note7--神经网络:学习

继续是机器学习课程的笔记,这节课会继续介绍神经网络的内容,上一节主要是基本的介绍,以及模型表示,而本节会介绍代价函数,反向传播算法等...
  • lc013
  • lc013
  • 2016年07月01日 19:24
  • 798

TensorFlow学习笔记(7)--实现卷积神经网络(同(5),不同的程序风格)

实现卷积神经网络,MNIST数据集
  • lwplwf
  • lwplwf
  • 2017年03月15日 20:27
  • 18159

python数据分析与挖掘学习笔记(7)-交通路标自动识别实战与神经网络算法

这一节主要涉及神经网络算法,由此展开交通路标自动识别的应用。 交通路标的自动识别其实就是一个分类问题。对于分类问题,我们有很多的方法来实现,比如KNN,贝叶斯等。关键点在于图片转文本。本节采用人工神经...
  • Ying_Xu
  • Ying_Xu
  • 2017年02月10日 15:58
  • 1192
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Torch7学习笔记[2] ---神经网络的主体框架
举报原因:
原因补充:

(最多只允许输入30个字)