查看: 2639|回复: 0

[远程开发] 在易学开发平台上训练ImageNet

[复制链接]

66

主题

151

帖子

1033

积分

xdtech

Rank: 5Rank: 5

积分
1033
发表于 2018-11-1 11:12:28 | 显示全部楼层 |阅读模式
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)
租用1块GPU.gif
图3-1 租用一块GPU


3.2 开始训练

打开终端,进入代码目录,输入命令行后开始训练,完整命令行如下:

  1. cd ~/MyFiles/PublicData/tensorflow/train_ImageNet
  2. 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
复制代码

1块GPU训练ImageNet.gif

图 3-2 开始训练ImageNet


命令行参数说明:

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

单块GPU训练ImageNet.png

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


4.2 开始训练

打开终端,进入代码目录,输入命令行后开始训练,完整命令行如下:

  1. cd ~/MyFiles/PublicData/tensorflow/train_ImageNet
  2. 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块GPU训练ImageNet.gif

图 4-2 开始训练ImageNet

命令行参数说明:

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

4块GPU训练ImageNet.png








回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表