Tensorflow2.2 객체 감지 API win10 설치 구덩이는 여러 CUDA 설치에서 실행 오류 문제를 해결합니다.

Tensorflow2.2 객체 감지 API

tensorflow2.2 객체 감지 API에 나타나는 알 수없는 오류가 가장 움푹 들어간 지점입니다. 문제를 찾는 데 거의 8 시간이 걸렸습니다. 내 광산 구덩이 기록을 천천히 살펴 보겠습니다.이 데모를 단계별로 실행할 수 있습니다.

설치 프로세스 여기
에서주의해야 할 사항을 따를 수 있습니다. 노란색으로 표시했습니다.

  • 모든 운영 및 설치는 가상 환경에서 운영되고 내 가상 환경은 tensorflow이며 tf2.2.0이이 환경에 설치됩니다.
    처음에는 맹목적으로 설치하고 기본 환경에 tf1.5.0을 설치 한 다음 텐서 플로우 환경에서 코드를 실행하고 많은 구덩이를 밟고 동일한 환경에 설치하려고했습니다.

먼저 아나콘다 프롬프트를 엽니 다.

activate tf2

(tf) C:\Users\LR18813040244>
  • (6) 安装 Tensorflow 객체 감지 API
# From within TensorFlow/models/research/
cp object_detection/packages/tf2/setup.py .
python -m pip install .

Win10에는 cp 명령이 없습니다. 위의 두 문장을 실행하면 오류가보고됩니다. 설치를 수행하려면 setup.py 디렉토리로 이동해야합니다.

cd E:\model_examples\my_models\research\object_detection\packages\tf2
python setup.py install

일부 종속성을 다운로드 할 수 없습니다. 밤새도록 그리고 다음날 밤새도록 머물 렀습니다. 당황해서 수동으로 다운로드했습니다.

  • (7) 성공적으로 설치되었는지 확인 (실패해도 괜찮습니다)
# From within TensorFlow/models/research/
python object_detection/builders/model_builder_tf2_test.py

공식 모듈이 누락되었다는 오류가보고 되었기 때문에 여기서 실패했습니다. 공식 모듈에는 tf> = 2.4.0이 필요했습니다. tf2.4.0을 다운로드하는 것을보고 즉시 확인했습니다. tf를 제거 할 것이기 때문입니다. 2.2.0 for you 예, CUDA와 cudnn은 더 이상 사용할 수 없습니다. 공식 웹 사이트에서 제공 하는 매칭 관계최대 tf2.3.0입니다.

  • 2. 자신의 케이스 테스트
    이것은 매우 구덩이이며 공식 웹 사이트 코드가 실행되지 않을 수 있습니다. 여기에 내가 작성한 내용을 완전히 기반으로 할 수있는 단계에 대한 자세한 설명이 있으므로 위 부분을 볼 필요가 없습니다.

1. 아나콘다 프롬프트를 열어 tensorflow 환경을 활성화합니다.

2. object_detection_tutorial.ipynb가있는 디렉토리를 찾습니다.

여기에 사진 설명 삽입

3. jupyter 노트북으로 열기

(tensorflow) D:\model_examples\models\research\object_detection\colab_tutorials>jupyter notebook

4. 모두 실행할 필요가 없습니다. 여기서부터 실행을 시작하십시오

. 5. 오류 'object_detection'이라는 모듈이 없습니다. 해결 방법 : add
! pip install tensorflow-object-detection-api 모듈을 가져 오기 전에 다음과 같이하십시오.

!pip install tensorflow-object-detection-api
from object_detection.utils import ops as utils_ops
from object_detection.utils import label_map_util
from object_detection.utils import visualization_utils as vis_util

5. 서비스가 다운되면 즉시 다시 시작됩니다. 코드의 상대 경로를 절대 경로로 변경하면 문제가 해결됩니다.

6. 마지막 셀 작업에서 알 수없는 오류
여기에 사진 설명 삽입
가보고되면 CUDA와 cudnn이 일치하지 않을 가능성이 있습니다. anaconda 프롬프트에서 프롬프트 된 내용을보십시오.
Loaded runtime CuDNN 라이브러리가있는 경우 : 7.5.1이지만 소스가 다음으로 컴파일되었습니다. 7.6 .5
또는
Cudnn 핸들을 만들 수 없음 : CUDNN_STATUS_ALLOC_FAILED는 기본적으로 CUDA와 cudnn이 일치하지 않음을 의미합니다. 사실 제가 설치 한 것이 요구 사항을 완전히 충족합니다. CUDA10.1과 cudnn7.6.5를 설치했는데 문제는 CUDA 2 개를 설치했다는 것입니다. 전에 CUDA v10.0을 설치했기 때문에 v10.0과 관련된 환경 변수가 있습니다. 위, 이제 CUDA를 v10.1로 전환하고 컴퓨터가 CUDA10.1을 사용하도록하고 v10.1의 환경 변수를 맨 위로 이동해야합니다. 자세한 작업은 여기를 참조하십시오

여기에 사진 설명 삽입
이러한 방식으로 CUDA와 cudnn은 서로 일치 할 수 있으며 프로그램이 실행될 수 있습니다.

7. 인스턴스 분할 부분의 masking_model.output_shapes 줄에 오류가보고되며 다음 코드로 변경하여 문제를 해결합니다.

# masking_model.output_shapes
masking_model.signatures['serving_default'].output_shapes

추천

출처blog.csdn.net/weixin_44823313/article/details/113115245