일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
- STL
- 좌표거리
- pyvista
- 패치분할
- 3d
- GIS
- 귀여운고래
- GNN
- 데이터입수
- 3d데이터
- Python
- 폴더조사
- geopandas
- python최단거리
- 동명이인찾기
- 지하철역좌표
- 이미지빌드
- 파이썬
- MESH
- 도커 레이어
- Set
- 컨테이너
- 그리드분할
- graph
- GCN
- 알고리즘
- docker
- geojson
- osmnx
- 도커
- Today
- Total
목록Data Science/ML & DL (22)
이것저것 기록

PyTorch에는 Autograd라는 기특한 패키지가 있다. 깃헙에서 딥러닝 코드들을 보다보면 .requires_grad=True 라는 코드를 엄청 자주 보게 되는데, 이게 바로 Autograd라는 패키지와 연관이 있는 코드이다. 이 패키지는 Tensor의 모든 연산에 대해 자동 미분을 제공한다. torch.Tensor는 패키지에서 가장 중심이 되는 클래스이다. 텐서의 속성 중 하나인 .requires_grad=True로 세팅하면 텐서의 모든 연산에 대해 추적을 시작한다. 계산 작업이 모두 수행되면 .backward()를 호출해서 모든 gradients를 자동으로 계산할 수 있다. gradients들은 .grad 속성에 누적되어 저장된다. Autograd 패키지의 동작 원리를 자세히 이해하고 싶으면 다음..

1. 브로드캐스팅 두 행렬 A, B가 있을 때, 원래는 두 행렬의 크기가 같아야지만 덧셈/뺄셈을 수행할 수가 있다. 그리고 두 행렬의 곱셈을 할 때는 (A x B) A의 마지막 차원과 B의 마지막 차원이 일치해야한다. 이를 위해 파이토치에서는 브로드캐스팅 이라는 기능을 제공한다. 브로드캐스팅 기능은 서로 크기가 다른 행렬들이 사칙연산을 수행할 수 있도록 자동으로 크기를 맞춰서 연산을 수행하게 해준다. import numpy as np import torch # Case 1 : 같은 크기의 행렬 m1 = torch.FloatTensor([[3, 3]]) m2 = torch.FloatTensor([[2, 2]]) print(f'shape: m1 = {m1.shape}, m2 = {m2.shape}') m3 ..

파이토치의 reshape()과 view()는 둘 다 텐서의 모양을 변경하는 데에 사용될 수 있다. 그러나 둘 사이에 약간의 차이가 존재한다. - reshape(): reshape은 가능하면 input의 view를 반환하고, 안되면 contiguous한 tensor로 copy하고 view를 반환한다. - view(): view는 기존의 데이터와 같은 메모리 공간을 공유하며 stride 크기만 변경하여 보여주기만 다르게 한다. 그래서 contigious해야만 동작하며, 아닌 경우 에러가 발생함. 출처: subinium.github.io/pytorch-Tensor-Variable/ 바로 연습! import numpy as np import torch t = np.zeros((4,4,3)) #0으로 채워진 4x..

1. 정의 - 스칼라: 차원이 없는 값 - 벡터: 1차원으로 구성된 값 - 행렬: 2차원으로 구성된 값 / 일반적으로 이용하는 데이터 형태 (batch size, dim) - 텐서: 3차원으로 구성된 값 / Vision에서는 (batch size, length, dim) 2. Numpy 와 PyTorch 텐서 비교 Numpy PyTorch 선언 np.array() torch.FloatTensor, torch.Tensor() 차원 확인 .ndim .dim() 크기 확인 .shape .size() 3. 파이토치로 텐서 선언 import torch t1 = torch.Tensor(3) #원소가 3개인 단일 텐서 선언 t2 = torch.Tensor(3, 5) #3x5의 2차원 텐서 선언 rn1 = torch...

나만의 데이터셋을 CNN에 학습시키기 위한 첫 번째 단계 - 이미지를 텐서 자료형으로 변환하는 것. 딥러닝에서 이미지, 텍스트, 음성, 비디오 등의 데이터를 다룰 때, 이 데이터들을 파이썬 모듈 (이미지의 경우는 PIL이나 openCV)로 데이터를 numpy array의 형태로 불러온 후 torch.Tensor로 변환하는 작업이 필수적이다. 나만의 데이터셋을 텐서로 변환하는 순서는 다음과 같다. 1. 이미지 파일을 텐서로 변환 및 정규화하기 from PIL import Image import torch from torch.utils.data import Dataset, DataLoader import numpy as np import torchvision from torchvision import tra..