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

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.

×