Pytorch 공식 문서와 함께하는 Pytorch 튜토리얼_0

bellfollow·2023년 8월 8일
0

Pytorch_tutorial

목록 보기
1/7
post-thumbnail

파이토치(Pytorch)

  • Facebook에서 개발한 머신러닝 프레임워크

  • Pytorch는 python을 위한 오픈소스 머신 러닝 라이브러리이다.
    -자동 차별화, 텐서 계산 및 GPU 가속을 전문으로 함, 따라서 딥러닝과 같은 최첨단 머신러닝 애플리케이션에 매우 적합함

  • Torch를 기반으로 함
    -Torch란? 딥러닝을 위한 초기 프레임워크

  • Tensorflow의 사용자가 많지만 비직관적인 구조와 난이도 때문에 Pytorch의 사용자가 늘어나고 있는 추세임

  • Pytorch는 두 개의 높은 수준의 파이선 패키지 형태로 제공한다.
    1.GPU로 가속화한 행렬 계산 예)NumPy
    2.테이프 기반 자동 미분 시스템을 기반으로 구축된 심층 신경망
    -테이프 기반 자동 미분 시스템이라는 용어는 그래디언트 또는 함수의 미분을 계산하는 데 사용되는 메커니즘을 가리킵니다. 이 시스템은 일반적으로 "오토그라드"(자동 미분) 시스템이라고 합니다.
    -테이프: PyTorch에서 텐서에서 연산을 수행하면 자동 그래프 시스템이 이러한 연산을 "테이프" 또는 작업 기록에 기록합니다. 이 테이프는 본질적으로 텐서에 적용된 연산을 실행된 순서대로 기록한 것입니다.

Tensorflow와의 비교

  • Pytorch와 Tensorflow의 가장 큰 차이점은 딥러닝을 구현하는 패러다임이 다르다는 것이다.
    -Tensorflow의 Define and Run은 코드를 직접 돌리는 환경인 세션을
    만들고 -> placeholder를 선언 ->
    이것으로 계산 그래프를 만듬(이것이 Define)
    ->코드를 실행하는 시점에 데이터를 넣어 실행하는 방식
    -계산 그래프를 명확히 보여주며 실행시점의 데이터만 바꿔도 되는
    유연한 장점이 있지만 그 자체로 비직관적임,그래서 딥러닝 프레임워크 중
    가장 난이도가 높은 편
    -Pytorch는 언어 자체에 대한 어려움은 없다. 일반적인 파이썬 코딩과 비슷하기 때문임, 선언과 동시에 데이터를 집어넣고 세션도 필요없이 돌리면 끝이다.
    -덕분에 코드가 간결하고 난이도가 낮은 편,

###Pytorch의 장점

1.설치가 간편하다.
2.이해와 디버깅이 쉬운 직관적이고 간결한 코드로 구성되었다.
3.Define by Run 방식을 기반으로 한 실시간 결과값을 시각화 한다.
4.파이썬 라이브러리(Numpy, Scipy, Cython)와 높은 호환성을 가진다.
5.Winograd Convolution Algorithm 기본 적용을 통한 빠른 모델 훈련이 가능하다.
6.모델 그래프를 만들 때 고정상태가 아니기 때문에 언제든지 데이터에 따라 조절이 가능하다(유연성).
7.Numpy스러운 Tensor연산이 GPU로도 가능하다.
8.자동 미분 시스템을 이용해 쉽게 DDN(DataDirect Networks)을 짤 수 있다.
9.학습 및 추론 속도가 빠르고 다루기 쉽다.

  • 대부분의 머신러닝 워크플로우는 데이터 작업과 모델 생성, 모델 매개변수 최적화, 학습된 모델 저장이 포함됩니다

*워크플로우

-출처링크텍스트

profile
코딩 함 맛있게 요리해보겠심더

2개의 댓글

comment-user-thumbnail
2023년 8월 8일

많은 것을 배웠습니다, 감사합니다.

1개의 답글