use db::{save::Save, types::GraphemeString}; use deepphonemizer::Phonemizer; use tch::Device; use std::sync::Arc; mod inference; use crate::inference::DeepPhonemizerInference; #[tokio::main] async fn main() { let mut db = std::fs::File::open("db.bin").unwrap(); let save: Save = bincode::serde::decode_from_std_read(&mut db, bincode::config::standard()).unwrap(); let phonemizer = Phonemizer::from_checkpoint( "data/model.pt", "data/forward_config.yaml", Device::cuda_if_available(), None, ) .unwrap(); let inference_service = Arc::new(DeepPhonemizerInference(phonemizer)); let db = Arc::new(db::inference::Inference::new(inference_service, save)); println!("{}", db.infer(GraphemeString("bon".to_string())).await.unwrap()); }