윈도우 환경에서 shm.dll" or one of its dependencies. 가 납니다.

윈도우 10에서 YoloV7로 하고 있고 아나콘다 없는 환경으로 하고 있고요.

image

이 설정으로 했습니다.

쿠다 킷 설치 했고 , cudnn 설치 했고

pip install -r requirements.txt 명령어로 필요한 패키지 설치 하고

./detect.py --weights yolov7-e6e.pt --source E:/bts.jpg 이 명령을 실행 하니

PS E:\yolov7-main> ./detect.py --weights yolov7-e6e.pt --source E:/bts.jpg
Traceback (most recent call last):
File "E:\yolov7-main\detect.py", line 6, in
import torch
File "C:\Users\AppData\Roaming\Python\Python311\site-packages\torch_init_.py", line 141, in
raise err
OSError: [WinError 126] 지정된 모듈을 찾을 수 없습니다. Error loading "C:\Users\AppData\Roaming\Python\Python311\site-packages\torch\lib\shm.dll" or one of its dependencies.

이렇게 에러가 나옵니다.

검색을 해보면 아나콘다 재설치 하라는데 저는 아나콘다 없이 하는 환경인데 답이 없습니다.

shm.dll도 경로에 가면 존재 합니다.

무엇이 문제 일까요

  • 아래 답변은 Google의 Gemini Pro 모델로 자동 생성한 것으로, 정확하지 않을 수 있습니다.
  • 잘못된 답변을 보셨다면 댓글로 첨삭 지도 부탁드립니다. :sweat_smile:

안녕하세요. "shm.dll"이나 종속성 중 하나를 찾을 수 없습니다" 오류로 문제를 겪고 있다는 소식을 들으니 안타깝습니다. 제가 알아보고자 하니 다음 세부 정보를 좀 더 제공하여 주시겠습니까?

  1. 사용 중인 Python 버전
  2. 사용 중인 CUDA 버전
  3. 사용 중인 cuDNN 버전

또한 다음 단계를 수행해 보시기 바랍니다.

  1. PATH 환경 변수에 CUDA 설치 디렉터리와 cuDNN 설치 디렉터리가 포함되어 있는지 확인합니다.
  2. 명령 프롬프트에서 pip freeze를 실행하여 설치된 모든 패키지를 나열합니다. 이를 통해 PyTorch가 올바르게 설치되었는지 확인할 수 있습니다.
  3. PyTorch를 다시 설치해 봅니다.

이러한 단계를 수행해도 문제가 해결되지 않으면 구체적인 오류 메시지와 함께 새로운 게시물을 생성해 주세요. 최선을 다해 문제 해결을 도와드리겠습니다.

참고 자료:


  • 답변이 어떠셨나요? 괜찮았다고 생각하신다면 아래 :heart:를 한 번 눌러주시길 부탁드려요!
  • 아래 답변은 OpenAI의 GPT-4-Turbo 모델로 자동 생성한 것으로, 정확하지 않을 수 있습니다.
  • 잘못된 답변을 보셨다면 댓글로 첨삭 지도 부탁드립니다. :sweat_smile:

안녕하세요! 문제에 직면하셨을 때의 답답함을 이해합니다. 윈도우 10 환경에서 아나콘다 없이 YoloV7을 사용하시면서 shm.dll 관련 오류가 발생하는 상황에 대해 질문하셨군요. 설명해주신 내용을 바탕으로, 필요한 패키지 설치 후 detect.py 스크립트를 실행하려고 할 때 shm.dll 또는 그 의존성을 불러오는 과정에서 문제가 발생하는 것으로 보입니다.

이 문제를 해결하기 위해 몇 가지 방법을 제안드리겠습니다. 먼저, PyTorch와 관련된 라이브러리들이 올바르게 설치되었는지 확인하는 것이 중요합니다. 윈도우 환경에서는 특히 DLL 파일들이 올바른 위치에 있어야 하며, 모든 의존성이 만족되어야 합니다.

해결 방법

  1. PyTorch 재설치: 가장 먼저 시도해볼 수 있는 방법은 PyTorch를 재설치하는 것입니다. PyTorch 공식 홈페이지에서 제공하는 명령어를 사용하여 설치할 수 있습니다. CUDA 버전과 호환되는 PyTorch 버전을 설치해야 합니다. 예를 들어, CUDA 11.3을 사용한다면 아래와 같이 설치할 수 있습니다.
pip install torch torchvision torchaudio

CUDA 버전에 맞는 설치 명령어는 PyTorch 공식 홈페이지에서 확인할 수 있습니다.

  1. 환경 변수 확인: shm.dll 파일이 시스템에 의해 찾아질 수 있도록 환경 변수를 확인하고 설정해야 할 수도 있습니다. PATH 환경 변수에 PyTorch가 설치된 경로(예: C:\Users\AppData\Roaming\Python\Python311\site-packages\torch\lib)를 추가해보세요.

  2. 시스템 재시작: 환경 변수를 변경한 후에는 시스템을 재시작하여 변경사항이 적용되도록 합니다.

  3. 의존성 문제 해결: 때때로, 특정 DLL 파일이 시스템에 없거나 손상되어 있을 수 있습니다. shm.dll이 정상적으로 존재한다고 하셨으니, 이 DLL이 의존하는 다른 DLL 파일이 누락되었거나 손상되었을 가능성이 있습니다. 이 경우, Dependency Walker와 같은 도구를 사용하여 shm.dll이 의존하는 파일을 확인하고 문제를 해결할 수 있습니다.

  4. Python 버전 확인: Python 3.11을 사용하고 계신 것 같은데, PyTorch가 해당 버전과 완벽하게 호환되는지 확인해보세요. 때때로, 최신 Python 버전과의 호환성 문제로 인해 문제가 발생할 수 있습니다. 가능하다면, Python 3.8이나 3.9와 같이 널리 사용되고 검증된 버전으로 시도해보는 것도 좋습니다.

PyTorch 공식 문서나 튜토리얼을 참고하시면 추가적인 정보를 얻을 수 있습니다. PyTorch 설치 관련 문서는 다음 링크에서 확인할 수 있습니다:

제안드린 방법들로 문제가 해결되기를 바랍니다. 만약 계속해서 문제가 발생한다면, 추가적인 정보와 함께 다시 질문해주시면 더 구체적으로 도와드릴 수 있을 것입니다. 제 답변이 정확하지 않을 수도 있으니, 이 점 양해 부탁드립니다.


  • 답변이 어떠셨나요? 괜찮았다고 생각하신다면 아래 :heart:를 한 번 눌러주시길 부탁드려요!
  • 아래 답변은 Anthropic의 Claude-3 Opus 모델로 자동 생성한 것으로, 정확하지 않을 수 있습니다.
  • 잘못된 답변을 보셨다면 댓글로 첨삭 지도 부탁드립니다. :sweat_smile:

안녕하세요! YOLOv7을 윈도우 환경에서 실행하려고 할 때 "shm.dll" 또는 관련 종속성을 찾을 수 없다는 오류가 발생하는 것 같네요. 아나콘다를 사용하지 않는 환경에서 CUDA 및 cuDNN을 설치하고 필요한 패키지도 설치했다고 말씀해 주셨는데요.

이 문제는 PyTorch가 CUDA 라이브러리를 찾지 못해서 발생하는 것 같습니다. 먼저 CUDA와 cuDNN이 시스템에 올바르게 설치되었는지 확인해 보시는 것이 좋겠어요. 또한 PyTorch가 GPU 버전으로 설치되었는지도 확인해 보세요.

해결 방법으로는 다음과 같은 것들이 있습니다:

  1. CUDA와 cuDNN 설치가 올바른지 확인하세요. CUDA 설치 경로가 시스템 PATH 환경 변수에 추가되어 있어야 합니다.
  2. PyTorch가 GPU 버전으로 설치되었는지 확인하세요. 다음 명령어로 설치할 수 있습니다:
    pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu116
    
    여기서 cu116은 CUDA 11.6 버전을 의미합니다. 설치된 CUDA 버전에 맞게 수정하세요.
  3. 필요한 환경 변수를 설정해 주세요. 시스템 환경 변수 PATH에 CUDA 경로를 추가하고, CUDA_PATH 변수도 설정해야 합니다. 예를 들면:
    SET PATH=C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.6\bin;%PATH%
    SET CUDA_PATH=C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.6
    
  4. 또는 Python 코드 상단에서 CUDA 라이브러리 경로를 명시적으로 지정해 줄 수도 있습니다:
    import os
    os.add_dll_directory("C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v11.6/bin")
    

이러한 방법들을 시도해 보시고, 그래도 해결되지 않는다면 CUDA와 cuDNN 설치를 제대로 다시 하는 것이 좋겠습니다.

참고로 PyTorch 공식 튜토리얼에서 윈도우에서의 PyTorch 설치 가이드를 확인해 보실 수 있습니다:

그리고 이 PyTorch 한국 사용자 모임의 튜토리얼에서도 Windows에서 CUDA 연동하여 PyTorch 설치하는 방법을 설명하고 있어요:

제가 제안드린 방법들이 문제 해결에 도움이 되기를 바랍니다. 그럼에도 안 된다면 더 자세한 정보를 알려주시면 좋을 것 같네요. 혹시 제가 놓친 부분이 있거나 잘못된 내용이 있다면 말씀해 주세요. 감사합니다!


  • 답변이 어떠셨나요? 괜찮았다고 생각하신다면 아래 :heart:를 한 번 눌러주시길 부탁드려요!
  • 아래 답변은 OpenAI의 GPT-4 모델로 자동 생성한 것으로, 정확하지 않을 수 있습니다.
  • 잘못된 답변을 보셨다면 댓글로 첨삭 지도 부탁드립니다. :sweat_smile:

안녕하세요! 문제에 직면하셨을 때 답답함을 느끼셨을 것 같아요. 윈도우 환경에서 PyTorch를 사용하여 YoloV7을 실행하시는 과정에서 "shm.dll" 또는 그 의존성 문제로 오류가 발생하는 상황에 대해 질문하신 것으로 이해했습니다. 아나콘다를 사용하지 않는 환경에서 발생하는 이 문제를 해결하기 위해 몇 가지 방법을 제안드리겠습니다.

문제 해결 방법

  1. 환경 변수 설정: shm.dll 오류는 대부분 환경 변수 설정 문제에서 비롯됩니다. 시스템 환경 변수에 Python 및 PyTorch 관련 경로가 올바르게 설정되어 있는지 확인해주세요. 특히, PATH 환경 변수에 Python 및 해당 lib 폴더 경로가 포함되어 있는지 확인이 필요합니다.

  2. PyTorch 재설치: PyTorch 설치가 제대로 되지 않았을 가능성도 있습니다. PyTorch 공식 홈페이지의 설치 가이드를 따라 올바른 버전의 PyTorch를 재설치해보세요. 윈도우 환경에서는 CUDA 버전과 호환되는 PyTorch 버전을 선택하는 것이 중요합니다.

    pip uninstall torch torchvision torchaudio
    pip install torch torchvision torchaudio
    

    위 명령어를 사용하여 PyTorch와 관련 라이브러리를 재설치할 수 있습니다. CUDA 버전에 맞는 설치 명령어는 PyTorch 공식 홈페이지에서 확인하실 수 있습니다.

  3. 시스템 재시작: 환경 변수 변경 후에는 시스템을 재시작하여 변경사항을 적용해야 합니다. 때로는 이러한 간단한 조치만으로도 문제가 해결되기도 합니다.

  4. 의존성 확인: shm.dll 파일이 존재한다고 하셨으니, 해당 DLL 파일의 의존성을 확인해볼 필요가 있습니다. Dependency Walker 같은 도구를 사용하여 shm.dll이 요구하는 다른 DLL 파일이 시스템에 존재하는지 확인해보세요.

  5. Python 버전 확인: Python 3.11을 사용 중이신 것 같은데, 현재 PyTorch가 해당 버전과 완벽하게 호환되는지 확인해보세요. 때로는 Python의 하위 버전(예: 3.8, 3.9)으로 내려가는 것이 더 나은 호환성을 제공할 수 있습니다.

참고 링크

제안드린 해결 방법들을 시도해보시고, 여전히 문제가 해결되지 않는다면, 추가적인 정보와 함께 질문을 다시 올려주시면 좋겠습니다. 제 답변이 정확하지 않을 수도 있으니, 다른 가능한 해결책도 고려해보시기 바랍니다. 문제 해결을 위해 최선을 다하겠습니다!


  • 이 답변이 도움이 되셨나요? 괜찮았다고 생각하신다면 아래 :heart:를 한 번 눌러주시길 부탁드려요!

아나콘다환경을 세팅하고 아나콘다로 해본다던가 아니면 yolov7에서 권장하거나 명시한 버전의 pytorch 버전을 설치 후 테스트를 해보시는건 어떨까요?
단순한 의견입니다ㅎㅎ