pytorch 폐쇄망

안녕하세요 pytorch로 yolov5 프로그램 개발 중입니다.
현재 문제점은 이 프로그램을 내부 네트워크 망으로 돌려야 하는데 yolov5 모델 로드 시 json파일을 url로 요청하는데 이 부분에서 오류가 발생합니다. yolov5를 폐쇄망으로 돌릴 수 있을까요?
(인터넷 연결을 할 수 없는 곳입니다.)

# Load model
model = attempt_load(weights, map_location=device)  # load FP32 model
stride = int(model.stride.max())  # model stride
imgsz = check_img_size(imgsz, s=stride)  # check img_size
names = model.module.names if hasattr(model, 'module') else model.names  # get class names
if half:
    model.half()  # to FP16

attempt_load 부분에서 에러가 발생합니다

Traceback (most recent call last):
File “C:/Users/HwangMW/PycharmProjects/yolov5/start.py”, line 127, in
detect()
File “C:/Users/HwangMW/PycharmProjects/yolov5/start.py”, line 32, in detect
model = attempt_load(weights, map_location=device) # load FP32 model
File “C:\Users\HwangMW\PycharmProjects\yolov5\models\experimental.py”, line 117, in attempt_load
attempt_download(w)
File “C:\Users\HwangMW\PycharmProjects\yolov5\utils\google_utils.py”, line 25, in attempt_download
response = requests.get(‘https://api.github.com/repos/ultralytics/yolov5/releases/latest’).json() # github api
File “C:\Users\HwangMW\AppData\Local\Programs\Python\Python36\lib\site-packages\requests\api.py”, line 76, in get
return request(‘get’, url, params=params, **kwargs)
File “C:\Users\HwangMW\AppData\Local\Programs\Python\Python36\lib\site-packages\requests\api.py”, line 61, in request
return session.request(method=method, url=url, **kwargs)
File “C:\Users\HwangMW\AppData\Local\Programs\Python\Python36\lib\site-packages\requests\sessions.py”, line 542, in request
resp = self.send(prep, **send_kwargs)
File “C:\Users\HwangMW\AppData\Local\Programs\Python\Python36\lib\site-packages\requests\sessions.py”, line 655, in send
r = adapter.send(request, **kwargs)
File “C:\Users\HwangMW\AppData\Local\Programs\Python\Python36\lib\site-packages\requests\adapters.py”, line 516, in send
raise ConnectionError(e, request=request)
requests.exceptions.ConnectionError: HTTPSConnectionPool(host=‘api.github.com’, port=443): Max retries exceeded with url: /repos/ultralytics/yolov5/releases/latest (Caused by NewConnectionError(‘<urllib3.connection.HTTPSConnection object at 0x000002366B28EBA8>: Failed to establish a new connection: [Errno 11001] getaddrinfo failed’,))
[ WARN:0] global C:\Users\appveyor\AppData\Local\Temp\1\pip-req-build-6uw63ony\opencv\modules\videoio\src\cap_msmf.cpp (434) `anonymous-namespace’::SourceReaderCB::~SourceReaderCB terminating async callback

Process finished with exit code 1

에러 부분입니다

안녕하세요,
질문하신 내용이 위 코드를 실행하는 환경이 인터넷에 연결이 되어 있지 않다는 말씀이실까요?

맞다면, 해당 에러 메시지를 따라가며 모델을 불러오는 부분을 살펴보시고 미리 모델 파일을 내려받아 함께 배포하시면 어떨까요?

에러 메시지 상으로는,

attempt_download() 함수는 주어진 경로(Path(str(file).strip().replace("'", '')))에 파일이 없는 경우 다운로드를 시도하는 것처럼 보이는데요, 해당 경로를 따라가서 미리 파일을 받으신 뒤에 함께 폐쇄망 내에 배포하면 어떨까요?

3개의 좋아요

감사합니다. 모델을 미리 다운로드하고 실행한 상태였음에도 불구하고 해당 경로에 파일 읽지 못하고 attempt_download() 함수를 계속 호출해서 다운로드를 하더라고요.
attempt_load() 함수 안에서 attempt_download() 함수를 주석 처리하여 해결하였습니다.
좋은 답변 감사드립니다.

1개의 좋아요