【问题标题】:Working with training a network of own dataset使用自己的数据集训练网络
【发布时间】:2023-03-05 10:19:01
【问题描述】:

我找到了一个关于如何train a neural net 的教程。我应该如何使用自己的数据集训练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 图像。

【问题讨论】:

    标签: python machine-learning neural-network deep-learning caffe


    【解决方案1】:

    您无需重复该代码 19 次。此代码的唯一目的是创建 'train.txt''test.txt' 文件,其中列出了您的图像文件和每个图像的标签。
    我不知道您如何组织磁盘上的图像(您说您有一个包含 4K 图像的文件夹),但您应该能够分辨出每个图像所属的标签/类别 (0..18)。在文件'train.txt''test.txt' 中获得这些列表后,您可以使用convert_imageset 工具继续创建训练和验证数据集。

    【讨论】:

    • 是的,感谢您的回复。但至于我的数据集,你能告诉我吗,如果我有我的图像,比如:0000.jpg,0001.jpg .... 4000.jpg。 ?我应该如何显示我的对象的标签 (0..18)
    • @X21 0001.jpg 的标签是什么?和0002.jpg? 是怎么知道标签的?
    • 这就是我问你的原因。因为我不够了解。我是否需要存储带有标签的图片,例如:围巾。 jpg、dress.jpg 等?所以我需要 19 个不同对象的文件夹。我说的对吗?
    • @X21 你只需要一个 list 将每个图像连接到它的标签。您应该有两个列表:一个包含 train 图像,另一个包含 test 图像。每个列表的格式为0001.jpg 3\n0002.jpg 15\n等(假设0001.jpg的标签为3,0002.jpg的标签为15...)
    • 谢谢,我会努力的。
    猜你喜欢
    • 2020-02-23
    • 2017-11-02
    • 1970-01-01
    • 1970-01-01
    • 2020-09-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多