我正在尝试使用咖啡测试来检查咖啡的准确性。很简单,不是吗?
真的不是。它根本不起作用。
下面我描述我正在遵循的步骤(在我看来,一切都认为是可以的(:
- 我已经下载了图像网训练和验证集。
-
我使用应用程序"create_imagenet.sh"创建了一个LMDB数据库。在这里,我描绘了我的"create_imagenet.sh"(我已经修改了一些东西,因为我只需要验证数据库(:
RESIZE=true if $RESIZE; then RESIZE_HEIGHT=256 RESIZE_WIDTH=256 else RESIZE_HEIGHT=0 RESIZE_WIDTH=0 fi if [ ! -d "$VAL_DATA_ROOT" ]; then echo "Error: VAL_DATA_ROOT is not a path to a directory: $VAL_DATA_ROOT" echo "Set the VAL_DATA_ROOT variable in create_imagenet.sh to the path" "where the ImageNet validation data is stored." exit 1 fi echo "Creating train lmdb..." GLOG_logtostderr=1 $TOOLS/convert_imageset -resize_height=$RESIZE_HEIGHT -resize_width=$RESIZE_WIDTH --shuffle $VAL_DATA_ROOT $DATA/val.txt $EXAMPLE/ilsvrc12_val_leveldb echo "Done."
在 $VAL_DATA_ROOT 中,我存储了验证图像的路径,$DATA存储了路径 tu val.txt 文件,最后是我想保存数据库时的路径示例。我可以确保路径完全正确。
- 一旦我有了我的数据库,我就从官方网站下载了权重文件bvlc_reference_caffenet.caffemodel,没关系。
-
我已经修改了train_val.prototxt以链接数据库。接下来,我描绘了文件的第一行。其余的根本没有改变(相对于原始(。
# mean pixel / channel-wise mean instead of mean image # transform_param { # crop_size: 227 # mean_value: 104 # mean_value: 117 # mean_value: 123 # mirror: true # } data_param { source: "/home/paco/Caffe_Original/caffe/examples/imagenet/ilsvrc12_train_lmdb" batch_size: 256 backend: LMDB } } layer { name: "data" type: "Data" top: "data" top: "label" include { phase: TEST } # transform_param { # mirror: false # crop_size: 227 # mean_file: "/home/paco/Caffe/caffe/data/ilsvrc12/imagenet_mean.binaryproto" # } # mean pixel / channel-wise mean instead of mean image transform_param { crop_size: 227 mean_value: 104 mean_value: 117 mean_value: 123 mirror: false } data_param { source: "/home/paco/imagenet_noformat/ilsvrc12_val_lmdb" batch_size: 50 backend: LMDB } }
-
我只是执行咖啡工具,如下所示:
caffe test -model=/home/paco/Caffe/caffe/models/bvlc_reference_caffenet/train_val.prototxt -weights=/home/paco/Caffe/caffe/models/bvlc_reference_caffenet/bvlc_reference_caffenet.caffemodel -iterations=2000
正如你们所看到的一切看起来都很完美,我根本没有收到任何错误!!
但是,它不起作用,因为我在我的外壳上获得了这个!!!
**
I1016 16:43:32.526727 22178 net.cpp:255] Network initialization done.
I1016 16:43:32.675029 22178 upgrade_proto.cpp:46] Attempting to upgrade input file specified using deprecated transformation parameters: /home/paco/Caffe/caffe/models/bvlc_reference_caffenet/bvlc_reference_caffenet.caffemodel
I1016 16:43:32.675051 22178 upgrade_proto.cpp:49] Successfully upgraded file specified using deprecated data transformation parameters.
W1016 16:43:32.675071 22178 upgrade_proto.cpp:51] Note that future Caffe releases will only support transform_param messages for transformation fields.
I1016 16:43:32.675122 22178 upgrade_proto.cpp:55] Attempting to upgrade input file specified using deprecated V1LayerParameter: /home/paco/Caffe/caffe/models/bvlc_reference_caffenet/bvlc_reference_caffenet.caffemodel
I1016 16:43:32.882395 22178 upgrade_proto.cpp:63] Successfully upgraded file specified using deprecated V1LayerParameter
I1016 16:43:32.943102 22178 caffe.cpp:281] Running for 2000 iterations.
I1016 16:43:34.434036 22178 caffe.cpp:304] Batch 0, accuracy = 1
I1016 16:43:34.434161 22178 caffe.cpp:304] Batch 0, loss = -nan
I1016 16:43:35.862941 22178 caffe.cpp:304] Batch 1, accuracy = 1
I1016 16:43:35.862982 22178 caffe.cpp:304] Batch 1, loss = -nan
I1016 16:43:37.310729 22178 caffe.cpp:304] Batch 2, accuracy = 1
I1016 16:43:37.310768 22178 caffe.cpp:304] Batch 2, loss = -nan
I1016 16:43:38.719712 22178 caffe.cpp:304] Batch 3, accuracy = 1
I1016 16:43:38.719833 22178 caffe.cpp:304] Batch 3, loss = -nan
I1016 16:43:40.171242 22178 caffe.cpp:304] Batch 4, accuracy = 1
I1016 16:43:40.171273 22178 caffe.cpp:304] Batch 4, loss = -nan
I1016 16:43:41.674332 22178 caffe.cpp:304] Batch 5, accuracy = 1
I1016 16:43:41.674373 22178 caffe.cpp:304] Batch 5, loss = -nan
I1016 16:43:43.160789 22178 caffe.cpp:304] Batch 6, accuracy = 1
I1016 16:43:43.160826 22178 caffe.cpp:304] Batch 6, loss = -nan
**
对于 alexnet 和 Squeezenet,情况更糟,按照相同的步骤,我总是获得 0 的准确度(实际上我每次得到 0.001 或类似的东西(。
这是怎么回事?也许我必须在将图像转储到数据库之前对其进行预处理?有人可以帮助我吗?我将不胜感激。
非常感谢您的关注和帮助。
问题是 MKL 库。它不起作用,但我根本没有得到任何信息。我已经通过使用OpenBlas库再次编译caffe来解决这个问题。
谢谢你自己。