Show HN: Glowstick – Stable Rust에서 타입 레벨 텐서 형상(Tensor Shapes) 구현하기
요약
Glowstick은 Rust의 타입 시스템을 활용하여 텐서의 형상(Shape)을 추적하는 라이브러리입니다. Candle 및 Burn과 같은 ML 프레임워크와 통합되어 텐서 연산 시 발생할 수 있는 오류를 컴파일 단계에서 방지합니다.
핵심 포인트
- 타입 시스템을 통한 텐서 형상 추적 및 안전성 확보
- 동적 차원을 지원하는 점진적 타이핑 구현
- Candle 및 Burn 프레임워크와의 통합 지원
- 컴파일 타임에 텐서 연산 오류를 사전에 방지
glowstick
이 크레이트(Crate)는 타입 시스템(Type system)에서 텐서의 형상(Shape)을 추적함으로써 Rust에서 텐서를 다루는 작업을 안전하고, 쉬우며, 즐겁게 만들어줍니다!
candle을 사용한 예시:
use candle::{DType, Device};
use glowstick::{Shape2, num::{U1, U2}, debug_tensor};
use glowstick_candle::{Tensor, matmul};
...
여러 가지 연산(Operations)을 사용할 수 있습니다:
use candle::{DType, Device};
use glowstick::{num::{U0, U1, U2, U4, U3, U64, U5, U8}, Shape2, Shape4};
use glowstick_candle::{Tensor, conv2d, squeeze, unsqueeze, narrow, reshape, transpose, flatten, broadcast_add};
...
더 광범위한 사용 사례와 candle 및 Burn과 같은 인기 있는 Rust ML 프레임워크와의 통합 예시는 examples 디렉토리를 확인하세요.
이 프로젝트는 현재 1.0 미만 버전(pre-1.0)입니다: 파괴적 변경(Breaking changes)이 발생할 수 있습니다!
특징 (Features)
- 텐서 형상(Tensor shapes)을 타입(Types)으로 표현
- 동적 차원(Dynamic dimensions) 지원 (점진적 타이핑 (Gradual typing))
- 사람이 읽을 수 있는 에러 메시지 (어느 정도)
- 타입 레벨 형상 수동 확인 (
debug_tensor!(_)) - 모든 ONNX 연산 지원
AI 자동 생성 콘텐츠
본 콘텐츠는 HN Code Generation의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기