Rust
[Rust] model inference with CUDA (ONNXRUNTIME,ort)
Ninestar
2023. 7. 7. 14:56
반응형
https://crates.io/crates/ort에 따르면 cuda를 사용할수 있습니다.(cuda는 이미 설치되어있다고 가정합니다.)
cargo.toml에 ort를 추가할때 feature로 load-dynamic이나 cuda가 있으면 cuda를 사용 할 수 있는것 같습니다.
#[cfg(any(feature = "load-dynamic", feature = "cuda"))]
cargo.toml에 아래 코드를 추가합니다.
ort = {version="1.14.6", features = ["cuda"]}
그리고 main.rs에 use ort::ExecutionProvider 추가하고
main()함수 에서
ExecutionProvider::cuda().is_available()
로 확인할수 있습니다.
builder 환경 설정할때
.with_execution_providers([ExecutionProvider::cuda()])옵션을 추가합니다.
위 옵션이 있을때 available 결과가 False로 나오면 providers는 자동으로 CPU로 설정되는것 같습니다.
let env = Arc::new(
Environment::builder()
.with_name("YOLOv8")
.with_execution_providers([ExecutionProvider::cuda()])
.build()
.unwrap(),
);
watch -d nvidia-smi
