|
一、Torch框架安装
我是选择在官网上教程直接安装的,详情见:http://torch.ch/docs/getting-started.html
torch需要在Mac OS X and Ubuntu 12+平台上安装。
git clone https://github.com/torch/distro.git ~/torch --recursive
cd ~/torch; bash install-deps;
./install.sh
这里第一步下载安装torch基本包,第二步安装torch下的语言工具LuaJIT和LuaRocks.
选择下面其一进行变量的更新:
# On Linux with bash
source ~/.bashrc
# On Linux with zsh
source ~/.zshrc
# On OSX or in Linux with none of the above.
source ~/.profile
其他一些可选项,主要包括使用Lua5.2语言替代LuaJIT(bu),或者添加一些新的packages:
# run luarocks WITHOUT sudo
$ luarocks install image
$ luarocks list
运行
th
如果出现以下输出则说明已经安装好Torch框架:
$ th
______ __ | Torch7
/_ __/__ ________/ / | Scientific computing for Lua.
/ / / _ \/ __/ __/ _ \ |
/_/ \___/_/ \__/_//_/ | https://github.com/torch
| http://torch.ch
th> torch.Tensor{1,2,3}
1
2
3
[torch.DoubleTensor of dimension 3]
th>
退出该交互直接Ctrl+C回车即可。
以后运行torch下的Lua程序直接 th XXX.lua 方式运行即可。
二、torch下图像分类
采用imagenet-multiGPU.torch分类器进行分类,其代码来自:https://github.com/soumith/imagenet-multiGPU.torch
可以选择AlexNet or Overfeat, VGG and Googlenet 进行训练,也可以使用其他自己设置好的模型,其初始设置为Alexnet训练Imagenet图像。
1、运行设备要求:设备安装好CUDA GPU,如果是Mac OSX,运行下面来获取GNU versions of wc, find, and cut
brew install coreutils findutils
2、数据要求:直接下载 imagenet 数据(标配),如果是自己数据,安装imagenet格式组织,建立数据的文件夹,里面存放文件夹 train/ 和val/ ,分别放置训练数据和验证数据。其中,train/ 和val/ 文件夹下是不同类文件夹,里面是图片。
比如:有2类数据,猫和狗,那么在train/ 和val/ 下分别放cat/ 和dog/ ,里面放对应的图片。
不是固态硬盘或速度慢时,更改图片维度到256来加速,代码如下:
find . -name "*.JPEG" | xargs -I {} convert {} -resize "256^>" {}
3、进行训练:
打开opts.lua文件进行设置的更改,如文件夹修改等,自己组织的数据修改类别数nClasses,同时依据所需要的大致精度修改 nEpochs 次数(数据大时候55的次数训练时间太长了诶)
运行下面查看自己的设置是否正确
th main.lua --help
进行训练
th main.lua -data [imagenet-folder with train and val folders]
多GPU下在后面加上GPU的设置。制定某一模型也在后面设置,如:2个GPU,同时
AlexNet + CuDNN,即可
th main.lua -data [imagenet-folder with train and val folders] -nGPU 2 -backend cudnn -netType alexnet
|