Loading...
2023. 5. 8. 03:43

pytorch - flatten과 averaging pooling, training 방법 기본기, layer 구성법

1. flatten vs. average pooling flatten은 feature map을 벡터로 적절한 순서대로 쌓고 import torch t = torch.tensor([[[1,2], [3,4]], [[5, 6], [7,8]]]) print(torch.flatten(t)) tensor([1, 2, 3, 4, 5, 6, 7, 8]) print(torch.flatten(t, start_dim = 1)) tensor([[1, 2, 3, 4], [5, 6, 7, 8]]) feature map이 [1,2,3,4]랑 [5,6,7,8]인데 이 둘을 2가지 방식으로 flatten시켰다? 이건 그림 안그려봐도 결과 코드가 이해가 될듯.. [1,2,3,4]랑 [5,6,7,8]을 적절하게 쌓았네 ----------..

2022. 2. 6. 19:58

AlexNet의 핵심 아이디어

1. LeNet 1998년 Yann LeCun이 간단한 CNN구조를 소개했다 convolution layer 2번과 fully connected layer 2번을 반복했다 한글자 단위 특히 우편물 번호 인식에 크게 성공하여 우편 운송의 혁신에 기여했다고 함 2. AlexNet LeNet의 기본 구조에서 아이디어를 가져왔다 그런데 hidden layer를 7층으로 쌓고 6000만 parameter를 사용 학습데이터도 ImageNet에서 어마어마하게 큰 120만 dataset을 사용했다 ReLU와 dropout이라는 지금도 사용하는 강력한 기법을 사용했다 재미있는 점은 첫번째로 두개의 pass로 나눴다는 것인데 당시 GPU가 부족해서 2개의 forward pass로 나눠서 올렸다 중간에 activation이..

2021. 11. 27. 21:28

Numpy 기초 2편

1. reshape 원소 개수는 바꾸지 않고 array의 shape를 변경함 원소 개수는 shape의 모든 축의 곱 np.array().reshape() dim에 -1을 포함시키면 그 부분은 파이썬이 데이터 수에 맞게 알아서 잡아준다 2. flatten 다차원 array를 1차원 array로 만들어준다 (2,2,4)의 3차원 array를 (16,)의 1차원 array로 flatten 시킴 원소의 수인 모든 shape의 곱이 16으로 일정해야함 3. indexing 리스트와는 다르게 [a,b]의 직관적인 indexing을 제공함 indexing으로 값 변경도 가능 0행 2열의 원소를 test_exampe[0,2]로 불러올 수 있음 0,0의 원소인 1을 test_example[0,0]=10으로 변경 가능 4..