텐서(Tensor): 파이토치에서 텐서 의미는 다음과 같음
동적 신경망: 훈련을 반복할 때마다 네트워크 변경이 가능한 신경망을 의미
손실 함수(loss function): 학습하는 동안 출력과 실제 값(정답) 사이의 오차를 측정
옵티마이저(optimizer): 데이터와 손실 함수를 바탕으로 모델의 업데이트 방법을
결정
학습률 스케줄러(learning rate scheduler): 미리 지정한 횟수의 에포크를 지날때마다 학습률을 감소(decay)시켜 줌
optim.lr_scheduler.LambdaLR: 람다(lambda) 함수를 이용하여 그 함수의 결과를 학습률로 설정
optim.lr_scheduler.StepLR: 특정 단계(step)마다 학습률을 감마(gamma) 비율만큼 감소시킴
optim.lr_scheduler.MultiStepLR: StepLR과 비슷하지만 특정 단계가 아닌 지정된 에포크에만 감마비율로 감소시킴
optim.lr_scheduler.ExponentialLR: 에포크마다 이전 학습률에 감마만큼 곱함
optim.lr_scheduler.CosineAnnealingLR: 학습률을 코사인(cosine) 함수의 형태처럼 변화시킴,학습률이 커지기도 작아지기도 함
optim.lr_scheduler.ReduceLROnPlateau: 학습이 잘되고 있는지 아닌지에 따라 동적으로 학습률을 변화시킬 수 있음
conda 설치
https://www.anaconda.com/download
conda 생성
#python 3.9버전으로 가상환경 생성
conda create -n conda_prac python=3.9.0
#가상환경 활성화
conda activate conda_prac
잘못 생성한 가상환경 삭제
conda env remove -n conda_practice
파이토치 설치
https://pytorch.kr/get-started/locally/
conda install pytorch torchvision torchaudio pytorch-cuda=11.8 -c pytorch -c nvidia
주피터노트북 설치
pip install jupyter notebook
#현재 환경에서 주피터 노트북 실행
jupyter notebook
cuda 환경을 맞춘 후에 pytorch 실습을 하였는데 1, 2주차에 했던 실습을 jupyter notebook에서 진행하는 느낌이라 이후 실습 내용은 간단하게 요약만 했다.
텐서 조작
차원 조작
신경망 구조
합성곱 신경망 구조(cnn)
전이학습