TL;DR
Montgomery는 Burn을 기반으로 CPU 또는 GPU에서 컴퓨터 비전 추론과 학습을 수행하는 실험적 Rust 스택이다. YOLOX, YOLOv3, YOLOv8, YOLOv10, YOLO11, YOLO12, YOLO26 계열의 객체 탐지와 일부 인스턴스 세그멘테이션·분류를 지원하며, 일반 추론에는 Python, PyTorch, ONNX Runtime이 필요하지 않다. 학습은 처음부터 시작하거나 사전 학습 Burnpack을 초기화 모델로 사용하거나 전체 네이티브 체크포인트에서 재개할 수 있고, 결과·검증 정보·best/last 모델을 파일로 내보낸다. Rust API와 CLI를 함께 제공하며 ONNX 내보내기 과정에서는 ONNX Runtime으로 그래프를 검증한다.
실용적 조언
- 학습을 중단 후 이어갈 계획이면 --model로 Burnpack만 지정하지 말고 --resume에 전체 네이티브 체크포인트 경로를 지정해야 합니다.
- Rust 애플리케이션에 추론을 통합할 때는 Model::new으로 .bpk를 불러온 뒤 prediction.detections()에서 클래스명과 confidence를 읽는 방식을 사용할 수 있습니다.
- 추론 성능을 비교할 때는 이미지 로딩 비용이 포함되는 일반 실행과 montgomery bench의 cold-start·steady-state 측정을 구분해야 합니다.
섹션별 상세
이미지 분석

이미지는 YOLO11n-seg가 한 장의 이미지 안에서 person, bicycle, dog를 개별 객체로 분리하고 각 객체에 서로 다른 윤곽 마스크와 신뢰도를 부여한 결과를 담고 있습니다. 화면에 person 0.72, bicycle 0.90, dog 0.87이 표시되어 Montgomery가 객체 종류별 탐지와 픽셀 단위 인스턴스 마스크를 함께 처리한다는 본문 내용을 시각적으로 뒷받침합니다.
흑백 이미지에서 사람, 자전거, 개를 각각 다른 색상의 마스크와 경계 상자로 표시한 인스턴스 세그멘테이션 결과입니다.
용어 해설
- 인스턴스 세그멘테이션(Instance Segmentation)
- — 이미지 안의 객체를 종류별로 분류하는 데 그치지 않고, 같은 종류에 속한 개별 객체를 각각 구분해 픽셀 단위 마스크를 생성하는 컴퓨터 비전 작업입니다. Montgomery에서는 YOLO 계열 모델의 추론 결과로 객체별 윤곽과 신뢰도를 함께 얻는 데 사용됩니다.
- Burnpack
- — Burn 기반 모델 가중치와 실행에 필요한 정보를 저장하는 Montgomery의 네이티브 모델 형식입니다. 새로운 학습 실행을 초기화하는 데 사용할 수 있지만, optimizer 상태를 포함한 학습 중단 지점 자체를 대체하지 않으므로 정확한 재개에는 별도의 체크포인트가 필요합니다.
- ONNX 내보내기(ONNX Export)
- — 학습 또는 추론 모델을 서로 다른 실행 환경에서 사용할 수 있는 ONNX 그래프로 변환하는 과정입니다. Montgomery는 명시적으로 지정한 Burnpack을 읽어 ONNX 파일을 만들고, ONNX Runtime으로 변환된 그래프를 검증하는 오프라인 절차를 제공합니다.
- 재개 가능한 체크포인트(Resumable Checkpoint)
- — 학습된 가중치뿐 아니라 학습 상태를 저장해 중단된 실행을 이어갈 수 있는 체크포인트입니다. Montgomery의 --resume 옵션은 전체 네이티브 학습 체크포인트를 요구하며, best와 last 모델 외에 복구용 체크포인트를 --save-period로 저장할 수 있습니다.
코드 예제
use montgomery::Model;
fn main() -> montgomery::Result {
let model = Model::new("yolo26n.bpk")?;
let prediction = model.inference("image.jpg")?;
for detection in prediction.detections().expect("detection model") {
println!("{}: {:.1}%", detection.class_name, detection.confidence * 100.0);
}
Ok(())
}Burnpack 모델을 불러와 이미지 추론을 실행하고 감지된 클래스명과 신뢰도를 출력하는 Rust API 예제입니다.
montgomery predict --model best.bpk --source image.jpg --json학습된 Burnpack 모델로 이미지를 추론하고 결과를 JSON 형식으로 출력하는 명령입니다.
# Fresh initialization
montgomery train --architecture yolo26n --data dataset.yaml --epochs 100
# Pretrained initialization
montgomery train --model yolo26n.bpk --data dataset.yaml --epochs 100
# Exact continuation (model and dataset come from the training checkpoint)
montgomery train --resume runs/train/checkpoints/last처음부터 학습, 사전 학습 모델 초기화, 전체 체크포인트에서 학습 재개를 구분해 실행하는 명령 예제입니다.
montgomery export-onnx --model yolo26n.bpk지정한 Burnpack 모델을 ONNX 파일로 내보내는 명령입니다.
언급된 도구
Rust에서 YOLO 계열 객체 탐지·인스턴스 세그멘테이션·분류 모델을 학습하고 추론하는 컴퓨터 비전 스택
Montgomery의 WGPU 학습과 Burnpack 모델 형식을 뒷받침하는 Rust 딥러닝 프레임워크
Montgomery의 ONNX 내보내기 결과 그래프를 검증하는 실행 환경
언급된 리소스
AI 요약 · 북마크 · 개인 피드 설정 — 무료
출처 · 인용 안내
인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.