본문 바로가기
728x90
반응형
SMALL

Python Library/PyTorch15

[PyTorch] DATASET / DATALOADER DATASET / DATALOADER 데이터 샘플을 처리하는 코드는 지저분(messy)하고 유지보수가 어려울 수 있다. 더 나은 가독성 (readability)과 모듈성 (modularity)을 위해 데이터셋 코드를 모델 학습 코드로부터 분리하는 것이 이상적다. PyTorch는 torch.utils.data.DataLoader와 torch.utils.data.Dataset의 두 가지 데이터 기본 요소를 제공하여 미리 준비해둔 (pre-loaded) 데이터셋 뿐만 아니라 가지고 있는 데이터를 사용할 수 있도록 한다. Dataset은 샘플과 정답 (label)을 저장하고, DataLoader는 Dataset을 샘플에 쉽게 접근할 수 있도록 순회 가능한 객체 (iterable)로 감싼다. PyTorch의 도메.. 2022. 1. 13.
[PyTorch] NumPy 변환 (Bridge) NumPy 변환 (Bridge) CPU 상의 tensor와 numpy array는 메모리 공간을 공유하기 때문에, 하나를 변경하면 다른 하나도 변경된다. # tensor를 numpy array로 변환하기 t = torch.ones(5) print(f"t: {t}") n = t.numpy() print(f"n: {n}") Out: t: tensor([1., 1., 1., 1., 1.]) n: [1. 1. 1. 1. 1.] tensor의 변경 사항이 numpy array에 반영된다. t.add_(1) print(f"t: {t}") print(f"n: {n}") Out: t: tensor([2., 2., 2., 2., 2.]) n: [2. 2. 2. 2. 2.] numpy array를 tensor로 변환하기 .. 2022. 1. 13.
[PyTorch] 텐서 속성 (Attribute) / 연산 (Operation) 속성 (Attribute) tensor = torch.rand(3,4) print(f"Shape of tensor: {tensor.shape}") print(f"Datatype of tensor: {tensor.dtype}") print(f"Device tensor is stored on: {tensor.device}") Out: Shape of tensor: torch.Size([3, 4]) Datatype of tensor: torch.float32 Device tensor is stored on: cpu tensor의 속성은 텐서의 모양 (shape), 자료형 (datatype) 및 어느 장치에 저장되는지를 나타낸다. 연산 (Operation) 전치 (transposing), 인덱싱 (indexin.. 2022. 1. 13.
[PyTorch] 텐서 (Tensor) 텐서 (Tensor) 텐서 (tensor)는 배열 (array)이나 행렬 (matrix)과 유사한 자료구조이다. pyrorch에서 tensor를 사용하여 모델의 입력 (input)과 출력 (output), 그리고 모델의 매개변수들을 부호화 (encode)한다. import torch import numpy as np tensor는 GPU나 다른 하드웨어 가속기에서 실행할 수 있다는 점만 제외하면 numpy의 ndarray와 유사하다. 실제로 tensor와 numpy array는 종종 동일한 내부 (underly) 메모리를 공유할 수 있어 데이터를 복사할 필요가 없다. tensor는 자동 미분 (automatic differentiation)에 최적화되어 있다. tensor 초기화 tensor는 여러가지 .. 2022. 1. 13.
파이토치 (PyTorch) 파이토치 (PyTorch) pytorch란 2016년에 발표된 DL을 구현을 위한 python 기반의 오픈소스 ML 라이브러리이다. ​이것은 Define by Run의 DL 구현 패러다임이 특징이다. Define and Run는 코드를 직접 돌리는 환경인 세션을 만들고, placeholder를 선언하고 이것으로 계산 그래프를 만들고 (define), 코드를 실행하는 시점에 데이터를 넣어 실행하는 (run) 방식이다. 이는 계산 그래프를 명확히 보여주면서 실행시점에 데이터만 바꿔줘도 되는 유연함을 장점으로 갖지만, 그 자체로 비직관적이다. 하지만 무엇보다 주목받는 이유중 하나는 간결하고 빠른 구현이다. tensorflow보다 사용자가 익히기 훨씬 쉽다는 특징이 있고 코드가 간결하고 난이도가 비교적 낮다고 .. 2022. 1. 13.
728x90
반응형
LIST