我试图使用LeNet对数字(0-9)进行分类。
我读取尺寸28x28的图像,转换它们,并发送一个彩色通道到网络。
bild = mpimg.imread('pathToImg')
bild = np.transpose(bild,(2,0,1))得到毫无意义的预测。我看到PyCaffe有一个转换器可以完成这项工作,但我不知道如何将它用于LeNet。
我正在使用caffe/实例/mnist中的网络(希望这回答了网络所期望的数据类型)。
唯一不同的是,现在的输入是:
input_shape {
dim: 1
dim: 1
dim: 28
dim: 28
}发布于 2016-04-14 02:12:53
由于您正在直接使用deploy,所以您应该查看lenet_train_test.prototxt中的“数据”层(或具有类似名称的文件),它将为您提供数据预处理方式的指示。
通过查看我拥有的文件,LeNet示例似乎执行了所有输入数据的缩放。这由“数据”层中的下列行表示
transform_param {
scale: 0.00390625
}所以这是你可能错过的一件事。查看预处理中指针的imagenet教程 (尤指变压器)。第二,你在图片中看到的是
bild = np.transpose(bild,(2,0,1))这看起来像是一个基于您正在执行的通道交换的错误,所以请确保发送到网络的数据具有尺寸-1(批处理大小)x1(通道)x28(高度)x28(宽度)。
https://stackoverflow.com/questions/36576229
复制相似问题