Jump to content
Compvision.ru
Андрей_Андрей

не удается загрузить модель в dnn

Recommended Posts

Коллеги, суть проблемы: не удается загрузить мной созданную модель tensorFlow в opencv.dnn методом 
cv2.dnn.readNetFromTensorflow(weights,config)
выдается ошибка распарсивания графа вида Error parsing text-format opencv_tensorflow.GraphDef: 4059:5: Unknown enumeration value of "DT_RESOURCE" for field "type".
гугление приводит к рецептам вроде заморозьте граф, преобразуйте файл *.pbtxt с помощью файлов, входящих в opencv, конфиг для сети при этом скачайте по ссылке, везде рекомендации, примерно как тут: https://github.com/opencv/opencv/wiki/TensorFlow-Object-Detection-API

вопрос: но ведь это-же для конкретной заранее спроектированной сети - mobilenet, rcnn, yolo и других известных, я правильно понимаю или нет? 

и если  да,  то, что делать, если моя структура самописная? это не lenet, не guglonet, не yolo, это моя собственная сетка.  мне что, не удастся ее в dnn прочитать?

Спасибо.

Share this post


Link to post
Share on other sites

Это для всех сетей. Мы для кастомной LSTM так делали - заработало.

  • Thanks 1

Share this post


Link to post
Share on other sites

Спасибо, большое за ответ, теперь я сделал так: 

python tf_text_graph_faster_rcnn.py --input hr_model_lstm.pb --config example.config --output hr_model_lstm.pbtxt

в качестве конфига взял     # Faster R-CNN with Inception Resnet v2, Atrous version;

В ответ при импорте в

net = cv2.dnn.readNetFromTensorflow(weights, config)

получил ошибку: [libprotobuf ERROR D:\Build\OpenCV\opencv-3.4.4\3rdparty\protobuf\src\google\protobuf\text_format.cc:288] Error parsing text-format opencv_tensorflow.GraphDef: 13334:5: Unknown enumeration value of "20" for field "type".

раньше он ругался на значение DT_RESOURCE, теперь ругается на значение 20. 

нода из pbtxt  выглядит так:

node {
  name: "lstm1_b/while/TensorArrayWrite/TensorArrayWriteV3/Enter"
  op: "Enter"
  input: "lstm1_b/TensorArray"
  attr {
    key: "T"
    value {
      type: 20
    }
  }
  attr {
    key: "_class"
    value {
      list {
        s: "loc:@lstm1_b/while/mul_5"
      }
    }
  }
  attr {
    key: "frame_name"
    value {
      s: "lstm1_b/while/while_context"
    }
  }
  attr {
    key: "is_constant"
    value {
      b: true
    }
  }
  attr {
    key: "parallel_iterations"
    value {
      i: 32
    }
  }
}

что я не так делаю?

Share this post


Link to post
Share on other sites

Это уже не ко мне. Напиши сюда.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


  • Recently Browsing   0 members

    No registered users viewing this page.

×