728x90
오늘은
- ADSP 데이터 분석 쪽 조금
- 코칭스터디 5주차 6~7까지 듣고 미션 풀이
를 진행했다.
ADSP 데이터 분석쪽으로 넘어가니까 너무 읽기 귀찮았다. 중간에 그래도 아는 단어 나오고 실무 진행하면서 궁금했던 부분이나 이해가 안가는 부분이 나오면 반갑게 읽는 부분이 있기는 했다.
수업을 듣기 전에
4-1. Multivariable Linear regression 부분에서 코드를 따라하는데 저번주에 이해하지 못했던 부분을 커뮤니티에 질문 올린 것을 참고해서 풀 수 있었다.
class MultivariateLinearRegressionModel(nn.Module):
def __init__(self):
super().__init__()
self.linear = nn.Linear(3, 1)
def forward(self, x):
return self.linear(x)
x_train = torch.FloatTensor([[73, 80, 75],
[93, 88, 93],
[89, 91, 90],
[96, 98, 100],
[73, 66, 70]])
y_train = torch.FloatTensor([[152], [185], [180], [196], [142]])
W = torch.zeros((3, 1), requires_grad=True) # 3행 1열이 되는건가봐
b = torch.zeros(1, requires_grad=True)
model = MultivariateLinearRegressionModel()
model.train(True)
# 이 부분이 틀렸었음. 따로 정의해 준 W와 b, 그리고 model의 linear 층은 공유가 되지 않는다.
optimizer = optim.SGD(model.parameters(), lr=1e-5)
nb_epochs = 20
for epoch in range(nb_epochs + 1):
hypothesis = model(x_train)
cost = F.mse_loss(hypothesis, y_train)
print('Epoch {:4d}/{} hypothesis: {}, Cost: {:.6f}'.format(epoch, nb_epochs, hypothesis.squeeze().detach(), cost.item()))
optimizer.zero_grad()
cost.backward()
optimizer.step()
여기서 optimizer를 선언할 때, 모델의 파라미터를 따로 선언해서 넣어버려서 업데이트가 안되는 불상사가 발생했다. model을 만들면 파라미터도 자동으로 생긴다는 걸 이번에 알 수 있었다.
정답: optimizer = optim.SGD(model.parameters(), lr=1e-5)
오답: optimizer = optim.SGD([W, b], lr=1e-5
6. Softmax Classification
- cross entropy: 두 개의 확률분포가 주어졌을 때, 두 확률분포가 얼마나 비슷한지를 나타내는 방법.
- 코드 전반적으로 inference를 진행할 때 어떻게 쓰면 좋을지 생각해보자.
7-1. Tips: MLE, Regularization
7-2. MNIST Introduction: 여기까지 들으려고 했지만, 늦잠을 심하게 자버리는 바람에... 내일 다시 듣기로
6 ~ 7-1까지 1회차 들었고, 모레 이해 안되는 부분 위주로 한 번 더 듣고 실습을 진행해볼 예정.
내일은 가짜연구소 스터디 CODE 책을 읽어야 한다.
내일도 화이팅
728x90
'진행중' 카테고리의 다른 글
[TIL] 2023-02-27 (0) | 2023.02.27 |
---|---|
[TIL]2023-02-21 (0) | 2023.02.21 |
[TIL] 2023-02-17 (0) | 2023.02.17 |
[TIL] 2023-02-16 (0) | 2023.02.16 |
[취업하자] 산업분석 따라하기 - 취린이 튜토리얼 (0) | 2021.08.29 |