inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

수학 없이 시작하는 인공지능 첫걸음: 기초부터 최신 트렌드까지

11강. (실습) 간단한 딥러닝 모델로 만들어보는 의류 분류기

실습 중 에러발생 gt, pred = test()

120

권영건

작성한 질문수 2

0

 회사 정책상 Google Driver 접근이 되지 않습니다.

Visual Studio Code에서 11강_FashionMNIST.ipynb 를 따라하고 있는데,

gt, pred = test('c:/content/drive/MyDrive/inflearn/code/checkpoint/FashoinMNIST-FCN_best_model.pt')

이 부분에서 에러가 발생합니다.

(파일은 위 위치에 저장되도록 해 놓았고, 파일이 있는 것 확인했습니다.)

UnpicklingError Traceback (most recent call last)

 

(1) In PyTorch 2.6, we changed the default value of the weights_only argument in torch.load from False to True. Re-running torch.load with weights_only set to False will likely succeed, but it can result in arbitrary code execution. Do it only if you got the file from a trusted source. (2) Alternatively, to load with weights_only=True please check the recommended steps in the following error message. WeightsUnpickler error: Unsupported global: GLOBAL main.FCNet was not an allowed global by default. Please use torch.serialization.add_safe_globals([__main__.FCNet]) or the torch.serialization.safe_globals([__main__.FCNet]) context manager to allowlist this global if you trust this class/function.

강의내용과 다른 것이 없어 보이는데, 잘 안되는군요.

머신러닝 딥러닝

답변 1

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다.

권영건님, 주신 코드에서 발생한 UnpicklingError는 PyTorch에서 파이썬 객체를 역직렬화할 때 발생하는 문제입니다. 특히 PyTorch 2.6 버전에서 torch.loadweights_only 기본 값이 True로 변경되면서, 역직렬화가 제한되며 해당 오류가 나타날 수 있습니다.

여기서 몇 가지 시도해볼 수 있는 해결 방법을 제안드립니다:

  1. trusted source 사용:

    • torch.load를 사용할 때 weights_only=False로 설정하여 실행해 보세요. 이 방법은 보안상 주의가 필요하며, 파일이 신뢰할 수 있는 소스에서 온 경우에만 사용하는 것이 좋습니다.
    gt, pred = test('c:/content/drive/MyDrive/inflearn/code/checkpoint/FashoinMNIST-FCN_best_model.pt', weights_only=False)
    
  2. safe_globals 설정:

    • 오류 메시지에서 제안한 대로 torch.serialization.add_safe_globals([__main__.FCNet]) 등을 사용하여, 신뢰할 수 있는 클래스를 허용 목록에 추가하는 방법입니다. 이 방법은 해당 클래스가 안전하다고 신뢰할 수 있을 때만 사용하시기 바랍니다.
    import torch
    
    # FCNet 클래스를 허용 목록에 추가
    torch.serialization.add_safe_globals([__main__.FCNet])
    
    # 모델 로드
    gt, pred = test('c:/content/drive/MyDrive/inflearn/code/checkpoint/FashoinMNIST-FCN_best_model.pt')
    
  3. 장기적인 해결책:

    • 코드를 PyTorch 2.6 이전 버전으로 되돌리는 것도 하나의 방법입니다. 그러나 이는 권장되지 않는 방법이며, 가능한 최신 버전을 사용하는 것이 좋습니다.

이렇게 시도해 보시고 문제가 해결되지 않으면, 다른 문제가 있는지 추가적으로 코드 전반을 확인해 보는 것도 좋습니다.

추가적인 도움이나 비슷한 오류가 계속 발생한다면, 인프런 FAQ나 우측 하단의 ‘문의하기’ 기능을 통해 기술 지원을 요청하실 수도 있습니다.

감사합니다!

평가결과값 문의

0

3

1

시계열 데이터 날짜와 시간 format

0

15

1

평가지표 F1 스코어 질문드립니다.

0

16

2

파트9 강의는 언제 오픈하시나요

0

25

2

작업형 2 기출7회분에서

0

32

2

ZIP 파일

0

23

2

26강 13F 강의 불일치 및 질문 요청

0

29

3

[업로드오류] 강의 내용과 제목 불일치

0

24

2

작업형2 모의문제1 (30강)

0

28

2

수강 기간 연장 문의 드립니다.

0

35

2

섹션22 퀴즈 질문

0

30

1

수강 계획과 관련해 문의 드립니다.

0

26

2

Breadth (등락 비율) 분석

0

23

1

작업형1 - 연습문제 16~39 풀이는 몇강을 보면 되나요?

0

49

2

Google Colaboratory 연결 시 접근 권한 거절 됩니다.

0

40

1

11강 No module named 'torchmetrics' 에러

0

115

2

강화학습에 보상과 처벌이라고 한다면...

0

119

0

강의 재생이 안되요

0

119

1

1강 머신러닝 영문 표기 문의

0

380

1

강의자료 PDF파일과 실습자료 어디서 구하나요?

0

997

2

커널 관련 질문 드립니다.

0

517

1

레이어 관련 질문 드립니다.

0

466

1

히든 레이어의 Node 수 관련 질문 드립니다.

0

731

1

노션 자료는 언제 오픈하나요?

0

420

1