LaurentMazare/tch-rs
Rust bindings for the C++ api of PyTorch.
What it solves
tch-rs는 PyTorch C++ API(libtorch)에 대한 Rust 바인딩을 제공하여, 개발자가 Rust 프로그래밍 언어 내에서 PyTorch의 강력한 텐서 연산, 자동 미분 및 신경망 모듈을 활용할 수 있게 합니다. Rust의 성능과 안전성을 유지하면서 PyTorch의 풍부한 생태계를 이용하고자 하는 사람들을 위한 다리 역할을 합니다.
How it works
이 프로젝트는 C++ PyTorch API를 얇게 래핑한 형태로 제공됩니다. 가능한 한 원본 C++ API와 가깝게 유지하여 일관성을 보장합니다. 라이브러리는 libtorch에 링크되며, 시스템 전역 설치, Python PyTorch 설치, 혹은 빌드 과정에서 자동 다운로드를 통해 제공될 수 있습니다.
Who it’s for
Python 코드를 작성하지 않고도 PyTorch 기능을 이용해 머신러닝 모델을 구축·학습·배포하고자 하는 Rust 개발자를 위한 것입니다.
Highlights
- Tensor Operations: 기본 텐서 조작 및 수학 연산을 지원합니다.
- Automatic Differentiation:
nn::VarStore와 SGD, Adam 등 옵티마이저를 사용해 경사 하강법으로 모델을 학습할 수 있습니다. - Neural Network API: 선형 레이어와 활성화 함수(예: ReLU)를 조합해 아키텍처를 구축하는 도구를 제공합니다.
- Pre‑trained Model Support: PyTorch 파일이나
safetensors포맷에서 가중치를 로드하여 즉시 추론이 가능합니다. - TorchScript JIT: TorchScript를 통해 Python에서 학습된 모델을 배포·실행할 수 있습니다.
- Cross‑Platform: Linux, macOS, Windows를 지원하며, GPU 가속을 위한 CUDA도 지원합니다.