[부스트캠프] Day 4 회고

Gamchan Kang·2024년 8월 8일
0

배운 점

키워드

  • Kaiming Initialization: 논문 리뷰해볼 것

인사이트

  • GPU 가속 코드를 작성할 때, GPU에 넣을 객체와 아닌 객체를 잘 분리해야 한다.
  • torch.nn.parameter.Parameter는 제네레이터 반환한다. .item()은 스칼라 값을 가져오고 .data는 텐서 객체(torch.Tensor)를 반환한다.
  • 학습 과정에서 optimizer의 기울기를 0으로 초기화하는 코드인 optimizer.zero_grad()의 위치는 생각보다 중요할 수 있다. 예를 들어 여러 개의 optimizer를 사용하는 경우 optimizer 업데이트 후에 기울기를 초기하면 그 이후 optimizer에 대해서 동작하지 않을 수 있다.

맞는 코드

for inputs, targets in train_data_loader:
	optimizer_1.zero_grad()
	optimizer_2.zero_grad()
    ...
    optimizer_1.step()
    optimizer_2.step()

틀린 코드

for inputs, targets in train_data_loader:
    optimizer_1.step()
	optimizer_1.zero_grad() 
    # 이 시점에서 optimizer_2 grad도 같이 초기화 됨.
    ...
    optimizer_2.step() # 오류 발생
    optimizer_2.zero_grad()
  • 개념, 기술을 프로젝트에 도입할 떄 "왜?"인지 생각해보자.
    "방법을 위한 문제를 찾지 말고, 문제를 위한 방법을 찾아라!" - 멘토님의 지도교수님의 말씀
    → 개인적으로 생각하기에 '남들이 다 쓰니깐, 그게 좋다고 들어서'와 같이 판단 없이 휩쓸리는 것을 경계하자는 뜻 같음!

좋았던 점

  • 슬랙 알림 봇을 만들었다. 시간을 잘 못 설정했지만, 슬랙에 이런 기능이 있는 것을 처음 알게 됐다. 외부 확장 기능도 만들 수 있지 않을까?
  • 평일 일과가 여유롭게 됐다. 추가로 더 공부할 여유가 있어서 좋았다.
  • 마스터 클래스에서 담론의 의미를 들었다. 좋은 소스인 듯.
  • 다른 사람들의 질의응답에서도 많은 것을 배웠다.
  • 멘토링 대만족이었다. 멘토님이 정말 많은 인사이트와 정보를 주셨다. 너무 좋아서 혼자만 간직하고 싶을 정도.

아쉬운 점

  • 1주차 할 일이 다 끝나고 오후가 되니 집중력이 떨어졌다. 다행인 점은 점점 집중하는 시간이 늘어난다는 점이다.
profile
Someday, the dream will come true

0개의 댓글