PyTorch . 머신러닝 , 뉴럴넷 라이브러리
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 . 포터블 개발 환경 구축
개요 - PyTorch 개발환경을 외장 하드에 모두 구비하고, 아무 PC 에 연결해도 PyTorch 활용 작업 가능하게 하기. - PyTorch 는 파이썬 개발 환경에 종속되므로 파이썬 개발환경을 포터블로 셋팅하고 나
igotit.tistory.com
PyTorch C++ API
ATen | 텐서 및 수학연산 |
Autograd | 자동 미분 |
C++ Frontend | 머신러닝 모델의 훈련과 평가 |
TorchScript | TorchScript JIT 컴파일러 및 인터프리터에 대한 인터페이스 |
C++ Extensions | 사용자 정의 C++ 및 CUDA 루틴으로 Python API를 확장하는 수단 |
상세
PyTorch C++ API — PyTorch main documentation
Shortcuts
pytorch.org
Visual Studio Extension
- VC++ 프로젝트 설정을 자동으로 해주는 건데, 필수는아님. 수동으로 설정 가능함.
https://pytorch.org/cppdocs/installing.html#visual-studio-extension
Installing C++ Distributions of PyTorch — PyTorch main documentation
Installing C++ Distributions of PyTorch We provide binary distributions of all headers, libraries and CMake configuration files required to depend on PyTorch. We call this distribution LibTorch, and you can download ZIP archives containing the latest LibTo
pytorch.org
- 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 . Visual C++ 에서 LibTorch 개발 환경 설정
개요 PyTorch 의 기능들을 C++ 에서 사용 가능하게 해주는 라이브러리인 LibTorch 다운로드 하고 VC++ 2022 에서 LibTorch 개발 환경 셋팅. VC++ 에서 개발환경 셋팅이라 함은 프로젝트 설정 옵션에서 Inc
igotit.tistory.com
PyTorch 에서 활용 가능한 뉴럴넷 아키텍쳐 예
뉴럴넷 아키텍쳐 종류와 특징
신경망 아키텍쳐 종류와 특징 시계열 예측을 위한 PyTorch에서 활용 가능한 신경망 아키텍처를 정확도 높은 순으로 나열하는 것은 주어진 데이터와 문제의 복잡성에 따라 다를 수 있지만, 일반적
igotit.tistory.com
첫 등록 : 2024.08.09
최종 수정 : 2024.08.16
단축 주소 : https://igotit.tistory.com/5748