본문 바로가기
2020 프로젝트/Python tutorial 및 Gan competetion 도전기

Pytorch로 딥러닝하기 : 60분만에 끝장내기 - PyTorch가 무엇인가요?

by 헤옹스 2019. 9. 15.

python3환경에서 venv로 가상환경 만들고 활성화 시켰다.

$pip list 로 설치된 lib확인해봤는데, 3개밖에 안깔려있는 걸 확인할 수 있다.

그런데, 어떻게 $jupyter notebook하면 그대로 실행이 되는거지...........?????

=> 이 의문은 jupyter notebook을 실행시킨 후, 커널에서 !pip install scipy 등 lib를 설치했을 때,

내가 생성한 가상환경 안에서 lib가 설치되는 게 아닌 것 같아서 생긴 의문이다.

=> myvenv 가상환경 안에서 pip install scipy 했을 때 lib이 설치되는 경로와, jupyter notebook의 커널에서의 lib 설치 경로가 다른듯.

===> 어떻게 다른걸까??

Python 기반의 과학 연산 패키지로 다음과 같은 두 집단을 대상으로 합니다:

  • NumPy를 대체하면서 GPU를 이용한 연산이 필요한 경우

  • 최대한의 유연성과 속도를 제공하는 딥러닝 연구 플랫폼이 필요한 경우

시작하기

Tensors

NumPy의 ndarray와 유사하며, 추가로 GPU를 사용한 연산 가속도 가능합니다.

torch.Size 는 사실 튜플(tuple)과 같으며, 모든 튜플 연산을 지원합니다.

연산(Operations)

  • 덧셈

  • 전치(transposing), 인덱싱(indexing), 슬라이싱(slicing), 수학 계산, 선형 대수, 난수(random number) 등.

https://pytorch.org/docs/stable/torch.html

torch — PyTorch master documentation

torch The torch package contains data structures for multi-dimensional tensors and mathematical operations over these are defined. Additionally, it provides many utilities for efficient serializing of Tensors and arbitrary types, and other useful utilities

pytorch.org

NumPy 변환(Bridge)

Torch Tensor와 NumPy 배열은 저장 공간을 공유하기 때문에, 하나를 변경하면 다른 하나도 변경됩니다.

Torch Tensor를 NumPy 배열로 변환하기

NumPy 배열을 Torch Tensor로 변환하기

NumPy(np) 배열을 변경하면 Torch Tensor의 값도 자동 변경됨

CUDA Tensors

.to 메소드를 사용하여 Tensor를 어떠한 장치로도 옮길 수 있습니다.