본문 바로가기
지속가능티끌/Data.Math.Phys

PyTorch . 머신러닝 , 뉴럴넷 라이브러리

by i.got.it 2024. 8. 9.

 

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


 

댓글



 

비트코인




암호화폐       외환/나스닥/골드         암호화폐/외환/나스닥/골드
     
현물 |선물 인버스 |선물 USDT       전략매니저(카피트레이딩)         프랍 트레이더 온라인 지원가능. MT4,MT5