我找到了一篇关于如何训练神经网络的教程。我应该如何使用自己的数据集来训练caffe module
呢?
有一个Cats vs Dogs
的例子,我很清楚如何处理包含两种类型(Dogs
和Cats
)的数据。我尝试按照他的步骤操作,并得到了caffe module
的结果。
然后我想增加类型集,我的意思是,我之前只训练了2
种类型,现在我想训练19
种类型(是的,19
种不同的对象)。
我遇到的问题是如何在caffe模块中增加主要选择?
这是我发现问题的那部分代码:
dog_images = [image for image in os.listdir(DATA_DIR) if 'dog' in image]
cat_images = [image for image in os.listdir(DATA_DIR) if 'cat' in image]
dog_train = dog_images[:int(len(dog_images)*0.7)]
dog_test = dog_images[int(len(dog_images)*0.7):]
cat_train = cat_images[:int(len(cat_images)*0.7)]
cat_test = cat_images[int(len(cat_images)*0.7):]
我认为如果我有19
种类型,并不意味着我需要19
次编写这样的代码(upper
)。
另外,我的图片不是放在不同的文件夹里,我只有一个文件夹,里面大约有4,000
张图片。
回答:
你不需要重复那段代码19次。这段代码的唯一目的是创建'train.txt'
和'test.txt'
文件,这些文件列出了你的图像文件及其每个图像的标签。
我不知道你在磁盘上是如何组织这些图片的(你说你有一个包含4K图片的单一文件夹),但你应该能够确定每张图片属于哪个标签/类(0..18
)。一旦你在'train.txt'
和'test.txt'
文件中有了这些列表,你就可以使用convert_imageset
工具来创建训练和验证数据集了。