【发布时间】:2017-11-25 23:10:06
【问题描述】:
我目前正在创建一个图像数据集,以使用 Caffe 训练、验证和测试一个基本的自定义 ConvNet。
具体来说,我已经收集了我的 JPG 图像 (RGB),现在正在决定如何为我的网络预处理这些图像。我希望对图像应用基本规范化,例如减去图像意味着“居中”图像。
ImageNet 教程http://caffe.berkeleyvision.org/gathered/examples/imagenet.html 提到了这个操作,描述了如何通过将LMDB 传递给$CAFFE_HOME/build/tools 中的compute_image_mean 可执行文件来为数据集生成平均.binaryproto 文件。
我已经这样做了,现在有一个.binaryproto 文件用于我的训练 LMDB。据我了解,该文件本质上包含传递的 LMDB 中所有图像的平均像素值的表示。因此,我认为它正在存储某种形式的数组,其中包含三个通道的像素值。
问题:
我如何使用这个.binaryproto 文件来执行平均减法?
我是否应该为我的每个 LMDB(训练、验证、测试)创建单独的 .binaryproto 文件?还是我应该首先创建一个包含数据集中所有图像的 LMDB,从中生成平均值,然后将减法应用于所有子集?
任何建议将不胜感激。
【问题讨论】:
标签: neural-network computer-vision caffe conv-neural-network pycaffe