목차
1. 강의정리
2. 과제 - Custom model 제작
3. 피어세션 정리
4. 데일리 회고
📜 강의 정리
* 부스트캠프 PyTorch 강의를 맡아주신 최성철 교수님의 강의를 정리한 것 입니다.
1. Tensor는 numpy와 사용법이 거의 동일하다!
2. reshape 보다는 view를 쓰자. 둘 다 shape을 변경하는 기능을 제공하지만, reshape은 가리키는 tensor의 shape을 변경하고, view는 새로운 tensor로 카피해서 shape을 변경한다.
3. squeeze, unsqueeze : squeeze는 tensor 내부의 크기가 1인 괄호를 없애준다. unsqueeze는 반대로 괄호를 하나 더 씌워주므로 dim을 써야한다.
4. dot, mm, matmul 차이 : dot은 스칼라와 벡터의 연산에 사용. matmul과 mm은 행렬곱에 사용. mm은 broadcasting을 지원하지 않고 matmul은 broadcasting을 지원하므로 되도록 mm을 사용하여 shape에 착오가 없도록 한다.
5. torch.nn.funtional 에서 제공하는 함수들 잘 이용해서 쓰면 된다.
6. PyTorch는 backward pass를 위한 Autograd를 제공한다
👩💻 과제 수행 과정
코랩에서 과제 열자마자 정성에 감동의 눈물ಥ_ಥ 부덕이🦆랑 함께 공부하는 컨셉인데,, 어느 순간부터 부덕이가 혼자 너무 똑똑해져서 거리감 생긴다. 그래도 이렇게 과제 만드시느라 고생한 멘토님 정성 먹고 열심히 과제 해야지!🙌🙌
❓❓ torch.gather?
✅ 어떤 tensor에서 index tensor에 해당하는 값을 가져오는 것. 비교하는 tensor와 index tensor의 dimension 같아야 한다.
https://pytorch.org/docs/stable/generated/torch.gather.html?highlight=gather#torch.gather
❓❓ nn.Sequential 을 사용하는데, forward 함수를 불러오려고 하면 자꾸 x 없다고 에러 뜬다.
✅ forward는 명시적으로 부르는 것이 아니라 클래스명으로 불러온다.
❓❓ 아래 예시처럼 model 출력할 때 각 layer나 function 내부의 파라미터까지 출력하려면?
✅ extra_repr 함수를 정의한다!
class Function_A(nn.Module):
def __init__(self, name):
super().__init__()
self.name = name
def extra_repr(self):
return 'name={}'.format(self.name)
❓❓ register_backward_hook 과 register_full_backward_hook의 차이는 무엇일까?
✅
🙋♀️피어세션
오늘 피어세션 시간에는 인공지능 관련 면접 질문들에 대해 팀원들과 대답해보는 시간을 가졌다.
https://zzsza.github.io/data/2018/02/17/datascience-interivew-questions/#%EB%94%A5%EB%9F%AC%EB%8B%9D
개념적인 것에 대한 질문들에 대한 답변을 생각하며 배웠던 내용을 복습할 수 있어서 도움이 많이 되었다.
특히 딥러닝이란 무엇인가? 딥러닝와 머신러닝의 차이는 무엇인가?에 대해 한 캠퍼님이 잘 답변해주셔서 머릿속에서 기본 큰 틀을 정리할 수 있어서 좋았다.
또한 Data normalization을 하는 이유에 대한 답변이 어려웠는데, 구글링을 통해 답을 얻었다. input data를 normalization 하면, 더 빠르게 최적화를 할 수 있다고 한다.
💌 데일리 회고
3일의 연휴가 너무 빠르게 지나갔다. 부스트캠프가 아니었다면 게으른 삶을 살고 있었을 뻔 했다.
'TIL > Boostcamp AI tech' 카테고리의 다른 글
[Boostcamp]Week3-Day13. Pytorch 모델 불러오기 :: seoftware (0) | 2021.08.19 |
---|---|
[Boostcamp]Week3-Day12. Pytorch 구조 학습 :: seoftware (0) | 2021.08.18 |
[Boostcamp] Week2-Day10. Generative Models :: seoftware (0) | 2021.08.13 |
[Boostcamp] Week2-Day9. RNN(Recurrent Neural Network) :: seoftware (0) | 2021.08.12 |
[Boostcamp] Week2-Day8. CNN(Convolutional Neural Network) :: seoftware (0) | 2021.08.11 |
댓글