gpt4 book ai didi

c++ - caffe的输入格式是什么?

转载 作者:搜寻专家 更新时间:2023-10-31 00:59:47 25 4
gpt4 key购买 nike

我尝试使用 caffe 进行音频识别,但找不到其输入格式的文档。

我想使用leveldb,因此我必须为每条记录创建一个键和一个值,这是一对标签字符串和数据字节数组。

好像没有文档描述这个,后来发现这个值是用Datum.SerializeToString()写的,找不到Datum在哪里,然后迷路了。

有谁知道如何将非图像记录转换为 caffeleveldb 记录?谢谢!

最佳答案

leveldblmdbHDF5 是目前向 Caffe 提供数据的主要格式。 MemoryData 层也支持内存输入,因此可以使用任何输入格式并使用 Caffe 的 python 或 c++ 接口(interface)来填充数据 block 。

如果您已经开始使用 leveldb,那么关于 caffe 问题的 this 讨论可能会有用。

下面是一个使用 python 填充 leveldb 的示例。它需要 pycaffe 和 plyvel。它改编自 caffe's github issues 发布的 Zackory 。它并不特定于图像,只要您以 CxHxW 的形式表示每个示例,其中任何一个或所有都可以等于 1:

import caffe

db = plyvel.DB('train_leveldb/', create_if_missing=True, error_if_exists=True, write_buffer_size=268435456)
wb = db.write_batch()
count = 0
for file in dataset:
mat = # load numpy array from file

# Load matrix into datum object
datum = caffe.io.array_to_datum(mat)

wb.put('%08d_%s' % (count, file), datum.SerializeToString())

count += 1

# Write to db in regular intervals
if count % 1000 == 0:
# Write batch of images to database
wb.write()
del wb
wb = db.write_batch()

# Write last batch of images
if count % 1000 != 0:
wb.write()

我发现构建 lmdb 简单多了。 lmdb 示例 here

关于c++ - caffe的输入格式是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32707393/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com