gunwoohan.log
로그인
gunwoohan.log
로그인
TIL 2021/08/17
한건우
·
2021년 8월 17일
팔로우
0
TIL
부스트캠프 AI Tech
0
boostcamp aitech
목록 보기
5/13
DeepLearning FrameWork
이전에 Tensorflow1, 2를 써봤지만 Pytorch에 비해 불편한 점이 몇가지 존재함
Tensorflow1의 경우, Graph 형식의 Session을 사용하면서 디버깅이 굉장히 어려움, 중간 값을 뽑아서 print 찍기가 불편하게 되있고, 불가능한 케이스도 종종 있는데, 이런 것들이 개발 속도를 지연시킴
Tensorflow2의 경우, Keras와 TF가 합쳐지면서 framework에 일관성이 없어짐, 예를들어 tensorflow의 tf.data.Dataset API와 keras.preprocessing이 포지션이 겹치는데 tf.data.Dataset이 병목현상을 해결하면서 개발중이었던 preprocessing의 기능들을 공식 가이드에서 비추천하는 기현상을 보임
팀내에서 다툼이 있었던거 같음(TF2.6에서 다시 분리됨)
TF가 아직 배포에서는 우위를 점한다고 하지만 ONNX같은 중간 단계 플랫폼이 나오면서 이런 이점들이 굉장히 약해졌다고 개인적으로 생각함
Pytorch Basics
기본적으로 numpy의 대부분의 사용법이 pytorch에 그대로 적용됨
Tensor handling
view : reshape과 동일하게 tensor의 shape을 변환
squeeze : 차원의 개수가 1인 차원을 삭제(압축)
unsqueeze : 차원의 개수가 1인 차원을 추가
Tensor Operations
행렬곱셈 연산은 함수 dot이 아닌 mm 사용
ex )
a
=
torch
.
rand
(
10
)
b
=
torch
.
rand
(
10
)
a
.
mm
(
b
)
Autograd
Pytorch의 핵심은 자동미분의 지원
→
\rightarrow
→
backward 함수
PyTorch 프로젝트 구조 이해하기
초기 단계에서는 대화식 개발과정이 유리하지만 배포 및 공유 단계에서는 notebook 공유의 어려움이 있음
DL 코드도 하나의 프로그램이기 때문에 개발 용이성 확보와 유지보수 향상이 필요함
코드도 레고블럭처럼 OOP + 모듈
→
\rightarrow
→
프로젝트
템플릿을 사용하여 프로그래밍하면 관리 측면에서 이점이 많음
회고
부스트캠프 측에서 처음부터 쓰라고 했던 회고이지만 이제와서 처음 작성하게됨
아직 3주차 초반이지만 부스트캠프 측에서 기본적으로 넓은 시각을 갖게 해주려는 의도가 보임
기존에 AIFFEL에서 배웠던 방식하고는 다르게 개발 측면도 많이 다뤄줘서 좋았음
그리고 아마 최대 장점은 특강과 마스터클래스가 굉장히 자주 있다는 점이 아닐까 싶음
최근 논문 구현을 많이 하지 않아서 감을 좀 잃은 느낌이 있는데 이번에 되게 재밌어보이는 논문을 찾았음
https://arxiv.org/pdf/2108.03798.pdf
기회가 되면 빠르게 구현해보고 부스트캠프 slack에 공유해보고 싶음
근데 시간이되려나
한건우
아마추어 GAN잽이
팔로우
이전 포스트
TIL 2021/08/12
다음 포스트
TIL 2021/08/18
0개의 댓글
댓글 작성