본문 바로가기
728x90
반응형

Data Science/Deep Learning32

Pytorch 모델 작성 기본 구조 이해하기 파이토치 모델 작성 기본 구조를 간략하게 설명해달라고 했더니 ChatGPT 가 짜준 구조입니다. 구조에 대한 기본 설명 nn.Module을 통해 모델의 층을 정의하고 forward pass할 층을 구성하도록 한뒤에, 사용할 데이터를 로드한 뒤, 모델/손실함수/옵티마이저를 정해주고 훈련을 시작합니다. 이후에 정한 epoch만큼 각 배치의 데이터들을 꺼내서 zero_grad로 옵티마이저의 그레디언트를 초기화 시킨 뒤에 모델을 통해 나온 결과를 비교해서 정의한 손실함수에 넣습니다. 계산된 손실함수를 토대로 역전파를 돌리고 옵티마이저의 파라미터도 업데이트를 진행합니다. 예시에는 if 문을 토대로 10개 배치를 기준으로 로그를 남겨습니다. Pytorch 모델 작성 기본구조 import torch import to.. 2023. 4. 13.
강화학습 Gymnasium 연습 튜토리얼 추천 FreecodeCamp Gymnasium 비디오 추천 어제부터 강화학습에 대해 궁금증이 생겨서 좀 찾아보다가 약 3시간 분량의 FreecodeCamp 튜토리얼을 발견했습니다!! 인도 영어발음이 약간 알아듣기 힘들지만, 쉽게 따라갈 수 있도록 구글 코랩도 제공하기 때문에 제공하는 코랩 노트북을 보면서 하나씩 따라갈 수 있었습니다. 생각외로 API호출도 import 문을 통해서 간단하게 수행이 가능했고 gym.make를 통해서 environment 구성도 가능하게 되어있었습니다. import gymnasium as gym env = gym.make("Blackjack-v1", sab=True,render_mode="rgb_array") 아직 완벽히 내용이해는 못했지만 강화학습에 관심있는 분들이라면 참고해보시.. 2023. 4. 11.
강화학습 시뮬레이션을 위한 공부 사이트 추천 : Gym 여러가지 딥러닝 모델을 공부하면서, 이제 딥러닝의 꽃이라고 할 수 있는 강화학습을 배우기 시작했는데요. 강화학습에서 시뮬레이션을 돌릴 때 사용하는 Gymnaisium Documentation 웹사이트를 공유합니다. https://gymnasium.farama.org/environments/mujoco/ Gymnasium Documentation A standard API for reinforcement learning and a diverse set of reference environments (formerly Gym) gymnasium.farama.org Gymnaisium을 어떻게 사용해야하는지, 어떤 식으로 작동되는지 자세한 설명이 나와있으니 참고하시면 좋을 것 같습니다! 2023. 4. 10.
빠르고 간편한 Pytorch Lightning 개념 정리 깃헙에서 코드를 구경하다가 Pytorch Lightning 을 발견했는데요. (공식 홈페이지 ) 기존 Pytorch 보다 코드가 훨씬 단축되어서 딥러닝 작업을 훨씬 간단히 수행할 수 있습니다. Pytorch와 API도 유사해서 기존 Pytorch 코드도 쉽게 변환이 가능합니다. 가장 좋은 점은 기존에 Pytorch에서 했던 데이터 로더, 모델 정의,손실함수, 최적화 및 학습 루프 등 딥러닝 작업을 위한 기본 모델 구성을 , Python Lightning에서는 모듈화한 간단한 명령으로 수행이 가능합니다. Pytorch Lightning 설치 pip install pytorch-lightning Pytorch와 Pytorh_lightning 비교 Pytorch # PyTorch import torch imp.. 2023. 4. 4.
save 한 모델 적용해서 이미지 분류값 예측하기!(pth 파일) 베스트 결과가 나온 모델을 저장해놓고 사용하는 법을 간략히 소개합니다! Resnet18 예시) model = models.resnet18(pretrained=True) model.load_state_dict(torch.load('base_model.pth', map_location=torch.device('cpu'))) transform = transforms.Compose([ transforms.RandomHorizontalFlip(p=0.5), transforms.RandomVerticalFlip(p=0.5), transforms.Resize((224, 224)), transforms.ToTensor(), transforms.Normalize((0.5,), (0.5,)) ]) 먼저 어떤 모델을 사용할.. 2023. 2. 27.
캐글 GPU 아끼는 방법! (코드 첨부) 캐글이나 코랩을 열심히 쪼개면서 공부하면, 코드가 좀 잘 돌아가네...? 싶을 때 GPU 다 썼다는 알림이 오는데요.... 이번에 유용하게 사용했던 GPU 아끼고 비우는 코드를 공유합니다. from GPUtil import showUtilization as gpu_usage from numba import cuda def free_gpu_cache(): print("Initial GPU Usage") gpu_usage() torch.cuda.empty_cache() cuda.select_device(0) cuda.close() cuda.select_device(0) print("GPU Usage after emptying the cache") gpu_usage() free_gpu_cache() 이 코드를.. 2023. 1. 25.
728x90
반응형