
Torch
文章平均质量分 67
Alanyannick
Computer Vision, Machine learning, Artificial intelligence.
展开
-
torch/caffe等框架下解决内存无法garbage collection的问题
1.安装libjemalloc-dev 命令为 apt-get install libjemalloc-dev 然后在需要运行的环境中输入: (preload so operation)LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libjemalloc.so xxx eg. LD_PRELOAD=/usr/lib/x86_64-linux-gnu/原创 2016-08-04 13:45:41 · 1430 阅读 · 0 评论 -
torch入门笔记13:实现cnn图像分类
这一章主要分享预测的基本操作,并且先将前面分享的内容总结下,完整地实现CNN图像分类的实例require 'paths';require 'nn';---Load TrainSetpaths.filep("/home/ubuntu64/cifar10torchsmall.zip"); trainset = torch.load('cifar10-train.t7');test转载 2016-10-09 15:09:05 · 4625 阅读 · 2 评论 -
torch入门笔记14:Torch中optim的sgd(Stochastic gradient descent)方法的实现细节
Torch中optim的sgd(Stochastic gradient descent)方法的实现细节Overviewsgd的全称是Stochastic gradient descent,关于Stochastic gradient descent我们不在本文详述。 Stochastic gradient descent https://en.wikipedia.org/wi转载 2016-10-09 17:12:30 · 5767 阅读 · 1 评论 -
torch入门笔记11:如何训练神经网络
这一节先介绍一些基本操作,然后再对我们前面建立的网络进行训练神经网络的前向传播和反向传播 随即生产一张照片,1通道,32x32像素的。为了直观像是,导入image包,然后用itorch.image()方法显示生成的图片,就是随即的一些点。 用之前建立好的神经网络net调用forward()方法输入随即生成的图片得到输出的结果,如打印出来的形式,net最后是10个输原创 2016-10-09 15:00:39 · 3902 阅读 · 0 评论 -
torch入门笔记15:nn package详解
神经网络Package【目前还属于草稿版,等我整个学习玩以后会重新整理】模块Modulemodule定义了训练神经网络需要的所有基础方法,并且是可以序列化的抽象类。module有两种状态变量:output和gradInput [output] forward(input) 利用input对象计算其对应的output。通常input和o转载 2016-10-12 15:22:36 · 2250 阅读 · 0 评论 -
torch入门笔记16:Sequencialization序列化
1.序列化Torch提供4种高级方法来序列化或者反序列化任意Lua/Torch对象。这些方法都是从File对象抽象出来的,为了方便操作而创建。 前两种方法用来从文件序列化或者反序列化的:torch.save(filename,object [, format])[object] torch.load(filename [, format])转载 2016-10-12 15:25:37 · 1432 阅读 · 0 评论 -
torch入门笔记17:使用随机梯度下降训练神经网络StochasticGradient
使用随机梯度下降训练神经网络StochasticGradient是一个比较高层次的类,它接受两个参数,module和criterion,前者是模型结构,后者是损失函数的类型。这个类本身有一些参数:LearningRate: 这是学习率,不用多说LearningRateDecay: 学习率衰减,current_learning_rate =learningRate / (1转载 2016-10-12 15:27:24 · 1922 阅读 · 0 评论 -
torch入门笔记18: Torch 中的引用、深拷贝 以及 getParameters 获取参数的探讨
Preface这段时间一直在苦练 Torch,我是把 Torch 当作深度学习里面的 Matlab 来用了。但最近碰到个两个坑,把我坑的蛮惨。一个是关于 Torch 中赋值引用、深拷贝的问题,另一个是关于 getParameters() 获取参数引发的问题。所以这部分就不放在之前的博文 Code Zoo - Lua & Torch 中了,单独拎出来。第一转载 2016-11-02 18:28:50 · 2554 阅读 · 0 评论 -
torch入门笔记19:关于一些torch博客的索引
1.Torch 中的引用、深拷贝 以及 getParameters 获取参数的探讨http://blog.youkuaiyun.com/u010167269/article/details/520731362.Triplet Loss、Coupled Cluster Loss 探究http://blog.youkuaiyun.com/u010167269/article/details/5202737原创 2016-11-04 18:34:14 · 959 阅读 · 0 评论 -
torch入门笔记20:torch实现freeze layer的操作
这两天一直在尝试着在torch的框架内实现freeze layer,通过search google,从极少的文档中找到比较work的方法,故而总结在这。You can set the learning rate of certain layers to zero by overriding their updateParameters and accGradPa原创 2016-11-04 18:40:06 · 3938 阅读 · 0 评论 -
使用GraphViz画caffe/torch的网络结构图
caffe的Python接口中有一个很不错的功能:画网络结构图,虽然画得并不好看,但可以给人一种直观的感受。一、准备 首先caffe的python接口当然是必备的了,还没有生成python接口的同学可以参照我的上一篇博客来生成。 然后是需要安装protobuf的python接口,可以参照这篇博客进行安装,安装过程比较简单,就不赘述了。 安装GraphViz:http://转载 2016-10-19 15:14:16 · 3242 阅读 · 0 评论 -
torch入门笔记1:torch的使用
torch下的安装和使用:1.torch7的github https://github.com/torch/torch7 下安装。2.使用 luarocks install image 来安装package已经安装的可以使用 luarock list 来查看3.itorch的使用https:原创 2016-10-08 17:08:42 · 3435 阅读 · 0 评论 -
Torch/Lua学习资料汇总
reference: http://blog.youkuaiyun.com/jiejinquanil/article/details/49820471在学习Torch/Lua的过程中,积累了一些资料,现汇总如下,自己会随时补充,也欢迎大家补充!1、Torch Package Reference Manual,Torch帮助手册 网址:http://torch7.readthedocs.or原创 2016-10-09 14:31:34 · 726 阅读 · 0 评论 -
lua加载函数require和dofile
reference: https://www.cnblogs.com/yyxt/p/3870236.htmlLua提供高级的require函数来加载运行库。粗略的说require和dofile完成同样的功能但有两点不同:1. require会搜索目录加载文件;2. require会判断是否文件已经加载避免重复加载同一文件。由于上述特征,require在Lua中是加载转载 2016-12-28 14:28:17 · 1512 阅读 · 0 评论 -
torch入门笔记10:如何建立torch神经网络模型
这一章不涉及太多的神经网络的原理,重点是介绍如何使用Torch7神经网络 首先require(相当于c语言的include)nn包,该包是神经网络的依赖包,记得在语句最后加上“;”,这个跟matlab一样不加的话会打印出来数据。Torch可以让我们自己一层一层的设计自己的网络,像是容器一样可以一层一层地把你自己的Layer(神经网络的中的层)往里面添加。 首先,要构转载 2016-10-09 14:58:49 · 4260 阅读 · 1 评论 -
torch入门笔记12:数据的预处理
这一章用实例讲解在正式训练前需要对训练集的处理以及基本操作,请大家从头开始运行itorch 导入两个包,虽然这章没有涉及网络的建立,但是不导入nn这个包的话,数据的读入会出错,具体我也不太清楚,这个是google出来的,我刚开没有导入nn包,导致文件一直无法读取。 参数为文件的绝对路径,文件的下载我放到了这里(需要2个积分下载,请大家支持下,如果实在没有积分的话,给我发私转载 2016-10-09 15:06:22 · 1888 阅读 · 3 评论 -
torch入门笔记9:function
函数的使用 这是函数的定义方式,声明的关键字+定义的函数名+形参的名字,在此博主返回两个值,具体的函数功能在后面再说 这是初始化一个5x2的矩阵,并且初值都为1。这里有多了一种初始化矩阵的方法。 这是先声明一个2x5的矩阵,然后再调用fill()方法其值全部初始化为4。 将a,b矩阵输入到addTensors函数里面,注意这里是实参,前面定义的a,b是形参,转载 2016-10-09 14:56:08 · 1039 阅读 · 0 评论 -
TorchIDE-ZeroBrand颜色配置
1.在调试torch7时,在interpreter上要记得选择torch7.lua的解释器。2.在适用zerobrand时,可通过修改user.lua文件来配置zerobrand的代码风格,debug模式下可调试,以及注意要在目录下呼叫zbstudio启动,才可保证不会找不到torch.lua的情况。配置文件如下:--[[-- Use this file to specify *原创 2016-08-19 11:27:24 · 1162 阅读 · 0 评论 -
Neural style之torch学习笔记1:Tensor
ref:http://blog.youkuaiyun.com/Hungryof/article/details/51802829第一篇博客是从torch7提取出来最常用的知识。 主要讲Tensor的用法及其一些函数。 先说一嘴:torch中一般有这个东西,就是y = torch.func(x,…)等价于y = x:func(…)就是说如果用”torch”,那么“src”是第一个参数。否转载 2016-08-19 11:02:00 · 1271 阅读 · 0 评论 -
Neural style之torch学习笔记2: Torch与Matlab的语法对比
转自:http://blog.youkuaiyun.com/hungryof/article/details/52015006总说Matlab不用说了,对于矩阵处理能力很强。一般做研究的用的语言大部分还是matlab。深度学习的基于matlab的框架的matconvnet还是很不错的。当然也有C++(比如caffe,TensorFlow等框架),也有用Python(比如trainer,caff转载 2016-09-01 17:19:01 · 1352 阅读 · 0 评论 -
Neural style之torch学习笔记4:学习神经网络包的用法(2)
转自:http://blog.youkuaiyun.com/hungryof/article/details/52027049总说上篇博客已经初步介绍了Module类。这里将更加仔细的介绍。并且还将介绍Container, Transfer Functions Layers和 Simple Layers模块。Module主要有4个函数。 1. [output]forward转载 2016-09-01 17:16:25 · 1087 阅读 · 0 评论 -
Neural style之torch学习笔记3:神经网络包的用法(1)
总说torch7框架学习首先还是应该先看最基本的torch包中有什么。在我的前2篇博客torch7学习(一) 和torch7学习(二) 已经较为详细讲了。接下来要看的是神经网络包nn中的内容。可以说,当学习了神经网络包中的内容后,则能看懂给予torch框架的论文代码了,并且已经具备一定的用该框架书写神经网络的能力。目的看完这篇博客后,应该能进行最简单的自动训练方式。(⊙o⊙转载 2016-09-01 17:21:45 · 737 阅读 · 0 评论 -
torch学习系列笔记参考
torch7学习(一)——Tensor Torch7学习(二) —— Torch与Matlab的语法对比 Torch7学习(三)——学习神经网络包的用法(1) Torch7学习(四)——学习神经网络包的用法(2) Torch7学习(五)——学习神经网路包的用法(3) Torch7学习(六)——学习神经网络包的用法(4)——利用optim进行训练 Torch7学习(七)——从原创 2016-09-01 17:23:54 · 808 阅读 · 0 评论 -
torch入门笔记3:用torch实现多层感知器
转自:http://www.aichengxu.com/view/2464033代码地址:https://github.com/vic-w/torch-practice/tree/master/multilayer-perceptron上一次我们使用了输出节点和输入节点直接相连的网络。网络里只有两个可变参数。这种网络只能表示一条直线,不能适应复杂的曲线。我们将把它改造为一个多层网络转载 2016-10-08 17:18:07 · 866 阅读 · 0 评论 -
torch入门笔记4:用torch实现MNIST手写数字识别
本节代码地址:https://github.com/vic-w/torch-practice/tree/master/mnistMNIST是手写数字识别的数据库。在深度学习流行的今天,MNIST数据库已经被大家玩坏了。但是用它来学习卷积神经网络是再好不过的了。这一次,我们就用Torch来实现MNIST数据库的识别。这一次的代码用到了mnist库,如果之前没有安装,可以在命令转载 2016-10-09 10:07:08 · 1405 阅读 · 0 评论 -
torch入门笔记2:用torch实现线性回归
代码地址: https://github.com/vic-w/torch-practice/tree/master/linear-reg神经网络是由很多逻辑回归的节点级联组成的。而所谓逻辑回归,就是一个线性变换连接一个Sigmoid函数。所以说线性回归是神经网络最基本的组成单元。这里先介绍一下最简单的线性回归,也就是单输入单输出函数的拟合。它的效果等同于用最小二乘法在二维空间里拟合出一转载 2016-10-08 17:33:10 · 1385 阅读 · 0 评论 -
torch入门笔记5:用torch实现RNN来制作一个神经网络计时器
本节代码地址https://github.com/vic-w/torch-practice/tree/master/rnn-timerRNN全称Recurrent Neural Network(卷积神经网络),是通过在网络中增加回路而使其具有记忆功能。对自然语言处理,图像识别等方面都有深远影响。这次我们要用RNN实现一个神经网络计时器,给定一个时间长度,它会等待直到时间转载 2016-10-09 11:27:42 · 1025 阅读 · 0 评论 -
学习Torch框架的该看的资料汇总
总说Torch7是一个特别好的框架啊,简洁明了!在学习torch的过程中,总结出一些该看的东西。可以好好看看。Lua必看首先是基础的lua知识,这四部分的教程特别简洁明了,完全不像其他教程的墨迹啊。(⊙o⊙)… Lua for Programmers Part 1: Language Essentials Lua for Programmers Part 2转载 2016-10-09 14:25:04 · 694 阅读 · 0 评论 -
Deep Learning 工具 Torch7安装与使用
源代码: https://github.com/torch官方文档: http://torch.ch/Torch7:https://github.com/torch/torch7/wiki/Cheatsheet安装过程:1. node.js install, then gfx install, 要按照顺序https://gist.github.c转载 2016-10-09 14:44:43 · 635 阅读 · 0 评论 -
torch入门笔记7:Torch的入门使用
http://blog.youkuaiyun.com/u010946556/article/details/51329208 转载请注明出处本博文目标是介绍Torch的入门使用博主采用iTorch界面编写,以下以图片方式展示代码。 如果记不清哪个方法的名字了可以在iTorch里面点“Tab”键会有智能输入,类似matlab简单地介绍String,numbers,tabl转载 2016-10-09 14:47:56 · 1076 阅读 · 0 评论 -
torch入门笔记8:tensor
http://blog.youkuaiyun.com/u010946556/article/details/51329561 转载请注明出处Torch里非常重要的结构Tensor(张量),类似于Python用的Numpy 声明Tensor的格式如12行,打印a可以得到一个5x3的矩阵,这里的没有赋初值,但是Torch也会随即赋值的,具体的就跟c++里面的生命了变量虽没有初始化,但是还是会转载 2016-10-09 14:52:26 · 1085 阅读 · 0 评论 -
torch入门笔记21:xavier初始化方法
今天的task主要是为了使得分类中要达到更好的优化效果,这里需要对model内部参数的初始化做一下特殊的处理。还记得torch会帮我们随机初始化参数吗?我们现在不使用torch的初始化参数,而使用一种更高级的初始化方法,称之为xavier方法。概括来讲,就是根据每层的输入个数和输出个数来决定参数随机初始化的分布范围。在代码里只需要一句:model = require('weight-ini原创 2016-12-29 16:50:52 · 4677 阅读 · 0 评论