Loading...
2023. 3. 11. 23:47

pytorch tensor 다루기 재활치료 2편 - view, squeeze, unsqueeze, type, cat, stack, ones_like, zeros_like, inplace -

1. view 원소의 수를 유지하면서 tensor의 크기를 변경하는 방법 numpy의 reshape와 같은 역할 t = np.array([[[0,1,2], [3,4,5]], [[6,7,8], [9,10,11]]]) ft = torch.FloatTensor(t) print(ft.shape) torch.Size([2, 2, 3]) 1-1) 이제 ft tensor를 view를 사용해서 2차원 tensor로 변경 print(ft.view([-1,3])) #ft라는 텐서를 (?,3)의 크기로 변경 print(ft.view([-1,3]).shape) tensor([[ 0., 1., 2.], [ 3., 4., 5.], [ 6., 7., 8.], [ 9., 10., 11.]]) torch.Size([4, 3]) vie..

2022. 12. 26. 03:14

Pytorch 기본 익히기1 -Pytorch가 무엇이고 기본 문법 익히기-

1. pytorch 소개 딥러닝을 다루는 대표적인 라이브러리인 Tensorflow, Keras, Pytorch중 페이스북 인공지능 연구팀에 의해 개발된 라이브러리 Pytorch python의 언어 구조와 굉장히 유사하며, 간결함 내부적으로 Computed Unified Device Architecture(CUDA)와 CUDA based Deep Neural Network(cuDNN)라는 API(application programming interface)를 이용해 GPU(graphics processing unit)연산을 가능하게 하여 연산 속도가 월등히 빠르다. numpy와 autogradient와 function을 제공해주는 framework 데이터의 형태로, numpy 구조의 array를 받아 te..

2022. 3. 13. 21:53

DenseNet과 SENet의 핵심아이디어 살펴보기

1. DenseNet ResNet은 skip connect 과정에서 더했다면 DenseNet은 concatenation을 한다. 왜 이런 아이디어를 생각했을까? 둘을 더하면 x와 f(x)의 정보가 어떻게든 섞일테니까 concatenation으로 정보를 보존하면서 그냥 합치고 싶은 것이다. 문제는 둘을 단순히 합치는 concatenation은 parameter 수를 기하급수적으로 늘림 feature 특성을 더하면서 섞지말고 그대로 가져옴 그래서 중간마다 1*1 convolution을 통해 parameter 수를 줄이는 것이 핵심이다 dense block에서 concatenation으로 channel을 계속 늘려가면서 feature map을 그대로 가져옴. 너무 늘어나면 1*1 convolution 연산을 ..