[Boostcamp AI Tech] 3주차 Day 1 학습 기록

bluegun·2021년 8월 17일
0

AI Tech 2기 활동

목록 보기
11/87

학습 내용

Pytorch

  • Pytorch와 Tensorflow의 주요 차이점

    • Pytorch : Dynamic computation graph
      • Back propagation을 쓸 때 그래프를 생성하는 방식
    • Tensorflow : Define and run
      • 그래프를 먼저 정의하고, 실행 시점에 데이터를 넣는다.
  • Pytorch의 방식이 좀 더 간편하고, 디버깅하기가 좋다.

  • Tensorflow는 Production에 좀 더 유리하다.

Pytorch Basic

  • Tensor

    • numpy의 ndarray와 거의 동일
    • list로부터 생성 : torch.tensor(list)
    • ndarray로부터 생성 : torch.from_numpy(nd_array)
    • 다만 list, ndarray로부터 생성은 별로 쓸 일은 없음
  • Tensor는 GPU에서 실행 가능

  • view : reshape

  • squeeze, unsqueeze : 차원 추가, 삭제

  • view : view를 써서 모양을 바꿔도, 참조하는 메모리는 그대로(우리에게 보여주는 형태만 바꾸는 것) -> 원래 데이터 바꾸면 view도 바뀐다

  • mm, matmul : pytorch에서는 dot은 vector의 내적연산, mm과 matmul은 array의 행렬곱이다.

    • mm은 broadcasting이 안되지만, matmul은 broadcasting 지원한다.
  • nn.functional

    • 다양한 모듈 지원(많으니 필요할 때 찾아보기)
  • Autograd

    • 미분이 대상이 되는 값은 requires_grad = True
    • 보통 linear등 기능을 쓰기 때문에 알아서 설정

피어 세션

  • AlexNet에 대해 조사한 내용(모델 구조, 사용한 기법 등)에 대해 발표하였다. 코드는 직접 작성하지 못했다.

  • 강의 내용에 대해 간단히 질의응답 하고, ViT에 관해 팀원분이 정리한 내용을 발표해 주셨다.

공부가 필요한 부분

  • torch.gather() 함수가 어떤 식으로 동작하는지 이해하지 못하였다.

느낀 점

  • 월요일이 휴일이고 오늘부터 한 주가 시작된 느낌인데, 첫날임에도 불구하고 의욕이 나지 않았다. 진도가 뒤쳐지면 안된다는 부담이 있는데 과제가 안풀리는 등 진도가 나가질 않으니 괜히 짜증나고 힘이 안 났다. 이 글을 적는 시점에선 안 되는 부분은 접어두고 다른 거라도 했어야 한다고 생각이 든다. 오늘 공부를 많이 하진 못했지만, 수목금 동안 공부할 힘을 만들기 위해 조금 일찍 자고 재충전의 시간을 가져야겠다. 또 필수가 아닌 난이도가 있는 과제에 너무 부담 갖지 않도록 신경써야겠다.

0개의 댓글