본문 바로가기

취업준비/인공지능

[AI Tech] 6주차 29차시 프로젝트 9

29차시: 프로젝트 9

[ 프로젝트 9 ] 딥러닝 모델 구현하기 (1)

1. 목표

- 파이토치로 CNN 모델 구현하기

- 파이토치로 RNN 모델 구현하기

 

수행해야하는 프로젝트가 총 2개이다. 2가지 모두 수행하고 하나의 zip 파일로 묶어서 제출하라.

submit.zip = (cnn.py + tsv) + (rnn.py + tsv)

 

2. 프로젝트 

CNN

[TODO] 코드 구현: 모델 생성

torch.manual_seed(7777) # 일관된 weight initialization을 위한 random seed 설정

## 코드 시작 ##
model = .....          # 위의 설명 1. 을 참고하여 ..... 을 채우세요.
## 코드 종료 ##

model = model.to(device)

criterion = torch.nn.CrossEntropyLoss().to(device)
optimizer = torch.optim.Adam(model.parameters(), lr=learning_rate)

model = model.to(device)
val_every = 1
saved_dir = './saved/SimpleCNN'
더보기

정답

torch.manual_seed(7777) # 일관된 weight initialization을 위한 random seed 설정

## 코드 시작 ##
model = SimpleCNN()          # 위의 설명 1. 을 참고하여 ..... 을 채우세요.
## 코드 종료 ##

model = model.to(device)

criterion = torch.nn.CrossEntropyLoss().to(device)
optimizer = torch.optim.Adam(model.parameters(), lr=learning_rate)

model = model.to(device)
val_every = 1
saved_dir = './saved/SimpleCNN'

[TODO] 코드 구현: 성능 확인

model_path = './saved/ResNet50/best_model.pt'
# model_path = './saved/pretrained/ResNet50/best_model.pt' # 모델 학습을 끝까지 진행하지 않은 경우에 사용

## 코드 시작 ##


## 코드 종료 ##
더보기

정답

model_path = './saved/ResNet50/best_model.pt'
# model_path = './saved/pretrained/ResNet50/best_model.pt' # 모델 학습을 끝까지 진행하지 않은 경우에 사용

## 코드 시작 ##
new_model = new_model.to(device)

check_point = torch.load(model_path)
state_dict = check_point['net']
new_model.load_state_dict(state_dict)

## 코드 종료 ##

 

RNN

[TODO] 하이퍼 파라미터 세팅

## 코드 시작 ##



## 코드 종료 ##
더보기

정답

## 코드 시작 ##
batch_size = 100
num_epochs = 30
learning_rate = 0.00003
## 코드 종료 ##

[TODO] 코드 구현: 모델 생성

torch.manual_seed(7777) # 일관된 weight initialization을 위한 random seed 설정

## 코드 시작 ##
model = .....       # 위의 설명 1. 을 참고하여 ..... 을 채우세요.
## 코드 종료 ##

model = model.to(device)

criterion = nn.MSELoss()
optimizer = torch.optim.Adam(model.parameters(), lr=learning_rate)

val_every = 1
saved_dir = './saved/LSTM'
더보기

정답

torch.manual_seed(7777) # 일관된 weight initialization을 위한 random seed 설정

## 코드 시작 ##
model = SimpleLSTM()       # 위의 설명 1. 을 참고하여 ..... 을 채우세요.
## 코드 종료 ##

model = model.to(device)

criterion = nn.MSELoss()
optimizer = torch.optim.Adam(model.parameters(), lr=learning_rate)

val_every = 1
saved_dir = './saved/LSTM'

 

 

 

 

 

ⓒ NAVER Connect Foundation. All Rights Reserved.