skorch-dev/skorch

A scikit-learn compatible neural network library that wraps PyTorch

해결하는 문제

PyTorch와 scikit-learn 사이의 격차를 메우며, 사용자가 PyTorch 신경망을 마치 scikit-learn 추정기인 것처럼 다룰 수 있게 해줍니다. 이로 인해 반복적인 트레이닝 루프 코드를 작성할 필요가 없으며, PyTorch 모델을 scikit-learn의 전처리, 파이프라인 구성, 하이퍼파라미터 튜닝 도구 생태계 내에서 직접 사용할 수 있습니다.

작동 방식

Skorch는 PyTorch 모듈을 scikit-learn 호환 인터페이스로 래핑합니다. NeuralNetClassifier와 같은 클래스를 제공함으로써 .fit() 및 .predict()와 같은 표준 scikit-learn 메서드를 사용할 수 있게 합니다. 이 래퍼를 통해 PyTorch 모델은 sklearn.pipeline.Pipeline 및 sklearn.model_selection.GridSearchCV에 원활하게 통합되어 자동 모델 선택 및 최적화가 가능합니다.

대상 사용자

신경망 구축에 PyTorch를 사용하지만, 모델 관리, 평가, 파이프라인 오케스트레이션에는 scikit-learn API를 선호하는 머신러닝 엔지니어 및 데이터 사이언티스트.

주요 기능

  • scikit-learn 호환성: 하이퍼파라미터 최적화를 위한 scikit-learn 파이프라인 및 그리드 서치와의 완전한 통합.
  • 학습 유틸리티: 조기 중단, 체크포인트 저장, 학습률 스케줄러(사이클릭 LR 및 웜 리스타트 포함) 내장 지원.
  • 모델 관리: 파라미터 고정/해제 기능 및 CLI 및 Jupyter 노트북용 진행률 바.
  • 광범위한 통합: Hugging Face 및 GPyTorch(Gaussian Processes)와 호환.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트