파이토치 3

PyTorch Hydra

Hydra - 파라미터가 복잡해지면서 코드를 구조화하거나 관리하기 어려운 문제를 해결하기 위해, 별도의 설정 파일을 작성하여 관리하는데 사용하는 오픈소스 프레임워크 - 설정 파일을 통해 비슷한 여러 태스크를 관리 및 실행할 수 있도록 도와주는 프레임워크배경- 관리의 어려움: 파라미터가 여러 파일이나 클래스, 함수에 분산돼 있으면, 각각의 위치에서 파라미터를 변경해야 하므로 파라미터 관리가 어려워- 코드 일관성의 어려움: 같은 파라미터가 여러 위치에서 사용된다면, 일관성을 유지하기 위해 모든 위치를 동시에 업데이트Yet Another Markup Language(yaml) - Hydra에서 파라미터 관리를 위해 yaml이라는 데이터 포맷을 사용 - 포맷의 특징    - key-value 구성으로 작성된 파..

Study/머신러닝 2024.12.17

PyTorch Lightning

PyTorch Lightning 배경 - 구현하는 코드의 양이 늘어나며 코드의 복잡성이 증가하고 이에 따라 다양한 요소들이 복잡하게 얽히게 됨- 이런 요소들은 서로 강하게 관계성을 가지게 되어, 한 부분을 변경하면 다른 부분에도 영향PyTorch에 대한 high-level 인터페이스를 제공하는 오픈소스 라이브러리- High-level 인터페이스 : 복잡한 시스템이나 프로그램을 사용자에게 더 단순하고 이해하기 쉽게 만들어주는 인터페이스를 의미 - 딥러닝 모델 구축의 코드 템플릿으로써 기능을 하여 코드를 작성할 때 좀 더 정돈되고 간결화된 코드를 작성- 코드 템플릿 : 특정 프로그래밍 작업을 간소화하거나 반복적인 코드 작성을 줄이기 위해 미리 정의된 코드 블록이나 구조를 의미코드의 추상화 및 하드웨어 호출 ..

Study/머신러닝 2024.12.17

딥러닝과 PyTorch

PyTorch 작동 구조 학습 단계Data -> Model  -> Output -> Loss -> OptimizationPyTorch 사용Data : torch.utils.data.Dataset / torch.utils.data.DataLoader Model : torch.nn.Module Loss Function : torch.nn / torch.nn.functional Optimization : torch.optim각 클래스 간 관계  DataDataset과 DataLoader를 사용하여 데이터 로드 - `Dataset`과 `DataLoader`를 사용하면, 데이터 집합에서 미니 배치(전체 데이터 집합을 더 작은 부분집합으로 분할한 일부 데이터)크기의 데이터를 반환- PyTorch에는 이미지 데이터를..

Study/머신러닝 2024.12.17