티스토리 뷰

[원인]

torch 버전과 torch를 이용한 training을 최적화해주는 lightening 라이브러리 사이의 업데이트 사이에서 변경점이 서로 충돌하는 것이 원인이라고 생각된다. torch의 lr_scheduler.py파일은 버전에 따라서 class 이름이 LRScheduler인 것도 있지만 _LRScheduler로 언더바가 붙은 버전도 배포된 것으로 생각된다.

왼쪽 : pytorch의 lr_scheduler.pyu 내가 가진 환경은 class 이름이 _LRScheduler로 되어있다. 오른쪽 : 반면 이를 불러오는 lightening의 코드는 언더바 없이 LRScheduler를 import하고 있다. 이러니 에러가 날 수밖에.

 

[해결법]

.conda/envs/{ENV_NAME}/lib/python3.8/site-packages/lightning_fabric/utilities/types.py로 들어가서 lightening의 LRScheduler import 코드에 언더바를 붙여서 저장해주면 된다.

 

댓글