ONNX, TensorFlow, PyTorch, Core ML 등 다양한 형식을 지원하는 신경망·딥러닝·머신러닝 모델 뷰어입니다.
LaurentMazare/tch-rs
Rust에서 딥러닝 모델을 만들고 학습 및 실행할 수 있도록 PyTorch(libTorch) C++ API를 바인딩합니다.
- 스타
- 5,516
- 포크
- 463
- 열린 이슈
- 276
- 마지막 커밋
- 3개월 전
어떤 프로젝트인가요?
tch-rs는 PyTorch C++ API(libTorch)를 얇게 감싼 `tch` 크레이트를 제공합니다. 원래 C++ 인터페이스와 유사하게 설계되어 Rust에서 텐서 연산, 자동 미분, 신경망 모듈을 사용할 수 있습니다. 이를 바탕으로 더 관용적인 Rust API를 만들 수도 있습니다.
이 크레이트는 텐서 생성 및 산술 연산, VarStore와 SGD 및 Adam 같은 옵티마이저를 이용한 그래디언트 기반 학습, TorchScript JIT 모델 로딩을 지원합니다. MNIST 로딩, ImageNet 전처리, 사전 학습된 ResNet 및 VGG 모델 같은 비전 유틸리티도 제공하며, PyTorch에서 safetensors 형식으로 내보낸 가중치도 가져올 수 있습니다.
이 크레이트에는 libtorch v2.13.0이 필요하며, 시스템에 설치된 버전이나 직접 다운로드한 파일, 로컬 Python PyTorch 설치본을 사용할 수 있고 download-libtorch feature를 통해 자동으로 가져올 수도 있습니다. 정적 링크도 지원합니다.
핵심 기능
- 01libtorch C++ API를 얇게 감싼 래퍼와 텐서 타입 및 일반적인 텐서 연산을 제공합니다.
- 02VarStore를 통해 SGD 및 Adam 같은 옵티마이저를 사용하는 자동 미분을 지원합니다.
- 03TorchScript JIT 모델을 로드하고 safetensors 형식의 PyTorch 가중치를 가져올 수 있습니다.
- 04MNIST 로딩, ImageNet 전처리, 사전 학습된 ResNet 및 VGG 모델을 비롯한 비전 유틸리티를 제공합니다.
- 05시스템 libtorch, 수동 설치, Python PyTorch 또는 자동 다운로드를 선택할 수 있는 빌드 옵션을 제공합니다.
활용 사례
- PyTorch 커널을 활용해 Rust로 딥러닝 모델을 작성하거나 학습합니다.
- Rust 서비스에서 사전 학습된 비전 모델이나 TorchScript 모델을 사용해 추론을 실행합니다.
- 동일한 libtorch 백엔드를 유지하면서 PyTorch 모델 코드를 Rust로 포팅합니다.
- libtorch 기반으로 더 높은 수준의 Rust 머신러닝 라이브러리를 만듭니다.
빠른 시작
- 1
libtorch v2.13.0을 설치합니다(시스템 전체에 설치하거나 PyTorch 웹사이트에서 다운로드).
- 2
LIBTORCH 변수로 libtorch 디렉터리를 지정해 빌드에 사용하도록 설정합니다.
export LIBTORCH=/path/to/libtorch - 3
예제를 실행해 설정을 확인합니다.
cargo run --example basics
사용 전 알아둘 점
- libtorch v2.13.0을 별도로 설치해야 하므로 설정 작업이 추가됩니다.
- MinGW는 PyTorch 호환성 문제가 있으므로 Windows 사용자는 MSVC 툴체인을 사용해야 합니다.
- 정적 링크를 하려면 libtorch를 소스에서 직접 빌드해야 합니다.
토픽
자주 묻는 질문
- tch-rs은(는) 무엇인가요?
- Rust에서 딥러닝 모델을 만들고 학습 및 실행할 수 있도록 PyTorch(libTorch) C++ API를 바인딩합니다. tch-rs는 PyTorch C++ API(libTorch)를 얇게 감싼 `tch` 크레이트를 제공합니다. 원래 C++ 인터페이스와 유사하게 설계되어 Rust에서 텐서 연산, 자동 미분, 신경망 모듈을 사용할 수 있습니다. 이를 바탕으로 더 관용적인 Rust API를 만들 수도 있습니다.
- tch-rs은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
- tch-rs은(는) Apache-2.0 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
- tch-rs은(는) 아직 유지보수되고 있나요?
- 6개월 이내 업데이트. tch-rs의 마지막 커밋은 2026년 8월 23일입니다.
- tch-rs은(는) 어디에 사용할 수 있나요?
- PyTorch 커널을 활용해 Rust로 딥러닝 모델을 작성하거나 학습합니다. Rust 서비스에서 사전 학습된 비전 모델이나 TorchScript 모델을 사용해 추론을 실행합니다. 동일한 libtorch 백엔드를 유지하면서 PyTorch 모델 코드를 Rust로 포팅합니다. libtorch 기반으로 더 높은 수준의 Rust 머신러닝 라이브러리를 만듭니다.
- tch-rs는 어떻게 설치하나요?
- libtorch v2.13.0을 설치합니다(시스템 전체에 설치하거나 PyTorch 웹사이트에서 다운로드). LIBTORCH 변수로 libtorch 디렉터리를 지정해 빌드에 사용하도록 설정합니다.: export LIBTORCH=/path/to/libtorch 예제를 실행해 설정을 확인합니다.: cargo run --example basics
- tch-rs은(는) 어디서 받을 수 있나요?
- 소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/LaurentMazare/tch-rs
요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.
관련 프로젝트
네이티브 Java API로 모델을 만들고 학습하고 실행할 수 있는 엔진 독립적인 Java 딥러닝 프레임워크입니다.
TNT(torchtnt)는 PyTorch 모델 학습을 위한 가벼운 도구와 유틸리티 라이브러리입니다.
GitHub의 PyTorch 관련 라이브러리, 모델, 구현체, 튜토리얼과 논문을 모아 분류한 큐레이션 목록입니다.
CUDA, ROCm, Metal, Vulkan, WebGPU 및 CPU 백엔드에서 학습과 추론을 지원하는 Rust 텐서 라이브러리이자 딥러닝 프레임워크입니다.
Python 및 C++ API를 제공하는, 머신러닝 모델을 구축하고 배포하기 위한 엔드투엔드 오픈소스 플랫폼입니다.