使用自己的数据集训练网络

我找到了一篇关于如何训练神经网络的教程。我应该如何使用自己的数据集来训练caffe module呢?

有一个Cats vs Dogs的例子,我很清楚如何处理包含两种类型(DogsCats)的数据。我尝试按照他的步骤操作,并得到了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工具来创建训练和验证数据集了。

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注