PyTorch Lightning

김성빈·2024년 6월 6일
0

Modern Computer Vision

목록 보기
96/117

PyTorch Lightning?

PyTorch Lightning은 PyTorch를 위한 고수준 인터페이스를 제공하는 오픈 소스 Python 라이브러리

아래는 라이트닝을 위한 스냅샷

파이토치 라이트닝에 대해 설명한 내용이다.

이 기술을 사용하는 이유는

"PyTorch Lightning은 복잡한 네트워크 코딩을 간단하게 만들어 준다"

라고 설명하고 있다.

추가로 "순수 PyTorch로 구축되어 있어 새로운 언어를 배울 필요가 없다."

이 부분이 사람들이 많이 사용하는 이유인 것 같다.

그 밑에 보라색으로 적힌 것들은 간단하게 만들어주게 하기 위한 방식들이다.

여태 배웠던 것 중 로깅, 비쥬얼제이션, 얼리스탑, 모델 체킹포인트 등 직접 해봤던 방식들도 있다.

다시한번 왜 사용할까?

단순히 고수준이고 사용하기 쉬운 라이브러리일 뿐만 아니라,

훨씬 더 많은 장점을 제공한다.

최신 모델을 손쉽게 구성할 수 있는 모듈식 접근 방식을 제공하여,

Python 코딩보다는 딥러닝 모델을 만드는 데 더 집중할 수 있게 해주는데,

이는 연구자들이 모델 배포나 훈련 확장에 대해 걱정하지 않고

연구에 더 집중할 수 있게 해준다.

지금은 얘가 어떤애인지 간단하게 확인하기 위함으로 어떻게 다른지만 보자.

PyTorch Lightning 코드의 최소 예시


모델 정의, 훈련 루프, 검증 루프, 테스트 루프, 최적화의 구성으로 Lightning의 최소 예시이다.

PyTorch VS PyTorch Lightning

PyTorch에서는 에폭을 호출하고 배치를 처리해야 했지만, Lightning에서는 훈련 단계와 검증 단계를 함수로 정의할 수 있다.

최적화 단계


Trainers

함수로 묶어서 간단하게 표현된다.

Trainer


여기는 확실히 간단

Data Modules


이렇게 PyTorch와 PyTorch Lightning에 대해 봤는데,

코드만 비교했을때는 이해하는것은 어려우므로 실습해보자.

profile
감사합니다. https://www.youtube.com/channel/UCxlkiu9_aWijoD7BannNM7w

0개의 댓글