기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
기계 학습 추론 문제 해결
이 섹션의 문제 해결 정보와 해결 방법을 사용하여 기계 학습 구성 요소 관련 문제를 해결하세요. 퍼블릭 기계 학습 추론 구성 요소에 대해서는 다음 구성 요소 로그의 오류 메시지를 참조하세요.
구성 요소가 올바르게 설치된 경우 구성 요소 로그에는 추론에 사용하는 라이브러리의 위치가 포함됩니다.
문제
- 라이브러리를 가져오지 못함
- Cannot open shared object file
- Error: ModuleNotFoundError: No module named '<library>'
- CUDA 지원 디바이스가 감지되지 않음
- 해당 파일 또는 디렉터리 없음
- RuntimeError: module compiled against API version 0xf but this version of NumPy is <version>
- picamera.exc.PiCameraError: Camera is not enabled
- 메모리 오류
- 디스크 공간 오류
- 제한 시간 오류
라이브러리를 가져오지 못함
다음 오류는 설치 관리자 스크립트에서 Raspberry Pi 디바이스에 배포하는 동안 필요한 라이브러리를 다운로드하지 못할 때 발생합니다.
Err:2 http://raspbian.raspberrypi.org/raspbian buster/main armhf python3.7-dev armhf 3.7.3-2+deb10u1 404 Not Found [IP: 93.93.128.193 80] E: Failed to fetch http://raspbian.raspberrypi.org/raspbian/pool/main/p/python3.7/libpython3.7-dev_3.7.3-2+deb10u1_armhf.deb 404 Not Found [IP: 93.93.128.193 80]
sudo apt-get update
을 실행하고 구성 요소를 다시 배포합니다.
Cannot open shared object file
설치 관리자 스크립트에서 Raspberry Pi 디바이스에 배포하는 동안 opencv-python
에 필요한 종속성을 다운로드하지 못할 때 다음과 유사한 오류가 발생할 수 있습니다.
ImportError: libopenjp2.so.7: cannot open shared object file: No such file or directory
다음 명령을 실행하여 opencv-python
에 대한 종속성을 수동으로 설치합니다.
sudo apt-get install libopenjp2-7 libilmbase23 libopenexr-dev libavcodec-dev libavformat-dev libswscale-dev libv4l-dev libgtk-3-0 libwebp-dev
Error: ModuleNotFoundError: No module named '<library>'
ML 런타임 라이브러리 또는 해당 종속성이 올바르게 설치되지 않은 경우 ML 런타임 구성 요소 로그(variant.DLR.log
또는 variant.TensorFlowLite.log
)에 이 오류가 표시될 수 있습니다. 이 오류는 다음 경우에 발생할 수 있습니다.
-
기본적으로 활성화되는
UseInstaller
옵션을 사용하는 경우 이 오류는 ML 런타임 구성 요소가 런타임 또는 해당 종속성을 설치하지 못했음을 나타냅니다. 다음을 따릅니다.-
UseInstaller
옵션을 비활성화하도록 ML 런타임 구성 요소를 구성합니다. -
ML 런타임과 해당 종속성을 설치하고 ML 구성 요소를 실행하는 시스템 사용자가 사용할 수 있도록 합니다. 자세한 내용은 다음 자료를 참조하세요.
-
-
UseInstaller
옵션을 사용하지 않는 경우 이 오류는 ML 런타임 또는 해당 종속 항목이 ML 구성 요소를 실행하는 시스템 사용자에 대해 설치되지 않았음을 나타냅니다. 다음을 따릅니다.-
ML 구성 요소를 실행하는 시스템 사용자에 대해 라이브러리가 설치되어 있는지 확인합니다.
ggc_user
를 시스템 사용자의 이름으로 바꾸고tflite_runtime
을 확인할 라이브러리의 이름으로 바꿉니다. -
라이브러리가 설치되지 않은 경우 해당 사용자에 대해 라이브러리를 설치합니다.
ggc_user
를 시스템 사용자의 이름으로 바꾸고tflite_runtime
을 라이브러리의 이름으로 바꿉니다.각 ML 런타임의 종속성에 대한 자세한 내용은 다음을 참조하세요.
-
문제가 지속되는 경우 다른 사용자에 대해 라이브러리를 설치하여 이 디바이스가 라이브러리를 설치할 수 있는지 확인합니다. 예를 들어 사용자는 사용자, 루트 사용자 또는 관리 사용자일 수 있습니다. 어떤 사용자에 대해서도 라이브러리를 설치할 수 없는 경우 디바이스가 라이브러리를 지원하지 않을 수 있습니다. 라이브러리 설명서를 참조하여 요구 사항을 검토하고 설치 문제를 해결합니다.
-
CUDA 지원 디바이스가 감지되지 않음
GPU 가속화를 사용하면 다음 오류가 발생할 수 있습니다. 다음 명령을 실행하여 Greengrass 사용자의 GPU 액세스를 활성화합니다.
sudo usermod -a -G video ggc_user
해당 파일 또는 디렉터리 없음
다음 오류는 런타임 구성 요소가 가상 환경을 올바르게 설정할 수 없음을 나타냅니다.
-
MLRootPath
/greengrass_ml_dlr_conda/bin/conda: No such file or directory -
MLRootPath
/greengrass_ml_dlr_venv/bin/activate: No such file or directory -
MLRootPath
/greengrass_ml_tflite_conda/bin/conda: No such file or directory -
MLRootPath
/greengrass_ml_tflite_venv/bin/activate: No such file or directory
로그를 확인하여 모든 런타임 종속성이 올바르게 설치되었는지 확인합니다. 설치 관리자 스크립트에서 설치한 라이브러리에 대한 자세한 내용은 다음 주제를 참조하세요.
기본적으로 MLRootPath
는
로 설정됩니다. 이 위치를 변경하려면 배포에 DLR 런타임 또는 TensorFlow Lite 런타임 런타임 구성 요소를 직접 포함시키고 구성 병합 업데이트에서
/work//greengrass/v2
component-name
/greengrass_mlMLRootPath
파라미터에 수정된 값을 지정합니다. 구성 요소 구성에 대한 자세한 내용은 구성 요소 구성 업데이트 섹션을 참조하세요.
참고
DLR 구성 요소 v1.3.x의 경우 추론 구성 요소의 구성에서 MLRootPath
파라미터를 설정하며 기본값은 $HOME/greengrass_ml
입니다.
RuntimeError: module compiled against API version 0xf but this version of NumPy is <version>
Raspberry Pi OS Bullseye를 실행하는 Raspberry Pi에서 기계 학습 추론을 실행할 때 다음 오류가 표시될 수 있습니다.
RuntimeError: module compiled against API version 0xf but this version of numpy is 0xd ImportError: numpy.core.multiarray failed to import
이 오류는 Raspberry Pi OS Bullseye에 OpenCV에 필요한 버전보다 이전 버전의 NumPy가 포함되어 있기 때문에 발생합니다. 이 문제를 해결하려면 다음 명령을 실행하여 NumPy를 최신 버전으로 업그레이드합니다.
pip3 install --upgrade numpy
picamera.exc.PiCameraError: Camera is not enabled
Raspberry Pi OS Bullseye를 실행하는 Raspberry Pi에서 기계 학습 추론을 실행할 때 다음 오류가 표시될 수 있습니다.
picamera.exc.PiCameraError: Camera is not enabled. Try running 'sudo raspi-config' and ensure that the camera has been enabled.
이 오류는 Raspberry Pi OS Bullseye에 ML 구성 요소와 호환되지 않는 새 카메라 스택이 포함되어 있기 때문에 발생합니다. 이 문제를 해결하려면 레거시 카메라 스택을 활성화합니다.
레거시 카메라 스택을 활성화하려면
-
다음 명령을 실행하여 Raspberry Pi 구성 도구를 엽니다.
sudo raspi-config
-
인터페이스 옵션을 선택합니다.
-
레거시 카메라를 선택하여 레거시 카메라 스택을 활성화합니다.
-
Raspberry Pi를 재부팅합니다.
메모리 오류
다음 오류는 일반적으로 디바이스에 메모리가 충분하지 않고 구성 요소 프로세스가 중단될 때 발생합니다.
-
stderr. Killed.
-
exitCode=137
퍼블릭 기계 학습 추론 구성 요소를 배포하려면 최소 500MB의 메모리를 사용하는 것이 좋습니다.
디스크 공간 오류
no space left on device
오류는 일반적으로 디바이스에 스토리지가 부족할 때 발생합니다. 구성 요소를 다시 배포하기 전에 디바이스에 사용 가능한 디스크 공간이 충분한지 확인합니다. 퍼블릭 기계 학습 추론 구성 요소를 배포하려면 최소 500MB의 빈 디스크 공간을 사용하는 것이 좋습니다.
제한 시간 오류
퍼블릭 기계 학습 구성 요소는 200MB보다 큰 기계 학습 모델 파일을 다운로드합니다. 배포 중에 다운로드 시간이 초과되면 인터넷 연결 속도를 확인하고 배포를 다시 시도하세요.