我正在尝试对 Caffe 进行一些修改以接受我的 16 位数据。
我成功创建了一个 lmdb 数据集,其中填充了 16 位无符号、未编码的 256x256 图像,而不是通常的 caffe 8 位无符号数据,保存为“字符串”,就像可以使用image_convert
DIGITS 实用程序创建的通常的 8 位 lmdb 一样。
我已经更改了io.py
函数array_to_datum
,datum_to_array
以便在 16 位“字符串”数据中创建这个 lmdb。现在,如果我在 caffe 上使用这个 lmdb(只有 4 个类),网络会运行但不会收敛。我强烈怀疑没有正确读取我的数据。问题是,io.py
函数array_to_blobproto
和blobproto_to_array
内部数据内容似乎没有任何区别,
谁能给我一个关于在哪里工作的提示?
编辑:在代码中乱七八糟,我认为如果我想直接在 png 上工作而不通过 lmdb,那么一种可能性应该是创建一个新的数据层或一个新的图像数据层。但是尝试修改 C++ 代码对我来说并不是一件容易的事,尤其是。我不能轻易地跟踪代码中的数据流。我看到新层可以用python编写。你认为新的输入数据层可以很好地工作还是会降低 cnn 的性能?