PyTorch
- 머신러닝 , 딥뉴럴넷 라이브러리.
- 자동미분시스템을 기반으로 구축된 심층 신경망(Deep Neural Network, DNN) 제공.
- 사용가능 프로그래밍 언어 : 파이썬 , C++ (C++ 용 패키지 명칭 LibTorch)
- GPU 실행 가능.
- 개발 및 관리 주체 : 메타 AI 팀
- 파이토치 사이트 : https://pytorch.org/
- 튜토리얼 사이트 : https://pytorch.org/tutorials/
- 튜토리얼 한국어 번역 사이트 : https://tutorials.pytorch.kr/
PyTorch 패키지
패키지 | |
torch | GPU 지원 되는 텐서처리 |
torch.autograd | 텐서 작업 지원하는 하는 테이프 기반 자동 미분화 |
torch.optim | SGD, RMSProp, LBFGS, Adam 등. torch.nn 과 같이 사용되어 최적화 처리 |
torch.nn | 자동 그래프 , 딥 신경망 |
torch.legacy | 이전 버전과의 호환성 |
torch.utils | DataLoade, Trainer 및 기타 유틸리티 |
torch.multiprocessing | 멀티 프로세싱 |
PyTorch 설치
https://pytorch.org/get-started/locally/
위 링크에서 PyTorch 설치 옵션을 선택하면 가장 아래 부분에 보여주는 대로 설치 진행한다.
PyTorch 포터블 설치
로컬 PC 에 설치 하지 않고, USB 외장 스토리지에 PyTorch 개발환경 구축하면 훨씬 유용하다.
별도 정리 : https://igotit.tistory.com/5759
PyTorch C++ API
ATen | 텐서 및 수학연산 |
Autograd | 자동 미분 |
C++ Frontend | 머신러닝 모델의 훈련과 평가 |
TorchScript | TorchScript JIT 컴파일러 및 인터프리터에 대한 인터페이스 |
C++ Extensions | 사용자 정의 C++ 및 CUDA 루틴으로 Python API를 확장하는 수단 |
상세
Visual Studio Extension
- VC++ 프로젝트 설정을 자동으로 해주는 건데, 필수는아님. 수동으로 설정 가능함.
https://pytorch.org/cppdocs/installing.html#visual-studio-extension
- extension 직접 설치(설치 과정상세 : https://igotit.tistory.com/5794 의 마지막 부분 )하고 확인해봤는데 아무 도움 안됨. 설치 안해도된다.
LibTorch 활용 주의사항
PyTorch 의 C++ 라이브러리인 libtorch 는 PyTorch 의 모든 기능을 완벽하게 제공해주지는 않는다. 특히 복잡한 신경망 모델(예 : 현재 2024.08.16 시점 Temporal Fusion Transformer 같은것)이나 최신 연구에서 개발된 모델은 libtorch 에서 직접 지원되지 않기에 파이썬 기반으로 학습시키는 작업 해야 한다.
TorchScript 이용하여 C++ 에서 활용하는 방식으로 구현하면 범용적 활용 가능.
- libtorch 에서 제공되지 않는 신경망 모델인 경우에는 파이썬에서 구현하고 학습 시킨다.
- 학습된 모델을 torch.jit.script 또는 torch.jit.trace 를 사용하여 모델을 TorchScript 로 변환한다.
- C++ 에서 libtorch 사용하여 TorchScript 를 로드하여 활용.
LibTorch 다운로드 및 VC++ 프로젝트 설정 방법
PyTorch 에서 활용 가능한 뉴럴넷 아키텍쳐 예
첫 등록 : 2024.08.09
최종 수정 : 2024.08.16
단축 주소 : https://igotit.tistory.com/5748
'지속가능티끌 > Data.Math.Phys' 카테고리의 다른 글
신경망 . transformer / temporal fusion transformer 차이점 (0) | 2024.08.18 |
---|---|
PyTorch . 포터블 개발 환경 구축 (0) | 2024.08.16 |
심전도 . 표준 사지 유도 . Lead I, II, III (0) | 2023.11.14 |
SiO2 . Silicon dioxide . 이산화 규소 (0) | 2023.08.10 |
Josephon Junction . 조셉슨 결합. 초전도체 사이에 부도체 (0) | 2023.08.10 |
댓글