Tensorflow 고정 추론 그래프를 OpenCV DNN에로드하는 중 오류 발생

이르판 부디 S.

Roboflow의 Google Colaboratory 노트북을 기반으로 한 예제에 따라 Tensorflow API를 사용하여 객체 감지 모델을 학습했습니다. https://colab.research.google.com/drive/1wTMIrJhYsQdq_u7ROOkf0Lu_fsX5Mu8a

지금까지 훌륭했고 동일한 노트북을 따라 훈련 된 모델을 추론 그래프로 성공적으로 추출했습니다.

import re
import numpy as np

output_directory = './fine_tuned_model'

lst = os.listdir(model_dir)
lst = [l for l in lst if 'model.ckpt-' in l and '.meta' in l]
steps=np.array([int(re.findall('\d+', l)[0]) for l in lst])
last_model = lst[steps.argmax()].replace('.meta', '')

last_model_path = os.path.join(model_dir, last_model)
print(last_model_path)
!python /content/models/research/object_detection/export_inference_graph.py \
    --input_type=image_tensor \
    --pipeline_config_path={pipeline_fname} \
    --output_directory={output_directory} \
    --trained_checkpoint_prefix={last_model_path}

frozen_inference_graph.pbOpenCV DNN에서 객체 감지 프로그램을 만드는 데 사용할 수 있는 파일을 제공합니다 . 또한이 예제에 따라 https://stackoverflow.com/a/57055266/9914815cv2.dnn.readNetFromTensorflow 함수 의 두 번째 인수로 모델 및 파이프 라인 구성의 .pbtxt 파일을 준비했습니다 . 내가 가진 오류를 재현하기에 충분한 코드는 다음과 같습니다.

model = cv2.dnn.readNetFromTensorflow('models/trained/frozen_inference_graph.pb', 
                                      'models/trained/output.pbtxt')

이 코드는 사전 훈련 된 SSD MobileNet V2 COCO 모델을 사용할 때 성공적으로 작동합니다. ssd_mobilenet_v2_coco_2018_03_29.pbtxt

그러나 훈련 된 .pbtxt 파일을 사용하면 다음 오류가 발생합니다.

C:\Users\Satria\Desktop\ExploreOpencvDnn-master>python trainedmodel_video.py -i test1.mp4 -o test1result.mp4
Traceback (most recent call last):                                                                                                                            
File "trainedmodel_video.py", line 48, in <module> 'models/trained/output.pbtxt') cv2.error:
OpenCV(4.1.1) C:\projects\opencv-python\opencv\modules\dnn\src\tensorflow\tf_importer.cpp:544:error:
(-2:Unspecified error) Input layer not found: FeatureExtractor/MobilenetV2/Conv/weights in function
'cv::dnn::dnn4_v20190621::`anonymous-namespace'::TFImporter::connect' 

입력 레이어를 찾을 수 없습니다. 왜 이런 일이 발생합니까? 또한 오류 메시지가 디렉토리를 가리 킵니다.

C:\projects\opencv-python\opencv\modules\dnn\src\tensorflow\tf_importer.cpp

내 컴퓨터에 그 디렉토리 가 전혀 없기 때문에 믿을 수 없을 정도로 이상 합니다. 내 및 샘플 SSD mobilenet 모델의 pbtxt 및 구성 파일을 비교해 보았습니다. 어디서나 사용되는 특정 디렉토리의 인스턴스를 찾을 수 없으며 내부에 디렉토리 경로가 있습니다.

Google Colab을 사용한 교육 때문인가요? OpenCV DNN에서 Colab 학습 Tensorflow 모델을 사용할 수있는 올바른 방법이 있습니까?

미리 감사드립니다!

이르판 부디 S.

내 자신이 생성 한 pbtxt 파일에 추가 입력 노드를 추가 한 후 해결됨

누군가 내가 사용하고 있던 OpenCV 버전 4.11이 구식이라고 제안했습니다. 나는 4.30으로 업데이트했지만 여전히 작동하지 않지만 이제는 미래에 매우 중요한 FusedBatchNormV3를 사용할 수 있습니다.

이제 샘플의 diffcheck와 생성 된 pbtxt를 자세히 살펴본 후,

샘플 .pbtxt 파일 ssd_mobilenet_v2_coco_2018_03_29.pbtxt에서 30 행 이후

node {  
  name: "Preprocessor/mul"  
  op: "Mul" 
  input: "image_tensor" 
  input: "Preprocessor/mul/x"   
}   
node {  
  name: "Preprocessor/sub"  
  op: "Sub" 
  input: "Preprocessor/mul" 
  input: "Preprocessor/sub/y"   
}   
node {  
  name: "FeatureExtractor/MobilenetV2/Conv/Conv2D"  
  op: "Conv2D"  
  input: "Preprocessor/sub" 
  input: "FeatureExtractor/MobilenetV2/Conv/weights"    

그것은 사용하는 추가 입력 노드가 Preprocessor아니라,FeatureExtractor/MobilenetV2/Conv/Conv2D

한편 생성 된 pbtxt에는 다음 만 있습니다.

node {
  name: "FeatureExtractor/MobilenetV2/Conv/Conv2D"
  op: "Conv2D"
  input: "FeatureExtractor/MobilenetV2/Conv/weights"

샘플 .pbtxt의 입력 노드를 직접 생성 한 .pbtxt에 복사했는데 제대로 작동했습니다 !!!

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

TensorFlow Object Detection API에서 두 개의 다른 추론 그래프를 순차적으로 내보내는 동안 오류가 발생했습니다.

분류에서Dev

.csv를 tensorflow에로드하는 중에 오류가 발생했습니다.

분류에서Dev

Tensorflow로 객체 감지를 구현하려고 시도하는 중에 오류가 발생했습니다.

분류에서Dev

TensorFlow Faster R-CNN 고정 그래프를 인텔 openVINO 프레임 워크로 변환하는 동안 내부 오류가 발생했습니다.

분류에서Dev

TensorRT 추론을 위해 Tensorflow 고정 그래프를 UFF로 변환

분류에서Dev

TensorFlow의 신경망에 레이어를 추가하는 중에 오류가 발생했습니다.

분류에서Dev

추론을 위해 tensorflow 객체 감지 API를 사용하여 생성 된 두 개의 다른 고정 그래프를 수정하고 결합합니다.

분류에서Dev

다중 정의 오류. 키워드 'extern'을 추가하고 다시 오류가 발생합니다.

분류에서Dev

Excel에서 데이터를로드하는 중 오류 발생

분류에서Dev

Android에서 자체 TensorFlow 모델을 실행하면 기본 추론 오류가 발생합니다. "Run () 전에 그래프로 세션이 생성되지 않았습니다!"

분류에서Dev

양식에서 보고서를 여는 중 오류 발생

분류에서Dev

열을 나누고 결과를 새 열에 추가하는 중 오류가 발생했습니다.

분류에서Dev

가상 프로그래밍 언어를 구문 분석하는 중에 오류가 발생했습니다.

분류에서Dev

Capistrano를 사용하고 캡 배포 실행 중 오류 발생

분류에서Dev

Codeigniter를 3.1.3에서 3.1.4로 업그레이드하는 중 오류 발생

분류에서Dev

사용자 정의 클래스를 사용하는 중 오류 발생

분류에서Dev

Tensorlfow 객체 감지 API에서 추론 그래프를 내보내는 동안 오류가 발생했습니다.

분류에서Dev

CoreData를 기존 프로젝트에 추가하는 중에 오류가 발생했습니다.

분류에서Dev

OpenCV JAVA로 이미지에서 얼굴을 감지하는 중 오류 발생

분류에서Dev

RelativeLayout에보기를 추가하는 중에 오류가 발생했습니다.

분류에서Dev

py 3.6 Ubuntu 16.04 설정 도구를 사용하여 Anaconda 환경에서 TensorFlow 1.2 GPU를 설치하는 중 오류 발생

분류에서Dev

tar 파일을 추출하려고 할 때 오류 발생 :`-Acdtrux '또는`--test-label'옵션 중 하나를 지정해야합니다.

분류에서Dev

파이썬에서 opencv를 사용하여 이미지의 가우시안 블러 중에 오류가 발생합니다. 이전에 코드가 제대로 작동하고 갑자기 오류가 나타났습니다.

분류에서Dev

중고품 생성 클래스를 Java 1.5로 컴파일하는 동안 오류가 발생했습니다.

분류에서Dev

KNN에 대한 결정 경계를 그래프로 표시하는 중 오류

분류에서Dev

보석 '야드'를로드하는 중에 오류가 발생했습니다.

분류에서Dev

expressjs 프로젝트에서 swagger를 설정하는 중 오류가 발생했습니다.

분류에서Dev

추가 모듈이있는 Opencv 3.1.0에서 DLL로드 실패 오류 발생

분류에서Dev

프로그램을 실행하고 전화에서 오류가 발생하여 중지

Related 관련 기사

  1. 1

    TensorFlow Object Detection API에서 두 개의 다른 추론 그래프를 순차적으로 내보내는 동안 오류가 발생했습니다.

  2. 2

    .csv를 tensorflow에로드하는 중에 오류가 발생했습니다.

  3. 3

    Tensorflow로 객체 감지를 구현하려고 시도하는 중에 오류가 발생했습니다.

  4. 4

    TensorFlow Faster R-CNN 고정 그래프를 인텔 openVINO 프레임 워크로 변환하는 동안 내부 오류가 발생했습니다.

  5. 5

    TensorRT 추론을 위해 Tensorflow 고정 그래프를 UFF로 변환

  6. 6

    TensorFlow의 신경망에 레이어를 추가하는 중에 오류가 발생했습니다.

  7. 7

    추론을 위해 tensorflow 객체 감지 API를 사용하여 생성 된 두 개의 다른 고정 그래프를 수정하고 결합합니다.

  8. 8

    다중 정의 오류. 키워드 'extern'을 추가하고 다시 오류가 발생합니다.

  9. 9

    Excel에서 데이터를로드하는 중 오류 발생

  10. 10

    Android에서 자체 TensorFlow 모델을 실행하면 기본 추론 오류가 발생합니다. "Run () 전에 그래프로 세션이 생성되지 않았습니다!"

  11. 11

    양식에서 보고서를 여는 중 오류 발생

  12. 12

    열을 나누고 결과를 새 열에 추가하는 중 오류가 발생했습니다.

  13. 13

    가상 프로그래밍 언어를 구문 분석하는 중에 오류가 발생했습니다.

  14. 14

    Capistrano를 사용하고 캡 배포 실행 중 오류 발생

  15. 15

    Codeigniter를 3.1.3에서 3.1.4로 업그레이드하는 중 오류 발생

  16. 16

    사용자 정의 클래스를 사용하는 중 오류 발생

  17. 17

    Tensorlfow 객체 감지 API에서 추론 그래프를 내보내는 동안 오류가 발생했습니다.

  18. 18

    CoreData를 기존 프로젝트에 추가하는 중에 오류가 발생했습니다.

  19. 19

    OpenCV JAVA로 이미지에서 얼굴을 감지하는 중 오류 발생

  20. 20

    RelativeLayout에보기를 추가하는 중에 오류가 발생했습니다.

  21. 21

    py 3.6 Ubuntu 16.04 설정 도구를 사용하여 Anaconda 환경에서 TensorFlow 1.2 GPU를 설치하는 중 오류 발생

  22. 22

    tar 파일을 추출하려고 할 때 오류 발생 :`-Acdtrux '또는`--test-label'옵션 중 하나를 지정해야합니다.

  23. 23

    파이썬에서 opencv를 사용하여 이미지의 가우시안 블러 중에 오류가 발생합니다. 이전에 코드가 제대로 작동하고 갑자기 오류가 나타났습니다.

  24. 24

    중고품 생성 클래스를 Java 1.5로 컴파일하는 동안 오류가 발생했습니다.

  25. 25

    KNN에 대한 결정 경계를 그래프로 표시하는 중 오류

  26. 26

    보석 '야드'를로드하는 중에 오류가 발생했습니다.

  27. 27

    expressjs 프로젝트에서 swagger를 설정하는 중 오류가 발생했습니다.

  28. 28

    추가 모듈이있는 Opencv 3.1.0에서 DLL로드 실패 오류 발생

  29. 29

    프로그램을 실행하고 전화에서 오류가 발생하여 중지

뜨겁다태그

보관