use npyz::WriterBuilder; use npyz::{AutoSerialize, WriteOptions}; use std::io::BufWriter; use std::{ fs::File, io::{self, BufRead}, }; pub fn load_batch_prediction_request_base64(file_name: &str) -> Vec> { let file = File::open(file_name).expect("could not read file"); let mut result = vec![]; for line in io::BufReader::new(file).lines() { match base64::decode(line.unwrap().trim()) { Ok(payload) => result.push(payload), Err(err) => println!("error decoding line {err}"), } } println!("result len: {}", result.len()); return result } pub fn save_to_npy(data: &[T], save_to: String) { let mut writer = WriteOptions::new() .default_dtype() .shape(&[data.len() as u64, 1]) .writer(BufWriter::new(File::create(save_to).unwrap())) .begin_nd() .unwrap(); writer.extend(data.to_owned()).unwrap(); writer.finish().unwrap(); }