最近由于学习需要,顺手翻译了一篇 readme.md。
(小白还不太用的惯markdown^)
由于新手上路,有不足之处或是不对的地方,还希望大家一起交流指正,共同学习。
在这里笔芯啦!
*译者:Yougrianes *
这个教程能够让你准备好用自己的数据,训练出一个属于你自己的模型。
如果你只是想要一个经过ImageNet训练好的网络(Network),那么请注意到,由于训练需要许多能量,而且我们对全球变暖深恶痛绝(译者表示非常赞同),我们提供经过训练的CaffeNet model,在以下的网址链接中描述:model zoo.
这个教程指定(specifies)了所有的路径,并且假设所有的指令在caffe的根目录之下被执行(all commands are executed from the root caffe directory)。
通过ImageNet,我们在这里意味着ILSVRC12(Large Scale Visual Recognition Challenge)挑战,但是你也可以在整个ImageNet上很容易的训练,只需要更大的硬盘存储空间,和更长一点的训练时间。*
我们假设你已经下载了ImageNet训练数据和验证数据(validation data),并且以如下的形式存储在你的电脑之中:
/path/to/imagenet/train/n01440764_10026.JPEG
/path/to/imagenet/val/ILSVRC2012_val_00000001.JPEG
你会首先需要准备一些用以训练的辅助数据(auxiliary data)。这些数据可以在这里被下载:
./data/ilsvrc12/get_ilsvrc_aux.sh
训练和验证的输入在‘train.txt’和‘val.txt’中被描述,其文本中列出了所有文件以及他们的标签。请注意我们为标签使用了一个与ILSVRC devkit(开发包)所不同的索引(indexing):我们按照ASCII顺序分类了同义词集(fort the synset names in their ASCII order,)然后对他们从0到999附以标签。参见‘synset_words.txt’ ,用来进行synset-name标定与映射(synset/name mapping)。
你可能想在这之前,将图片尺寸调整为256*256。通过默认设定,我们不会明确的着这件事——因为在一个集群环境之中,通过使用“地图映射和减少归约”(mapreduce),(one may banifit from resizing images in a parallel fashion, using mapreduce.)。例如,Yangqing用他的轻量级[mincepie](http://github.com/Yangqing/mincepie) 包。如果你喜欢让事情变得更加简单,你也可以使用shell命令,例如这个样子:
for name in /path/to/imagenet/val/*.JPEG; to
convert -resize 256*256\! $name $name
done
请查看“examples/imagenet/create_imagenet.sh” 。请根据需要设置训练集和测试集的路径,然后如果你还没有重新调整图像尺寸的话,设置“RESIZE=true”,从而调整所有的图片为256*256。
现在只要简单的创建一个leveldbs:‘examples/imagenet/create_imagenet.sh’。需要注意:‘examples/imagenet/ilsvrc12_train_leveldb’和‘examples/imagenet/ilsvrc12_val_leveldb’在这次执行前,应当是不存在的。它会被脚本所创建。‘GLOG_logtostderr=1’
(未完待续,因为我发现在Caffe的官网上面已经有了这个了……搞得我好辛苦T_T)
http://caffe.berkeleyvision.org/gathered/examples/imagenet.html