PyTorch3 [파이토치] 4. 여러 모듈 사용 3번 과정까지의 글은 신경망 구조 자체가 간단한 모델이라고 볼 수 있다. 하지만 실제 논문들의 코드를 보다보면, 생각보다 복잡한 형태로 구현되는 경우가 있다. 이를 효율적으로 구성하기 위해 클래스를 여러개 만드는 방법을 소개한다. 또한, 사실 신경망 구조 자체는 연구자가 한땀한땀 설정하는 것이기 때문에 한번에 하나의 모델이 아니라 여러 개의 모델을 돌려놓기도 하는데 이에 대해서도 코드로 살펴보려고 한다. 1. 신경망 구조 모듈화하기 구글에서 만든 이미지 분류 모델 중 하나인 GoogLeNET이 있는데 구글넷에는 위의 그림처럼 Inception module이 여러개 붙어있는 구조이다. 하지만 class GoogLeNET의 __init__ 에 다 넣기보다는 Inception module을 별도 클래스로 지정.. 2023. 12. 29. [파이토치] 3. 학습 model.eval() # 모델을 평가 모드로 설정 valid_loss = 0.0 valid_accuracy = 0 with torch.no_grad(): # model의 업데이트 막기 전체 개요 지난 시간에 모델에 대해서 공부했다면 오늘은 모델에 학습시킬 데이터를 처리하는 부분에 대해서 정리해보았습니다. 1. 모델 : 우리가 어떤 신경망 구조로 만들지에 대해서 설계하는 방식으로 이건 설계, 창작의 영역이라고 보면 될것 같다.DNN으로 보면, 각 layer 내부 뉴런의 갯수, CNN에서는 Kernel의 갯수 등을 여기서 설정한다. 2. 데이터 : 크게 데이터 전처리와 데이터 로더 작업으로 나눌 수 있으며, 전처리는 우리가 학습시키려는 데이터를 모델에 들어갈 수 있게 텐서를 조절하거나 데이터를 클리닝하는 .. 2023. 12. 29. [파이토치] 2. 데이터 처리 전체 개요 지난 시간에 모델에 대해서 공부했다면 오늘은 모델에 학습시킬 데이터를 처리하는 부분에 대해서 정리해보았습니다. 1. 모델 : 우리가 어떤 신경망 구조로 만들지에 대해서 설계하는 방식으로 이건 설계, 창작의 영역이라고 보면 될것 같다.DNN으로 보면, 각 layer 내부 뉴런의 갯수, CNN에서는 Kernel의 갯수 등을 여기서 설정한다. 2. 데이터 : 크게 데이터 전처리와 데이터 로더 작업으로 나눌 수 있으며, 전처리는 우리가 학습시키려는 데이터를 모델에 들어갈 수 있게 텐서를 조절하거나 데이터를 클리닝하는 작업에 해당하며, 데이터 로더는 3번의 학습에 맞게 데이터를 배치 형태로 전달하는 역할을 한다. *데이터 로더가 왜 필요한지? 처음 공부할 때 이게 왜 필요하지? 생각했는데 공부하면서 이.. 2023. 12. 29. 이전 1 다음