3

我正在将 caffe 与 python(pycaffe)一起使用。我正在使用模型 zoo 中预建的 alexnet 模型

从这个页面: https ://github.com/BVLC/caffe/tree/master/models/bvlc_alexnet

每次我使用模型时,使用以下代码:

net = caffe.Classifier('deploy.prototxt','bvlc_alexnet.caffemodel',
                   channel_swap=(2,1,0),
                   raw_scale=255,
                   image_dims=(256, 256))

caffe 告诉我文件格式旧,需要升级文件。这不应该只发生一次吗?

E0304 20:52:57.356480 12716 upgrade_proto.cpp:609] Attempting to upgrade input file specified using deprecated transformation parameters: /tmp/bvlc_alexnet.caffemodel
I0304 20:52:57.356554 12716 upgrade_proto.cpp:612] Successfully upgraded file specified using deprecated data transformation parameters.     E0304 20:52:57.356564 12716 upgrade_proto.cpp:614] Note that future Caffe releases will only support transform_param messages for transformation fields.
E0304 20:52:57.356580 12716 upgrade_proto.cpp:618] Attempting to upgrade input file specified using deprecated V1LayerParameter: /tmp/bvlc_alexnet.caffemodel
I0304 20:52:59.307096 12716 upgrade_proto.cpp:626] Successfully upgraded file specified using deprecated V1LayerParameter

如何正确升级文件,以免每次都发生这种情况。

4

2 回答 2

5

当您加载模型时,caffe 会升级您的 prototxt 和二进制 proto,但不会覆盖您正在使用的原始文件。这就是您不断收到此消息的原因。

升级非常简单。在$CAFFE_ROOT/build/tools你会发现两个二进制文件:upgrade_net_proto_binaryupgrade_net_proto_text. 只需将它们应用于您的deploy.prototxtandbvlc_alexnet.caffemodel并保存结果:

~$ mv deploy.prototxt deploy_old.prototxt
~$ mv bvlc_alexnet.caffemodel bvlc_alexnet_old.caffemodel
~$ $CAFFE_ROOT/build/tools/upgrade_net_proto_text deploy_old.prototx deploy.prototxt
~$ $CAFFE_ROOT/build/tools/upgrade_net_proto_binary bvlc_alexnet_old.caffemodel bvlc_alexnet.caffemodel

就是这样!

于 2016-03-13T06:34:39.393 回答
1

谢谢你的帮助
但是,如果您在Windows upgrade_net_proto_binary中并且upgrade_net_proto_text.exe 文件位于path-to-caffe-master/caffe/build/tools/Release.

希望对 Windows 用户有所帮助

于 2017-10-17T05:16:50.077 回答