Torch 框架下的 imagenet 图像分类
来源:互联网 发布:淘宝店如何增加访客 编辑:程序博客网 时间:2024/05/04 04:19
一、Torch框架安装
我是选择在官网上教程直接安装的,详情见:http://torch.ch/docs/getting-started.html
torch需要在Mac OS X and Ubuntu 12+平台上安装。
git clone https://github.com/torch/distro.git ~/torch --recursivecd ~/torch; bash install-deps;./install.sh
这里第一步下载安装torch基本包,第二步安装torch下的语言工具LuaJIT和LuaRocks.
选择下面其一进行变量的更新:
# On Linux with bashsource ~/.bashrc# On Linux with zshsource ~/.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
- Torch 框架下的 imagenet 图像分类
- 【caffe】用训练好的imagenet模型分类图像
- 基于darknet框架的imagenet数据分类预训练
- 运用CNN对ImageNet进行图像分类
- Caffe:imagenet的均值图像
- caffe示例实现之9ImageNet图像分类与滤波器的可视化
- dlib 08 dlib自带demo 基于ResNet34的imagenet图像分类
- Residual Networks <2015 ICCV, ImageNet 图像分类Top1>
- alexnet 通过深度卷积对ImageNet图像进行分类
- 使用python,在已经配置好的模型下进行imagenet分类
- torch入门笔记13:实现cnn图像分类
- 基于pytorch的图像分类框架
- caffe 框架下微调已有模型训练自己的数据实现图像分类
- 阿里云免费GPU+Tensorflow框架下的图像分类实例
- torch/caffe等框架下解决内存无法garbage collection的问题
- 三十四、最快的深度学习框架torch
- pytorch训练imagenet分类
- ImageNet和CNN可以帮助医学图像的识别吗?
- 对象序列化传递 Serializable 和Parcelable
- 结构化程序设计
- 下拉刷新 与 ViewPage 的冲突 Tab页存在Scrollview嵌套 recycleview 切换回来焦点不对
- RabbitMQ基础概念详细介绍
- 数据的标准化
- Torch 框架下的 imagenet 图像分类
- jvm配置参数解析
- JS常用正则表达式
- Nginx 模块自主开发七:源码剖析整个Nginx框架
- MVC 架构 framerwork 详解
- leetcode-java-100. Same Tree
- VERR_PDM_DRIVER_NOT_FOUND
- STM32管脚的复用与重映像关系
- POJ 2823 线段树 Or 单调队列