AIcomes 发表于 2018-11-1 11:12:28

在易学开发平台上训练ImageNet

1 ImageNet简介ImageNet项目是一个用于视觉对象识别软件研究的大型可视化数据库。超过1400万的图像URL被ImageNet手动注释,以指示图片中的对象;在至少一百万个图像中,还提供了边界框。自2010年以来,ImageNet项目每年举办一次软件比赛,即ImageNet大规模视觉识别挑战赛(ILSVRC),软件程序竞相正确分类和检测物体和场景。2012年在解决ImageNet挑战方面取得了巨大的突破,被广泛认为是2010年的深度学习革命的开始。
[*]Imagenet数据集是目前深度学习图像领域应用得非常多的一个领域,关于图像分类、定位、检测等研究工作大多基于此数据集展开。


[*]Imagenet数据集文档详细,有专门的团队维护,使用非常方便,在计算机视觉领域研究论文中应用非常广,几乎成为了目前深度学习图像领域算法性能检验的“标准”数据集。


[*]Imagenet数据集有1400多万幅图片,涵盖2万多个类别;


[*]其中有超过百万的图片有明确的类别标注和图像中物体位置的标注。
2 准备代码和数据集
代码参考tensorflow_multigpu_imagenet(https://github.com/arashno/tensorflow_multigpu_imagenet),先读取ImageNet图片和标签,然后输入网络进行训练。代码位于~/MyFiles/PublicData/tensorflow/train_ImageNet目录下,包括源代码和标注文件。
ImageNet数据集位于易学开发平台的~/MyFiles/PublicData/dataset/image_datasets/ImageNet目录下,该目录下的文件包括train_imagenet、test_imagenet 、val_imagenet。
3 租用一块GPU并训练
3.1 租用虚拟机
进入控制台租用一块GPU,如图3-1-1。(由于需要缓存大量数据,租用内存需要大于12G)

图3-1 租用一块GPU

3.2 开始训练
打开终端,进入代码目录,输入命令行后开始训练,完整命令行如下:
cd ~/MyFiles/PublicData/tensorflow/train_ImageNet
python3 run.py train --architecture vgg --path_prefix ~/MyFiles/PublicData/dataset/image_datasets/ImageNet --log_dir ~/MyFiles/log--train_info train.txt --optimizer adam --num_epochs 50--batch_size 16

图 3-2 开始训练ImageNet

命令行参数说明:
--architecture vgg#选择图像识别模型
--path_prefix ~/MyFiles/PublicData/dataset/image_datasets/ImageNet #ImageNet数据集路径前缀(保存默认)
--log_dir ~/MyFiles/log#日志及权重文件目录
--train_info train.txt#训练集标注文件
--optimizer adam                #优化器
--num_epochs 50                        #迭代次数
--batch_size 16                        #batch大小训练过程截图如下:

4 租用四块GPU并训练
4.1 租用虚拟机
进入控制台租用四块GPU,如图4-1。(由于需要缓存大量数据,租用内存需要大于12G)

图4-1 租用四块GPU

4.2 开始训练
打开终端,进入代码目录,输入命令行后开始训练,完整命令行如下:
cd ~/MyFiles/PublicData/tensorflow/train_ImageNet
python3 run.py train --architecture vgg --path_prefix ~/MyFiles/PublicData/dataset/image_datasets/ImageNet --log_dir ~/MyFiles/log--train_info train.txt --optimizer adam --num_epochs 50 --num_gpus 4 --batch_size 128

图 4-2 开始训练ImageNet

命令行参数说明:
--architecture vgg #选择图像识别模型
--path_prefix ~/MyFiles/PublicData/dataset/image_datasets/ImageNet #ImageNet数据集路径前缀(保存默认)
--log_dir ~/MyFiles/log #日志及权重文件目录
--train_info train.txt #训练集标注文件
--optimizer adam        #优化器
--num_epochs 50        #迭代次数训练过程截图如下:








页: [1]
查看完整版本: 在易学开发平台上训练ImageNet