From 249d0772c78acc6ec6d51a07bb812737ea2f9948 Mon Sep 17 00:00:00 2001 From: Robert Knight Date: Fri, 5 Jul 2024 22:13:22 +0100 Subject: [PATCH] Update to rten v0.11 --- Cargo.lock | 24 ++++++++++++------------ Cargo.toml | 6 +++--- ocrs/src/lib.rs | 10 +++++----- ocrs/src/recognition.rs | 6 +++++- 4 files changed, 25 insertions(+), 21 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 40279c5..8c6bbb4 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -134,9 +134,9 @@ dependencies = [ [[package]] name = "flatbuffers" -version = "22.12.6" +version = "24.3.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ae1bfc84d904f75e7ef6f8796b020c606a9e8e271e2004c0a74f7edeedba45f" +checksum = "8add37afff2d4ffa83bc748a70b4b1370984f6980768554182424ef71447c35f" dependencies = [ "bitflags", "rustc_version", @@ -394,9 +394,9 @@ dependencies = [ [[package]] name = "rten" -version = "0.10.0" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09c030cdf90e64c5eeeba389ca59da14b0a106b1b8366c15591251bb6a2e777f" +checksum = "9ae4ca377f5ab9dabe9c0742b1bb0c2e1cf5bc17bb02e8f738c6130b1ff34e74" dependencies = [ "flatbuffers", "libm", @@ -412,33 +412,33 @@ dependencies = [ [[package]] name = "rten-imageproc" -version = "0.10.0" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ba61077269b2b2c90445bfd55fb798dcd544b56e7fd78faaea51940b8e429ae" +checksum = "b1974ad497f83f0a0e6f8cc1f948c1213bf701d02805797ccccc79181891371e" dependencies = [ "rten-tensor", ] [[package]] name = "rten-simd" -version = "0.10.0" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8eb16da64e0d08ce56dc17d8304ab2da541176ee30430c0b0e581a7841a660ae" +checksum = "7f1bb63fc8a157699e42a501cf43512871b20d3bea755f3ffac3ab63f1af10c4" [[package]] name = "rten-tensor" -version = "0.10.0" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52f5e53d2e43bb736e89e4ea41b707e024190f8ba47c3eddf5a3c2d022089909" +checksum = "eb83a8292d28b4c79f17708d483dca3706538a86221f1a3373721877573f7f33" dependencies = [ "smallvec", ] [[package]] name = "rten-vecmath" -version = "0.10.0" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56eccc46a7e7a2df2cebb7ba95e613a01942a01e0f2f2f7d6122176ab7372e9f" +checksum = "af98a4e48d69c5aa2167d3adb7a8c1585602486a1aedd1ee8b3d684f98059396" dependencies = [ "rten-simd", ] diff --git a/Cargo.toml b/Cargo.toml index fc64858..f849f77 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -6,6 +6,6 @@ members = [ ] [workspace.dependencies] -rten = { version = "0.10.0" } -rten-imageproc = { version = "0.10.0" } -rten-tensor = { version = "0.10.0" } +rten = { version = "0.11.0" } +rten-imageproc = { version = "0.11.0" } +rten-tensor = { version = "0.11.0" } diff --git a/ocrs/src/lib.rs b/ocrs/src/lib.rs index 4a551aa..c4131ff 100644 --- a/ocrs/src/lib.rs +++ b/ocrs/src/lib.rs @@ -205,7 +205,7 @@ impl OcrEngine { mod tests { use std::error::Error; - use rten::model_builder::{ModelBuilder, OpType}; + use rten::model_builder::{ModelBuilder, ModelFormat, OpType}; use rten::ops::{MaxPool, Transpose}; use rten::Dimension; use rten::Model; @@ -240,7 +240,7 @@ mod tests { /// Takes a CHW input tensor with values in `[-0.5, 0.5]` and adds a +0.5 /// bias to produce an output "probability map". fn fake_detection_model() -> Model { - let mut mb = ModelBuilder::new(); + let mut mb = ModelBuilder::new(ModelFormat::V1); let input_id = mb.add_value( "input", Some(&[ @@ -258,7 +258,7 @@ mod tests { mb.add_output(output_id); let bias = Tensor::from_scalar(0.5); - let bias_id = mb.add_float_constant(&bias); + let bias_id = mb.add_constant(bias.view()); mb.add_operator( "add", OpType::Add, @@ -277,7 +277,7 @@ mod tests { /// log-probability of each class label. In this fake we just re-interpret /// each column of the input as a one-hot vector of probabilities. fn fake_recognition_model() -> Model { - let mut mb = ModelBuilder::new(); + let mut mb = ModelBuilder::new(ModelFormat::V1); let input_id = mb.add_value( "input", Some(&[ @@ -304,7 +304,7 @@ mod tests { // Squeeze to remove the channel dim: NCHW/4 => NHW/4 let squeeze_axes = Tensor::from_vec(vec![1]); - let squeeze_axes_id = mb.add_int_constant(&squeeze_axes); + let squeeze_axes_id = mb.add_constant(squeeze_axes.view()); let squeeze_out = mb.add_value("squeeze_out", None); mb.add_operator( "squeeze", diff --git a/ocrs/src/recognition.rs b/ocrs/src/recognition.rs index 4e4226a..d7f8984 100644 --- a/ocrs/src/recognition.rs +++ b/ocrs/src/recognition.rs @@ -364,7 +364,11 @@ impl TextRecognizer { let input: Tensor = input.into(); let [output] = self .model - .run_n(&[(self.input_id, (&input).into())], [self.output_id], None) + .run_n( + vec![(self.input_id, (&input).into())], + [self.output_id], + None, + ) .map_err(|err| ModelRunError::RunFailed(err.into()))?; let mut rec_sequence: NdTensor = output.try_into().map_err(|_| ModelRunError::WrongOutput)?;