【问题标题】:Error in Using Nvidia DIGITS trained Models in OpenCV在 OpenCV 中使用 Nvidia DIGITS 训练的模型时出错
【发布时间】:2018-10-04 12:17:12
【问题描述】:

我使用 DIGITS (NVCaffe) 训练了我的模型,并在 opencv 中使用它,类似于使用 .prototxt 和 .caffemodel 的 opencv 示例,我对其进行了测试并且效果很好。 但是当我使用按数字训练的模型时,我得到了这个错误:

OpenCV Error: Assertion failed (pbBlob.raw_data_type() == 
caffe::FLOAT16) in blobFromProto, file 
/opt/opencv/modules/dnn/src/caffe/caffe_importer.cpp, line 242
Exception:  /opt/opencv/modules/dnn/src/caffe/caffe_importer.cpp:242: 
error: (-215) pbBlob.raw_data_type() == caffe::FLOAT16 in function 
blobFromProto

帮我解决! 这个问题之前提过很多次都没有回答! http://answers.opencv.org/question/177086/unable-to-use-caffe-model-trained-in-nvidia-digits-in-opencv-dnn-code/

【问题讨论】:

  • 您的 DIGITS 是否可以在 float64 而不是 float32 中训练/存储模型?
  • 嗨@Shai,我安装了最新版本的 NVCaffe,但我不知道如何将其更改为 float64
  • 你不需要把它改成float64——相反,你需要确保它保存为float32(这是opencv所期望的)
  • 感谢@Shai,我是初学者,我不明白你的意图,请简单指导我!

标签: c++ opencv caffe nvidia-digits


【解决方案1】:

OpenCV 支持以 BVLC 格式而不是 NVCaffe 训练的模型。尝试通过在 DIGITS 中将求解器参数从 NVCaffe 更改为 Compatible 来训练您的模型。

【讨论】:

    猜你喜欢
    • 2017-03-07
    • 1970-01-01
    • 2016-11-23
    • 1970-01-01
    • 1970-01-01
    • 2015-04-20
    • 1970-01-01
    • 2013-07-06
    • 2017-03-02
    相关资源
    最近更新 更多