Недавно я построил цифры из этого урока , все в порядке, и я наконец-то обучил свою модель AlexNet (также обучил SqueezNet, чтобы я мог загрузить модель здесь)! проблема в том, что когда я загружаю свою модель из Digits, я не могу загрузить ее в свою программу для тестирования! Я проверил свою программу с помощью GoogleNet, скачав по этой ссылке , и она работает нормально!
Я использую OpenCV readNetFromCaffe в этой функции для загрузки модели Caffe
void deepNetwork::loadModel( cv::String model ,cv::String weight ,string lablesPath,int ps){
patchSize=ps;
labeslPath=lablesPath;
try
{
net = dnn::readNetFromCaffe(weight,model);
cerr<<"loaded succ"<<endl;
}
catch (cv::Exception& e)
{
std::cerr << "Exception: " << e.what() << std::endl;
}}
Я получаю следующую ошибку при загрузке моей модели
Ошибка OpenCV: утверждение не выполнено (pbBlob.raw_data_type () ==
caffe :: FLOAT16) в цвету
bFromProto, файл
/ Главная / NVIDIA / строить-OpenCV / OpenCV / модули / DNN / SRC / кофейная / caffe_im
porter.cpp, строка 242 Исключение:
/ Главная / NVIDIA / строить-OpenCV / OpenCV / модули / DNN / SRC / кофейная / caffe_importer
.cpp: 242: ошибка: (-215) pbBlob.raw_data_type () == caffe :: FLOAT16 in
функция Blo
bFromProto
Ошибка OpenCV: запрошенный объект не найден (запрошенный BLOB-объект «data»)
не найден) я
n setInput, file
/home/nvidia/build-opencv/opencv/modules/dnn/src/dnn.cpp, строка
1606 прекращение вызова после выброса экземпляра 'cv :: Exception'
какие():
/home/nvidia/build-opencv/opencv/modules/dnn/src/dnn.cpp:1606: ошибка:
(-204) Запрошенный блоб «data» не найден в функции setInput
Прервано (ядро сброшено)
любая помощь будет оценена <3 </p>
opencv версии 3.3.1 также тестировался на (3.3.0, 3.4.1) ту же ошибку!
тестирование в системе без Cuda, Cudnn или Caffe, просто чистый C ++ и OpenCv ...
но я натренировал свою модель на экземпляре aws ec2 (p3.2xlarge) с Cuda, Cudnn и caffe!
Вы можете скачать обученную модель squeezNet (.prototxt и .caffemodel) здесь