부스트캠프 week2 PyTorch

Dae Hee Lee·2021년 8월 9일
0

BoostCamp

목록 보기
11/22

PyTorch로 시작하는 딥러닝 입문

MLP모델의 전반적인 과정 및 특징

1. NN model class

  • nn.Module을 상속받는다.
  • nn.Linear(in_features, out_features)
    입력받은 dimension 정보를 바탕으로 선형 변환을 진행하는 클래스
  • init_param 함수(nn.init 활용)
    pytorch는 nn.Linear에서 자동으로 initialize parameter를 진행한다.
    - kaiming_normal :
    input tensor를 평균이 0인 정규분포의 형태로 값을 채워준다.
    - zeros

2. Set Optimizer

  • 모델 클래스 인스턴스 생성
  • loss 함수 선정
    크로스 엔트로피
    - nn.CrossEntropyLoss()
  • optimizer 할당
    아담
    - optim.Adam(parametersm learning_rate)

2-1. simple test

세션이 없기 때문에 바로 네트워크를 만들고 실행시켜볼 수 있다는 것이 Torch의 장점(TF2도 가능하다)

무언가 Torch에서 실행시키기 위해서는 현재 Device에 저장해야한다.
ex)

M = MultiLayerPerceptronClass(name='mlp',xdim=784,hdim=256,ydim=10).to(device)

torch.tensor.detach() : Tensor를 복사하는 방법 중 하나이다.

3. Eval Func setting

-model.eval(), model.train()
Sets the module in evaluation, training mode
only affect particular modules(e.g. Dropout, BatchNormalization)

profile
Today is the day

0개의 댓글