일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 파이썬
- QNA 봇
- 풀스택
- 구현
- 웹 프로그래밍
- cs50
- P Stage
- boostcourse
- sts
- AI Tech
- 2021 Dev-matching 웹 백엔드 개발자
- 프로그래머스
- Django
- 장고
- BOJ
- 백엔드
- Naver boostcourse
- 부스트캠프
- Customer service 구현
- 백준
- 대회
- AI Tech 4기
- 서버
- 프로그래밍
- 웹
- Naver boostcamp
- 네이버
- 4기
- 서블릿
- 레벨2
Archives
- Today
- Total
daniel7481의 개발일지
20220928 2주차 수요일 회고 본문
반응형
피어세션
오늘 또한 그리디 알고리즘 문제로 아침을 시작했다. leetcode 455.Assign Cookies였는데 정렬을 해준 후에 탐색을 하며 쿠키가 아이 greed에 맞으면 하나씩 더해주는 식으로 풀었다. 다들 데일리 스크럼 시간에 기본 과제1과 과제2를 끝내기로 마음을 먹었고, 빅데이터 분석 준전문가/전문가 등 자격증에 관한 얘기를 나눈 후, 챌린지는 좋아하는 노래 가사 두 줄 쓰기였다. 피어세션 시간에는 과제 1에 대한 질문이 있었는데, torch.tensor과 torch.Tensor의 차이를 물어보는 문제였고, 가장 큰 차이점은 tensor는 함수고 Tensor는 클라스라는 점이었다. 또한 tensor는 dtype이 그대로 유지되는 반면 Tensor는 Tensor.float으로 변환된다는 차이가 있었다.
공부 회고
부덕이와 시작하는 무시무시한 과제1 시작이다. 중반부까지는 pytorch document를 보고 실습해보는 시간이었다.
- torch.gather() 함수가 살짝 헷갈렸는데, dimension에 따라 tensor를 index로 넣어줘서 뽑아오는 함수라는 점을 배웠다
A = torch.Tensor([[[1, 2],
[3, 4]],
[[5, 6],
[7, 8]]])
A = torch.gather(A, 2, torch.tensor([[[0], [1]], [[0], [1]]])).view(2, 2)
# torch.Tensor([[1, 4], [5, 8]])
- Linear와 LazyLinear의 차이는 입력 피처 수를 입력 받는지 안 받는지의 차이다. LazyLinear는 입력 텐서의 차원을 그대로 사용한다
- nn.Module에서 module list를 python list로 받을 수 없고 ModuleList를 별도로 만든 이유는 python list 안에 모듈들을 모아놓으면 등록이 되지 않아서 모듈들이 저장되지 않고, ModuleList에 저장해야만 저장이 됩니다.
- nn.Module에서 Parameter를 사용하지 않고 Tensor를 사용하면 미분해준 값이 저장되지 않아서 Parameter 변수에 가중치들을 저장해줘야 합니다.
- Buffer는 gradient를 계산하지 않고, 값 업데이트도 되지 않지만 모델 저장시 저장해야 할 값들입니다. module.register_buffer()함수로 설정할 수 있고, module.get_buffer(버퍼), module.named_buffers() 함수로 가져올 수 있습니다.
- children은 한 단계 아래의 submodule만 return해주고 modules는 자신에게 속한 모든 submodule을 반환해주는 함수입니다.
- module에 docstring을 설정해주면 module.__doc__으로 가져올 수 있다.
- module에 대한 detail은 repr(model)로 가져올 수 있다. extra_repr 함수를 모듈에 설정해줌으로써 repr을 추가해줄 수 있다.
- hook은 프로그램의 실행 로직을 분석하거나 프로그램에 추가적인 기능을 제공하고 싶을 때 사용된다. Package에는 self.hooks라는 변수를 가지고 있어서, register_hook으로 hook을 등록할 수 있다.
- Tensor에는 backward_hook만 사용할 수 있으며, model에는 forward, backward hook 다 사용할 수 있다.
- 프로그램 실행 전에 사용되는 hook은 pre_hook이고, 프로그램 실행 후에는 hook이 실행된다.
- 모델 안의 module에 전체적으로 적용하고 싶은 커스텀 함수가 있다면 apply를 사용하여 적용할 수 있다.
반응형
'AI Tech 4기 > Level1' 카테고리의 다른 글
20220930 2주차 금요일 회고 (1) | 2022.09.30 |
---|---|
20220929 2주차 목요일 회고 (1) | 2022.09.29 |
20220927 2주차 화요일 회고 (1) | 2022.09.27 |
20220926 2주차 월요일 회고 (0) | 2022.09.27 |
20220923 1주차 금요일 회고 (2) | 2022.09.23 |