Python/시각화
2023.09.08
from torch.utils.data import DataLoader의 DataLoader로 저장된 tensor image 엣지 추출하기 import cv2 img, label = train_dataset[0] #numpy로 바꿔서 진행해야함 img = img.detach().cpu().numpy() # tensor -> numpy # [C,H,W] -> [H,W,C] img = np.transpose(img, (1, 2, 0)) #color로 나오게 수치 조정 img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB) img = img.astype(np.uint8).copy() #엣지 추출 edge_img = cv2.Canny(img, 100, 500) #안해도 되지만 이미지가 작다..
Python/numpy & Pytorch
2023.03.16
randperm(int) 입력된 숫자를 임의로 섞어주는 함수 torch.randperm(10) tensor([9, 8, 2, 1, 3, 4, 5, 6, 7, 0]) Tensor 행 섞기 tensor의 행이 랜덤으로 섞이는 코드 a = torch.rand(3,3) a = a[torch.randperm(a.size()[0])] tensor([[0.5326, 0.3624, 0.3423], [0.9065, 0.8168, 0.5219], [0.9516, 0.3635, 0.8481]]) tensor([[0.9065, 0.8168, 0.5219], [0.9516, 0.3635, 0.8481], [0.5326, 0.3624, 0.3423]]) Tensor 열 섞기 a = torch.rand(3,3) a = a[:,to..
Python/numpy & Pytorch
2023.03.14
'+' 연산자 list list에서는 '+' 연산자를 쓰면 list가 합쳐진다. x = [1,2] x2 = [3,4] x+x2 [1, 2, 3, 4] Tensor tensor는 합쳐지지 않고 각 원소마다 더해진다. 이는 같은 차원끼리 더하거나 한 차원이 1일 때만 가능함 x = torch.randint(0, 10,(3,1)) x2 = torch.randint(0, 10,(3,1)) x3 = torch.randint(0, 10,(1,1)) x, x2, x+x2, x+x3 tensor([[4], [2], [1]]) tensor([[2], [1], [2]]) tensor([[6], [3], [3]]) tensor([[5], [3], [2]]) x = torch.randint(0, 10,(3,1)) x2 = t..
Python/numpy & Pytorch
2023.03.14
Pythorch를 모듈을 사용하여 tensor 객체 만드는 방법 tensor numpy의 array와 같지만 GPU 계산에서 사용됨 설정 행렬 사용자가 원하는 값을 넣어 행렬을 만듦 Zeros(size) 0이 들어있는 행렬을 return 함 x = torch.zeros(5, 3) x tensor([[0., 0., 0., 0., 0.], [0., 0., 0., 0., 0.]]) x = torch.zeros(2, 5, dtype=torch.bool) x tensor([[False, False, False, False, False], [False, False, False, False, False]]) Ones(size) 1이 들어있는 행렬을 returng 함 x = torch.ones(3,2) x tensor..