[INFO] fetching crate ahuvista-nn 0.1.1...
[INFO] testing ahuvista-nn-0.1.1 against master#0d162b25edd5bf0dba9a22e83b614f1113e90474 for pr-150681
[INFO] extracting crate ahuvista-nn 0.1.1 into /workspace/builds/worker-6-tc1/source
[INFO] started tweaking crates.io crate ahuvista-nn 0.1.1
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate ahuvista-nn 0.1.1
[INFO] tweaked toml for crates.io crate ahuvista-nn 0.1.1 written to /workspace/builds/worker-6-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate ahuvista-nn 0.1.1 on toolchain 0d162b25edd5bf0dba9a22e83b614f1113e90474
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate ahuvista-nn 0.1.1 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded ravif v0.11.20
[INFO] [stderr]   Downloaded av1-grain v0.2.4
[INFO] [stderr]   Downloaded half v2.7.0
[INFO] [stderr]   Downloaded moxcms v0.7.7
[INFO] [stderr]   Downloaded image v0.25.8
[INFO] [stderr]   Downloaded pxfm v0.1.25
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 650cc15ae38e19b5aef1e718f79b3127c717a86500c0f017e2e7cd280b410351
[INFO] running `Command { std: "docker" "start" "-a" "650cc15ae38e19b5aef1e718f79b3127c717a86500c0f017e2e7cd280b410351", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "650cc15ae38e19b5aef1e718f79b3127c717a86500c0f017e2e7cd280b410351", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "650cc15ae38e19b5aef1e718f79b3127c717a86500c0f017e2e7cd280b410351", kill_on_drop: false }`
[INFO] [stdout] 650cc15ae38e19b5aef1e718f79b3127c717a86500c0f017e2e7cd280b410351
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] aed3b18ceee270a3dd7b763181c50ede029606b012b42c58df160db897c7b290
[INFO] running `Command { std: "docker" "start" "-a" "aed3b18ceee270a3dd7b763181c50ede029606b012b42c58df160db897c7b290", kill_on_drop: false }`
[INFO] [stderr]    Compiling quote v1.0.41
[INFO] [stderr]    Compiling libm v0.2.15
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling zerocopy v0.8.27
[INFO] [stderr]    Compiling simd-adler32 v0.3.7
[INFO] [stderr]    Compiling generic-array v0.14.9
[INFO] [stderr]    Compiling built v0.7.7
[INFO] [stderr]    Compiling nom v7.1.3
[INFO] [stderr]    Compiling miniz_oxide v0.8.9
[INFO] [stderr]    Compiling crc32fast v1.5.0
[INFO] [stderr]    Compiling getrandom v0.3.3
[INFO] [stderr]    Compiling rav1e v0.7.1
[INFO] [stderr]    Compiling syn v2.0.106
[INFO] [stderr]    Compiling tracing-core v0.1.34
[INFO] [stderr]    Compiling quick-error v2.0.1
[INFO] [stderr]    Compiling rand_core v0.9.3
[INFO] [stderr]    Compiling maybe-rayon v0.1.1
[INFO] [stderr]    Compiling simd_helpers v0.1.0
[INFO] [stderr]    Compiling itertools v0.12.1
[INFO] [stderr]    Compiling flate2 v1.1.4
[INFO] [stderr]    Compiling matrixmultiply v0.3.10
[INFO] [stderr]    Compiling noop_proc_macro v0.3.0
[INFO] [stderr]    Compiling imgref v1.12.0
[INFO] [stderr]    Compiling zune-core v0.4.12
[INFO] [stderr]    Compiling new_debug_unreachable v1.0.6
[INFO] [stderr]    Compiling bitstream-io v2.6.0
[INFO] [stderr]    Compiling weezl v0.1.10
[INFO] [stderr]    Compiling anstream v0.6.21
[INFO] [stderr]    Compiling zune-jpeg v0.4.21
[INFO] [stderr]    Compiling num-integer v0.1.46
[INFO] [stderr]    Compiling pxfm v0.1.25
[INFO] [stderr]    Compiling loop9 v0.1.5
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling crypto-common v0.1.6
[INFO] [stderr]    Compiling zune-inflate v0.2.54
[INFO] [stderr]    Compiling num-bigint v0.4.6
[INFO] [stderr]    Compiling fdeflate v0.3.7
[INFO] [stderr]    Compiling avif-serialize v0.8.6
[INFO] [stderr]    Compiling rgb v0.8.52
[INFO] [stderr]    Compiling color_quant v1.1.0
[INFO] [stderr]    Compiling bytemuck v1.24.0
[INFO] [stderr]    Compiling lebe v0.5.3
[INFO] [stderr]    Compiling bitflags v2.9.4
[INFO] [stderr]    Compiling bit_field v0.10.3
[INFO] [stderr]    Compiling qoi v0.4.1
[INFO] [stderr]    Compiling png v0.18.0
[INFO] [stderr]    Compiling gif v0.13.3
[INFO] [stderr]    Compiling clap_builder v4.5.51
[INFO] [stderr]    Compiling image-webp v0.2.4
[INFO] [stderr]    Compiling num-rational v0.4.2
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling num-complex v0.4.6
[INFO] [stderr]    Compiling tracing-log v0.2.0
[INFO] [stderr]    Compiling moxcms v0.7.7
[INFO] [stderr]    Compiling csv-core v0.1.12
[INFO] [stderr]    Compiling thread_local v1.1.9
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling bincode v2.0.1
[INFO] [stderr]    Compiling ndarray v0.15.6
[INFO] [stderr]    Compiling zerocopy-derive v0.8.27
[INFO] [stderr]    Compiling equator-macro v0.4.2
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling profiling-procmacros v1.0.17
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling profiling v1.0.17
[INFO] [stderr]    Compiling arg_enum_proc_macro v0.3.4
[INFO] [stderr]    Compiling num-derive v0.4.2
[INFO] [stderr]    Compiling equator v0.4.2
[INFO] [stderr]    Compiling aligned-vec v0.6.4
[INFO] [stderr]    Compiling v_frame v0.3.9
[INFO] [stderr]    Compiling av1-grain v0.2.4
[INFO] [stderr]    Compiling fax_derive v0.2.0
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling clap_derive v4.5.49
[INFO] [stderr]    Compiling fax v0.2.6
[INFO] [stderr]    Compiling tracing-attributes v0.1.30
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling clap v4.5.51
[INFO] [stderr]    Compiling tracing v0.1.41
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling half v2.7.0
[INFO] [stderr]    Compiling tracing-serde v0.2.0
[INFO] [stderr]    Compiling tiff v0.10.3
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling exr v1.73.0
[INFO] [stderr]    Compiling tracing-subscriber v0.3.20
[INFO] [stderr]    Compiling rand v0.9.2
[INFO] [stderr]    Compiling csv v1.3.1
[INFO] [stderr]    Compiling chrono v0.4.42
[INFO] [stderr]    Compiling rand_distr v0.5.1
[INFO] [stderr]    Compiling ravif v0.11.20
[INFO] [stderr]    Compiling image v0.25.8
[INFO] [stderr]    Compiling ahuvista-nn v0.1.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `AppError`
[INFO] [stdout]  --> src/core/fusion.rs:4:27
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::utils::error::{AppError, AppResult};
[INFO] [stdout]   |                           ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ArrayBase`
[INFO] [stdout]  --> src/core/fusion.rs:5:23
[INFO] [stdout]   |
[INFO] [stdout] 5 | use ndarray::{Array3, ArrayBase};
[INFO] [stdout]   |                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DynamicImage`, `ImageBuffer`, and `Rgb`
[INFO] [stdout]  --> src/data/image.rs:7:13
[INFO] [stdout]   |
[INFO] [stdout] 7 | use image::{DynamicImage, GenericImageView, ImageBuffer, ImageReader, Rgb};
[INFO] [stdout]   |             ^^^^^^^^^^^^                    ^^^^^^^^^^^               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs::File`
[INFO] [stdout]  --> src/data/image.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::fs::File;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Read`
[INFO] [stdout]   --> src/data/image.rs:10:21
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::io::{self, Read};
[INFO] [stdout]    |                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashSet`
[INFO] [stdout]  --> src/data/text.rs:7:33
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BufRead` and `BufReader`
[INFO] [stdout]  --> src/data/text.rs:9:21
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::io::{self, BufRead, BufReader, Read};
[INFO] [stdout]   |                     ^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Axis`
[INFO] [stdout]  --> src/models/image.rs:2:49
[INFO] [stdout]   |
[INFO] [stdout] 2 | use ndarray::{s, Array, Array1, Array3, Array4, Axis};
[INFO] [stdout]   |                                                 ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Array1`
[INFO] [stdout]  --> src/training/balancing.rs:9:15
[INFO] [stdout]   |
[INFO] [stdout] 9 | use ndarray::{Array1, Array3};
[INFO] [stdout]   |               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]   --> src/training/training_loop.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::collections::HashMap;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng`
[INFO] [stdout]  --> src/core/feature_importance.rs:5:11
[INFO] [stdout]   |
[INFO] [stdout] 5 | use rand::thread_rng;
[INFO] [stdout]   |           ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng`
[INFO] [stdout]   --> src/core/feature_importance.rs:22:37
[INFO] [stdout]    |
[INFO] [stdout] 22 |         feature_column.shuffle(&mut thread_rng());
[INFO] [stdout]    |                                     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng`
[INFO] [stdout]   --> src/models/image.rs:56:29
[INFO] [stdout]    |
[INFO] [stdout] 56 |         let mut rng = rand::thread_rng();
[INFO] [stdout]    |                             ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng`
[INFO] [stdout]   --> src/models/temporal.rs:45:29
[INFO] [stdout]    |
[INFO] [stdout] 45 |         let mut rng = rand::thread_rng();
[INFO] [stdout]    |                             ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng`
[INFO] [stdout]   --> src/models/text.rs:33:29
[INFO] [stdout]    |
[INFO] [stdout] 33 |         let mut rng = rand::thread_rng();
[INFO] [stdout]    |                             ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `rand::Rng::gen_range`: Renamed to `random_range`
[INFO] [stdout]   --> src/models/text.rs:42:30
[INFO] [stdout]    |
[INFO] [stdout] 42 |                 .map(|_| rng.gen_range(-scale..scale))
[INFO] [stdout]    |                              ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::Rng`
[INFO] [stdout]  --> src/core/recurrent_layers.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use rand::Rng;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `GenericImageView`
[INFO] [stdout]  --> src/data/image.rs:7:27
[INFO] [stdout]   |
[INFO] [stdout] 7 | use image::{DynamicImage, GenericImageView, ImageBuffer, ImageReader, Rgb};
[INFO] [stdout]   |                           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input`
[INFO] [stdout]    --> src/core/recurrent_layers.rs:190:13
[INFO] [stdout]     |
[INFO] [stdout] 190 |         let input = self.cached_inputs.pop().unwrap();
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_input`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `config`
[INFO] [stdout]    --> src/data/loader.rs:428:44
[INFO] [stdout]     |
[INFO] [stdout] 428 | fn merge_temporal_files(files: &[PathBuf], config: &DataConfig) -> AppResult<TemporalData> {
[INFO] [stdout]     |                                            ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/data/tabular.rs:241:14
[INFO] [stdout]     |
[INFO] [stdout] 241 |         for (i, (name, value)) in feature_names.iter().zip(row.iter()).enumerate() {
[INFO] [stdout]     |              ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `num_categories`
[INFO] [stdout]    --> src/data/tabular.rs:246:21
[INFO] [stdout]     |
[INFO] [stdout] 246 |                 let num_categories = mapping.len();
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_num_categories`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `padded_height`
[INFO] [stdout]    --> src/models/image.rs:188:13
[INFO] [stdout]     |
[INFO] [stdout] 188 |         let padded_height = padded_input.shape()[1];
[INFO] [stdout]     |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_padded_height`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `padded_width`
[INFO] [stdout]    --> src/models/image.rs:189:13
[INFO] [stdout]     |
[INFO] [stdout] 189 |         let padded_width = padded_input.shape()[2];
[INFO] [stdout]     |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_padded_width`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/models/image.rs:243:13
[INFO] [stdout]     |
[INFO] [stdout] 243 |         let mut grad_pre_activation = &grad_output * &relu_grad;
[INFO] [stdout]     |             ----^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `output_size`
[INFO] [stdout]    --> src/models/image.rs:528:13
[INFO] [stdout]     |
[INFO] [stdout] 528 |         let output_size = 128;
[INFO] [stdout]     |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_output_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `predictions`
[INFO] [stdout]    --> src/training/metrics.rs:111:24
[INFO] [stdout]     |
[INFO] [stdout] 111 | pub fn calculate_auroc(predictions: &[f32], targets: &[f32]) -> f32 {
[INFO] [stdout]     |                        ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_predictions`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `targets`
[INFO] [stdout]    --> src/training/metrics.rs:111:45
[INFO] [stdout]     |
[INFO] [stdout] 111 | pub fn calculate_auroc(predictions: &[f32], targets: &[f32]) -> f32 {
[INFO] [stdout]     |                                             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_targets`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `model`
[INFO] [stdout]    --> src/training/metrics.rs:121:5
[INFO] [stdout]     |
[INFO] [stdout] 121 |     model: &mut impl Module<I, O>,
[INFO] [stdout]     |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_model`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `validation_data`
[INFO] [stdout]    --> src/training/metrics.rs:122:5
[INFO] [stdout]     |
[INFO] [stdout] 122 |     validation_data: &mut MultiModalBatch,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_validation_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `tabular_output_size`, `temporal_output_size`, `text_output_size`, and `image_output_size` are never read
[INFO] [stdout]    --> src/core/fusion.rs:106:5
[INFO] [stdout]     |
[INFO] [stdout]  77 | pub struct LateFusionNet {
[INFO] [stdout]     |            ------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 106 |     tabular_output_size: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 107 |     temporal_output_size: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 108 |     text_output_size: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 109 |     image_output_size: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `LateFusionNet` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `k_neighbors` is never read
[INFO] [stdout]    --> src/training/balancing.rs:161:5
[INFO] [stdout]     |
[INFO] [stdout] 159 | pub struct SmoteSynthesizer {
[INFO] [stdout]     |            ---------------- field in this struct
[INFO] [stdout] 160 |     /// Number of nearest neighbors to consider
[INFO] [stdout] 161 |     k_neighbors: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AppError`
[INFO] [stdout]  --> src/core/fusion.rs:4:27
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::utils::error::{AppError, AppResult};
[INFO] [stdout]   |                           ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ArrayBase`
[INFO] [stdout]  --> src/core/fusion.rs:5:23
[INFO] [stdout]   |
[INFO] [stdout] 5 | use ndarray::{Array3, ArrayBase};
[INFO] [stdout]   |                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `fusion::*`
[INFO] [stdout]   --> src/core/mod.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub use fusion::*;
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `feature_importance::*`
[INFO] [stdout]   --> src/core/mod.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub use feature_importance::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DynamicImage`, `ImageBuffer`, and `Rgb`
[INFO] [stdout]  --> src/data/image.rs:7:13
[INFO] [stdout]   |
[INFO] [stdout] 7 | use image::{DynamicImage, GenericImageView, ImageBuffer, ImageReader, Rgb};
[INFO] [stdout]   |             ^^^^^^^^^^^^                    ^^^^^^^^^^^               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs::File`
[INFO] [stdout]  --> src/data/image.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::fs::File;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Read`
[INFO] [stdout]   --> src/data/image.rs:10:21
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::io::{self, Read};
[INFO] [stdout]    |                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashSet`
[INFO] [stdout]  --> src/data/text.rs:7:33
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BufRead` and `BufReader`
[INFO] [stdout]  --> src/data/text.rs:9:21
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::io::{self, BufRead, BufReader, Read};
[INFO] [stdout]   |                     ^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Axis`
[INFO] [stdout]  --> src/models/image.rs:2:49
[INFO] [stdout]   |
[INFO] [stdout] 2 | use ndarray::{s, Array, Array1, Array3, Array4, Axis};
[INFO] [stdout]   |                                                 ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Array1`
[INFO] [stdout]  --> src/training/balancing.rs:9:15
[INFO] [stdout]   |
[INFO] [stdout] 9 | use ndarray::{Array1, Array3};
[INFO] [stdout]   |               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]   --> src/training/training_loop.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::collections::HashMap;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `warn`
[INFO] [stdout]   --> src/main.rs:21:28
[INFO] [stdout]    |
[INFO] [stdout] 21 | use tracing::{error, info, warn};
[INFO] [stdout]    |                            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AppConfig`, `evaluate_by_cause`, and `evaluate_model_with_calibration`
[INFO] [stdout]   --> src/main.rs:26:14
[INFO] [stdout]    |
[INFO] [stdout] 26 |     config::{AppConfig, ModalityConfig, Settings},
[INFO] [stdout]    |              ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 38 |             evaluate_by_cause, evaluate_model_with_calibration, train_model_with_weights,
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng`
[INFO] [stdout]  --> src/core/feature_importance.rs:5:11
[INFO] [stdout]   |
[INFO] [stdout] 5 | use rand::thread_rng;
[INFO] [stdout]   |           ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng`
[INFO] [stdout]   --> src/core/feature_importance.rs:22:37
[INFO] [stdout]    |
[INFO] [stdout] 22 |         feature_column.shuffle(&mut thread_rng());
[INFO] [stdout]    |                                     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng`
[INFO] [stdout]   --> src/models/image.rs:56:29
[INFO] [stdout]    |
[INFO] [stdout] 56 |         let mut rng = rand::thread_rng();
[INFO] [stdout]    |                             ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng`
[INFO] [stdout]   --> src/models/temporal.rs:45:29
[INFO] [stdout]    |
[INFO] [stdout] 45 |         let mut rng = rand::thread_rng();
[INFO] [stdout]    |                             ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng`
[INFO] [stdout]   --> src/models/text.rs:33:29
[INFO] [stdout]    |
[INFO] [stdout] 33 |         let mut rng = rand::thread_rng();
[INFO] [stdout]    |                             ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cal`
[INFO] [stdout]    --> src/predict.rs:151:17
[INFO] [stdout]     |
[INFO] [stdout] 151 |     if let Some(ref cal) = calibrator {
[INFO] [stdout]     |                 ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cal`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `model`
[INFO] [stdout]    --> src/predict.rs:518:5
[INFO] [stdout]     |
[INFO] [stdout] 518 |     model: &LateFusionNet,
[INFO] [stdout]     |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_model`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `rand::Rng::gen_range`: Renamed to `random_range`
[INFO] [stdout]   --> src/models/text.rs:42:30
[INFO] [stdout]    |
[INFO] [stdout] 42 |                 .map(|_| rng.gen_range(-scale..scale))
[INFO] [stdout]    |                              ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::Rng`
[INFO] [stdout]  --> src/core/recurrent_layers.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use rand::Rng;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `GenericImageView`
[INFO] [stdout]  --> src/data/image.rs:7:27
[INFO] [stdout]   |
[INFO] [stdout] 7 | use image::{DynamicImage, GenericImageView, ImageBuffer, ImageReader, Rgb};
[INFO] [stdout]   |                           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input`
[INFO] [stdout]    --> src/core/recurrent_layers.rs:190:13
[INFO] [stdout]     |
[INFO] [stdout] 190 |         let input = self.cached_inputs.pop().unwrap();
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_input`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `config`
[INFO] [stdout]    --> src/data/loader.rs:428:44
[INFO] [stdout]     |
[INFO] [stdout] 428 | fn merge_temporal_files(files: &[PathBuf], config: &DataConfig) -> AppResult<TemporalData> {
[INFO] [stdout]     |                                            ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/data/tabular.rs:241:14
[INFO] [stdout]     |
[INFO] [stdout] 241 |         for (i, (name, value)) in feature_names.iter().zip(row.iter()).enumerate() {
[INFO] [stdout]     |              ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `num_categories`
[INFO] [stdout]    --> src/data/tabular.rs:246:21
[INFO] [stdout]     |
[INFO] [stdout] 246 |                 let num_categories = mapping.len();
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_num_categories`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `padded_height`
[INFO] [stdout]    --> src/models/image.rs:188:13
[INFO] [stdout]     |
[INFO] [stdout] 188 |         let padded_height = padded_input.shape()[1];
[INFO] [stdout]     |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_padded_height`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `padded_width`
[INFO] [stdout]    --> src/models/image.rs:189:13
[INFO] [stdout]     |
[INFO] [stdout] 189 |         let padded_width = padded_input.shape()[2];
[INFO] [stdout]     |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_padded_width`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/models/image.rs:243:13
[INFO] [stdout]     |
[INFO] [stdout] 243 |         let mut grad_pre_activation = &grad_output * &relu_grad;
[INFO] [stdout]     |             ----^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `output_size`
[INFO] [stdout]    --> src/models/image.rs:528:13
[INFO] [stdout]     |
[INFO] [stdout] 528 |         let output_size = 128;
[INFO] [stdout]     |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_output_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `predictions`
[INFO] [stdout]    --> src/training/metrics.rs:111:24
[INFO] [stdout]     |
[INFO] [stdout] 111 | pub fn calculate_auroc(predictions: &[f32], targets: &[f32]) -> f32 {
[INFO] [stdout]     |                        ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_predictions`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `targets`
[INFO] [stdout]    --> src/training/metrics.rs:111:45
[INFO] [stdout]     |
[INFO] [stdout] 111 | pub fn calculate_auroc(predictions: &[f32], targets: &[f32]) -> f32 {
[INFO] [stdout]     |                                             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_targets`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `model`
[INFO] [stdout]    --> src/training/metrics.rs:121:5
[INFO] [stdout]     |
[INFO] [stdout] 121 |     model: &mut impl Module<I, O>,
[INFO] [stdout]     |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_model`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `validation_data`
[INFO] [stdout]    --> src/training/metrics.rs:122:5
[INFO] [stdout]     |
[INFO] [stdout] 122 |     validation_data: &mut MultiModalBatch,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_validation_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/config.rs:29:12
[INFO] [stdout]    |
[INFO] [stdout] 27 | impl Settings {
[INFO] [stdout]    | ------------- associated function in this implementation
[INFO] [stdout] 28 |     /// Creates a new builder for constructing a `Settings` instance.
[INFO] [stdout] 29 |     pub fn new() -> SettingsBuilder {
[INFO] [stdout]    |            ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SettingsBuilder` is never constructed
[INFO] [stdout]    --> src/config.rs:256:12
[INFO] [stdout]     |
[INFO] [stdout] 256 | pub struct SettingsBuilder {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/config.rs:270:12
[INFO] [stdout]     |
[INFO] [stdout] 268 | impl SettingsBuilder {
[INFO] [stdout]     | -------------------- methods in this implementation
[INFO] [stdout] 269 |     /// Sets the data directory. Default: "datasets".
[INFO] [stdout] 270 |     pub fn data_dir(mut self, data_dir: impl Into<PathBuf>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 276 |     pub fn patient_id_column(mut self, patient_id_column: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 282 |     pub fn epochs(mut self, epochs: usize) -> Self {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 288 |     pub fn batch_size(mut self, batch_size: usize) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 294 |     pub fn learning_rate(mut self, learning_rate: f32) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 300 |     pub fn tabular_hidden_sizes(mut self, tabular_hidden_sizes: Vec<usize>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 306 |     pub fn temporal_hidden_size(mut self, temporal_hidden_size: usize) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 312 |     pub fn text_embedding_dim(mut self, text_embedding_dim: usize) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 318 |     pub fn modality_config(mut self, modality_config: ModalityConfig) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 325 |     pub fn build(self) -> Settings {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `SETTINGS` is never used
[INFO] [stdout]    --> src/config.rs:342:12
[INFO] [stdout]     |
[INFO] [stdout] 342 | pub static SETTINGS: LazyLock<Settings> = LazyLock::new(|| SettingsBuilder::default().build());
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `tabular_output_size`, `temporal_output_size`, `text_output_size`, and `image_output_size` are never read
[INFO] [stdout]    --> src/core/fusion.rs:106:5
[INFO] [stdout]     |
[INFO] [stdout]  77 | pub struct LateFusionNet {
[INFO] [stdout]     |            ------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 106 |     tabular_output_size: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 107 |     temporal_output_size: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 108 |     text_output_size: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 109 |     image_output_size: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `LateFusionNet` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `config`, `is_enabled`, `load`, and `set_all_parameters` are never used
[INFO] [stdout]    --> src/core/fusion.rs:332:12
[INFO] [stdout]     |
[INFO] [stdout] 112 | impl LateFusionNet {
[INFO] [stdout]     | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 332 |     pub fn config(&self) -> &ModalityConfig {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 337 |     pub fn is_enabled(&self, modality: &str) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 419 |     pub fn load(&mut self, path: &str) -> AppResult<()> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 512 |     fn set_all_parameters(&mut self, params: &[f32]) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `set_parameters` is never used
[INFO] [stdout]   --> src/core/layer.rs:42:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl Layer {
[INFO] [stdout]    | ---------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 42 |     pub fn set_parameters(&mut self, params: &[f32]) -> Result<usize, Box<dyn std::error::Error>> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `set_parameters`, `input_size`, and `output_size` are never used
[INFO] [stdout]   --> src/core/network.rs:65:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl Network {
[INFO] [stdout]    | ------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 65 |     pub fn set_parameters(&mut self, params: &[f32]) -> Result<usize, Box<dyn std::error::Error>> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 75 |     pub fn input_size(&self) -> usize {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 84 |     pub fn output_size(&self) -> usize {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `I8` is never constructed
[INFO] [stdout]  --> src/core/neuron.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub enum WeightType {
[INFO] [stdout]   |          ---------- variant in this enum
[INFO] [stdout] 6 |     F32(Vec<f32>),
[INFO] [stdout] 7 |     I8 {
[INFO] [stdout]   |     ^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `WeightType` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `set_parameters` is never used
[INFO] [stdout]    --> src/core/neuron.rs:107:12
[INFO] [stdout]     |
[INFO] [stdout]  64 | impl Neuron {
[INFO] [stdout]     | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 107 |     pub fn set_parameters(&mut self, params: &[f32]) -> Result<usize, Box<dyn std::error::Error>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `set_parameters` is never used
[INFO] [stdout]   --> src/core/recurrent_layers.rs:70:12
[INFO] [stdout]    |
[INFO] [stdout] 31 | impl LSTMLayer {
[INFO] [stdout]    | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 70 |     pub fn set_parameters(&mut self, params: &[f32]) -> Result<usize, Box<dyn std::error::Error>> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calculate_permutation_importance` is never used
[INFO] [stdout]  --> src/core/feature_importance.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub fn calculate_permutation_importance<I, O>(
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `channel_means` and `channel_stds` are never read
[INFO] [stdout]   --> src/data/image.rs:25:9
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct ImageData {
[INFO] [stdout]    |            --------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 25 |     pub channel_means: Vec<f32>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 28 |     pub channel_stds: Vec<f32>,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `preprocess_image` are never used
[INFO] [stdout]    --> src/data/image.rs:36:12
[INFO] [stdout]     |
[INFO] [stdout]  34 | impl ImageData {
[INFO] [stdout]     | -------------- associated items in this implementation
[INFO] [stdout]  35 |     /// Create a new empty ImageData instance
[INFO] [stdout]  36 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 178 |     pub fn preprocess_image<P: AsRef<Path>>(&self, path: P) -> io::Result<Array3<f32>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_empty` is never used
[INFO] [stdout]   --> src/data/loader.rs:25:8
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub trait DataLoader<T> {
[INFO] [stdout]    |           ---------- method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 25 |     fn is_empty(&self) -> bool {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `load_image_data` is never used
[INFO] [stdout]    --> src/data/loader.rs:539:8
[INFO] [stdout]     |
[INFO] [stdout] 539 | pub fn load_image_data<P: AsRef<Path>>(dir_path: P) -> io::Result<ImageData> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `feature_names` and `categorical_features` are never read
[INFO] [stdout]   --> src/data/tabular.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct TabularData {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 19 |     pub feature_names: Vec<String>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 28 |     pub categorical_features: Vec<String>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `preprocess_row` are never used
[INFO] [stdout]    --> src/data/tabular.rs:36:12
[INFO] [stdout]     |
[INFO] [stdout]  34 | impl TabularData {
[INFO] [stdout]     | ---------------- associated items in this implementation
[INFO] [stdout]  35 |     /// Create a new empty TabularData instance
[INFO] [stdout]  36 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 280 |     pub fn preprocess_row(&self, row: &[String]) -> Vec<f32> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `max_seq_length` is never read
[INFO] [stdout]   --> src/data/temporal.rs:25:9
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct TemporalData {
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 25 |     pub max_seq_length: usize,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `from_csv_files`, `pad_sequences`, and `preprocess_sequence` are never used
[INFO] [stdout]    --> src/data/temporal.rs:33:12
[INFO] [stdout]     |
[INFO] [stdout]  31 | impl TemporalData {
[INFO] [stdout]     | ----------------- associated items in this implementation
[INFO] [stdout]  32 |     /// Create a new empty TemporalData instance
[INFO] [stdout]  33 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  52 |     pub fn from_csv_files<P: AsRef<Path>>(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 430 |     pub fn pad_sequences(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 454 |     pub fn preprocess_sequence(&self, sequence: Vec<Vec<f32>>) -> Vec<Vec<f32>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `from_files`, `pad_sequences`, and `truncate_sequences` are never used
[INFO] [stdout]    --> src/data/text.rs:35:12
[INFO] [stdout]     |
[INFO] [stdout]  33 | impl TextData {
[INFO] [stdout]     | ------------- associated items in this implementation
[INFO] [stdout]  34 |     /// Create a new empty TextData instance
[INFO] [stdout]  35 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  54 |     pub fn from_files<P: AsRef<Path>>(paths: &[P], max_vocab_size: usize) -> io::Result<Self> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 174 |     pub fn pad_sequences(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 184 |     pub fn truncate_sequences(&mut self, max_length: usize) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `set_parameters` is never used
[INFO] [stdout]   --> src/models/image.rs:90:12
[INFO] [stdout]    |
[INFO] [stdout] 40 | impl Conv2DLayer {
[INFO] [stdout]    | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 90 |     pub fn set_parameters(&mut self, params: &[f32]) -> Result<usize, Box<dyn std::error::Error>> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `set_parameters` is never used
[INFO] [stdout]    --> src/models/image.rs:555:12
[INFO] [stdout]     |
[INFO] [stdout] 505 | impl ImageNet {
[INFO] [stdout]     | ------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 555 |     pub fn set_parameters(&mut self, params: &[f32]) -> Result<usize, Box<dyn std::error::Error>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `set_parameters` and `output_size` are never used
[INFO] [stdout]   --> src/models/tabular.rs:36:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl TabularNet {
[INFO] [stdout]    | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 36 |     pub fn set_parameters(&mut self, params: &[f32]) -> Result<usize, Box<dyn std::error::Error>> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 41 |     pub fn output_size(&self) -> usize {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `set_parameters` is never used
[INFO] [stdout]   --> src/models/temporal.rs:79:12
[INFO] [stdout]    |
[INFO] [stdout] 38 | impl SimpleRnnCell {
[INFO] [stdout]    | ------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 79 |     pub fn set_parameters(&mut self, params: &[f32]) -> Result<usize, Box<dyn std::error::Error>> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `set_parameters` is never used
[INFO] [stdout]    --> src/models/temporal.rs:180:12
[INFO] [stdout]     |
[INFO] [stdout] 163 | impl TemporalNet {
[INFO] [stdout]     | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 180 |     pub fn set_parameters(&mut self, params: &[f32]) -> Result<usize, Box<dyn std::error::Error>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `set_parameters` is never used
[INFO] [stdout]   --> src/models/text.rs:56:12
[INFO] [stdout]    |
[INFO] [stdout] 26 | impl EmbeddingLayer {
[INFO] [stdout]    | ------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 56 |     pub fn set_parameters(&mut self, params: &[f32]) -> Result<usize, Box<dyn std::error::Error>> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `set_parameters`, `build_vocab`, `tokenize`, and `output_size` are never used
[INFO] [stdout]    --> src/models/text.rs:135:12
[INFO] [stdout]     |
[INFO] [stdout] 107 | impl TextNet {
[INFO] [stdout]     | ------------ associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 135 |     pub fn set_parameters(&mut self, params: &[f32]) -> Result<usize, Box<dyn std::error::Error>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 150 |     pub fn build_vocab(texts: &[String], max_vocab_size: usize) -> HashMap<String, usize> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 186 |     pub fn tokenize(&self, text: &str) -> Vec<usize> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 196 |     pub fn output_size(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `apply_weight_to_loss` is never used
[INFO] [stdout]   --> src/training/balancing.rs:92:8
[INFO] [stdout]    |
[INFO] [stdout] 92 | pub fn apply_weight_to_loss(loss: f32, weight: f32) -> f32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `apply_weight_to_gradient` is never used
[INFO] [stdout]    --> src/training/balancing.rs:104:8
[INFO] [stdout]     |
[INFO] [stdout] 104 | pub fn apply_weight_to_gradient(grad: f32, weight: f32) -> f32 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `k_neighbors` is never read
[INFO] [stdout]    --> src/training/balancing.rs:161:5
[INFO] [stdout]     |
[INFO] [stdout] 159 | pub struct SmoteSynthesizer {
[INFO] [stdout]     |            ---------------- field in this struct
[INFO] [stdout] 160 |     /// Number of nearest neighbors to consider
[INFO] [stdout] 161 |     k_neighbors: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `generate_synthetic_samples` and `generate_synthetic_tabular` are never used
[INFO] [stdout]    --> src/training/balancing.rs:189:12
[INFO] [stdout]     |
[INFO] [stdout] 164 | impl SmoteSynthesizer {
[INFO] [stdout]     | --------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 189 |     pub fn generate_synthetic_samples(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 254 |     fn generate_synthetic_tabular(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `binary_cross_entropy` is never used
[INFO] [stdout]   --> src/training/loss.rs:15:8
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub fn binary_cross_entropy(prediction: f32, target: f32) -> f32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `binary_cross_entropy_gradient` is never used
[INFO] [stdout]   --> src/training/loss.rs:30:8
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub fn binary_cross_entropy_gradient(prediction: f32, target: f32) -> f32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mean_squared_error` is never used
[INFO] [stdout]   --> src/training/loss.rs:46:8
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub fn mean_squared_error(predictions: &[f32], targets: &[f32]) -> f32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mean_squared_error_gradient` is never used
[INFO] [stdout]   --> src/training/loss.rs:70:8
[INFO] [stdout]    |
[INFO] [stdout] 70 | pub fn mean_squared_error_gradient(predictions: &[f32], targets: &[f32]) -> Vec<f32> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `binary_accuracy` is never used
[INFO] [stdout]   --> src/training/loss.rs:93:8
[INFO] [stdout]    |
[INFO] [stdout] 93 | pub fn binary_accuracy(predictions: &[f32], targets: &[f32], threshold: f32) -> f32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `ppv`, `npv`, `sensitivity`, `specificity`, and `auroc` are never read
[INFO] [stdout]   --> src/training/metrics.rs:58:9
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub struct EvaluationMetrics {
[INFO] [stdout]    |            ----------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 58 |     pub ppv: f32,
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 59 |     pub npv: f32,
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 60 |     pub sensitivity: f32, // Also known as Recall or True Positive Rate
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 61 |     pub specificity: f32, // True Negative Rate
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 62 |     pub auroc: f32,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `EvaluationMetrics` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `evalute_auroc` is never used
[INFO] [stdout]    --> src/training/metrics.rs:120:8
[INFO] [stdout]     |
[INFO] [stdout] 120 | pub fn evalute_auroc<I, O>(
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `evaluate_by_cause` is never used
[INFO] [stdout]    --> src/training/training_loop.rs:261:8
[INFO] [stdout]     |
[INFO] [stdout] 261 | pub fn evaluate_by_cause(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `initialize_weights` is never used
[INFO] [stdout]   --> src/utils/mod.rs:23:8
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub fn initialize_weights(num_weights: usize) -> Vec<f64> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Config` and `ModelError` are never constructed
[INFO] [stdout]  --> src/utils/error.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub enum AppError {
[INFO] [stdout]   |          -------- variants in this enum
[INFO] [stdout] 5 |     Config(String),
[INFO] [stdout]   |     ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 8 |     ModelError(String),
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `AppError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2m 16s
[INFO] running `Command { std: "docker" "inspect" "aed3b18ceee270a3dd7b763181c50ede029606b012b42c58df160db897c7b290", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "aed3b18ceee270a3dd7b763181c50ede029606b012b42c58df160db897c7b290", kill_on_drop: false }`
[INFO] [stdout] aed3b18ceee270a3dd7b763181c50ede029606b012b42c58df160db897c7b290
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 2a2c6e2eee49cd0e4316c683e599156d716d02cd1cfdd1474e64817a279d6559
[INFO] running `Command { std: "docker" "start" "-a" "2a2c6e2eee49cd0e4316c683e599156d716d02cd1cfdd1474e64817a279d6559", kill_on_drop: false }`
[INFO] [stdout] warning: unused import: `AppError`
[INFO] [stdout]  --> src/core/fusion.rs:4:27
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::utils::error::{AppError, AppResult};
[INFO] [stdout]   |                           ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ArrayBase`
[INFO] [stdout]  --> src/core/fusion.rs:5:23
[INFO] [stdout]   |
[INFO] [stdout] 5 | use ndarray::{Array3, ArrayBase};
[INFO] [stdout]   |                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DynamicImage`, `ImageBuffer`, and `Rgb`
[INFO] [stdout]  --> src/data/image.rs:7:13
[INFO] [stdout]   |
[INFO] [stdout] 7 | use image::{DynamicImage, GenericImageView, ImageBuffer, ImageReader, Rgb};
[INFO] [stdout]   |             ^^^^^^^^^^^^                    ^^^^^^^^^^^               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs::File`
[INFO] [stdout]  --> src/data/image.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::fs::File;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Read`
[INFO] [stdout]   --> src/data/image.rs:10:21
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::io::{self, Read};
[INFO] [stdout]    |                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashSet`
[INFO] [stdout]  --> src/data/text.rs:7:33
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BufRead` and `BufReader`
[INFO] [stdout]  --> src/data/text.rs:9:21
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::io::{self, BufRead, BufReader, Read};
[INFO] [stdout]   |                     ^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Axis`
[INFO] [stdout]  --> src/models/image.rs:2:49
[INFO] [stdout]   |
[INFO] [stdout] 2 | use ndarray::{s, Array, Array1, Array3, Array4, Axis};
[INFO] [stdout]   |                                                 ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Array1`
[INFO] [stdout]  --> src/training/balancing.rs:9:15
[INFO] [stdout]   |
[INFO] [stdout] 9 | use ndarray::{Array1, Array3};
[INFO] [stdout]   |               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]   --> src/training/training_loop.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::collections::HashMap;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng`
[INFO] [stdout]  --> src/core/feature_importance.rs:5:11
[INFO] [stdout]   |
[INFO] [stdout] 5 | use rand::thread_rng;
[INFO] [stdout]   |           ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng`
[INFO] [stdout]   --> src/core/feature_importance.rs:22:37
[INFO] [stdout]    |
[INFO] [stdout] 22 |         feature_column.shuffle(&mut thread_rng());
[INFO] [stdout]    |                                     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng`
[INFO] [stdout]   --> src/models/image.rs:56:29
[INFO] [stdout]    |
[INFO] [stdout] 56 |         let mut rng = rand::thread_rng();
[INFO] [stdout]    |                             ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng`
[INFO] [stdout]   --> src/models/temporal.rs:45:29
[INFO] [stdout]    |
[INFO] [stdout] 45 |         let mut rng = rand::thread_rng();
[INFO] [stdout]    |                             ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng`
[INFO] [stdout]   --> src/models/text.rs:33:29
[INFO] [stdout]    |
[INFO] [stdout] 33 |         let mut rng = rand::thread_rng();
[INFO] [stdout]    |                             ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `rand::Rng::gen_range`: Renamed to `random_range`
[INFO] [stdout]   --> src/models/text.rs:42:30
[INFO] [stdout]    |
[INFO] [stdout] 42 |                 .map(|_| rng.gen_range(-scale..scale))
[INFO] [stdout]    |                              ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::Rng`
[INFO] [stdout]  --> src/core/recurrent_layers.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use rand::Rng;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `GenericImageView`
[INFO] [stdout]  --> src/data/image.rs:7:27
[INFO] [stdout]   |
[INFO] [stdout] 7 | use image::{DynamicImage, GenericImageView, ImageBuffer, ImageReader, Rgb};
[INFO] [stdout]   |                           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input`
[INFO] [stdout]    --> src/core/recurrent_layers.rs:190:13
[INFO] [stdout]     |
[INFO] [stdout] 190 |         let input = self.cached_inputs.pop().unwrap();
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_input`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `config`
[INFO] [stdout]    --> src/data/loader.rs:428:44
[INFO] [stdout]     |
[INFO] [stdout] 428 | fn merge_temporal_files(files: &[PathBuf], config: &DataConfig) -> AppResult<TemporalData> {
[INFO] [stdout]     |                                            ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/data/tabular.rs:241:14
[INFO] [stdout]     |
[INFO] [stdout] 241 |         for (i, (name, value)) in feature_names.iter().zip(row.iter()).enumerate() {
[INFO] [stdout]     |              ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `num_categories`
[INFO] [stdout]    --> src/data/tabular.rs:246:21
[INFO] [stdout]     |
[INFO] [stdout] 246 |                 let num_categories = mapping.len();
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_num_categories`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `padded_height`
[INFO] [stdout]    --> src/models/image.rs:188:13
[INFO] [stdout]     |
[INFO] [stdout] 188 |         let padded_height = padded_input.shape()[1];
[INFO] [stdout]     |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_padded_height`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `padded_width`
[INFO] [stdout]    --> src/models/image.rs:189:13
[INFO] [stdout]     |
[INFO] [stdout] 189 |         let padded_width = padded_input.shape()[2];
[INFO] [stdout]     |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_padded_width`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/models/image.rs:243:13
[INFO] [stdout]     |
[INFO] [stdout] 243 |         let mut grad_pre_activation = &grad_output * &relu_grad;
[INFO] [stdout]     |             ----^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `output_size`
[INFO] [stdout]    --> src/models/image.rs:528:13
[INFO] [stdout]     |
[INFO] [stdout] 528 |         let output_size = 128;
[INFO] [stdout]     |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_output_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `predictions`
[INFO] [stdout]    --> src/training/metrics.rs:111:24
[INFO] [stdout]     |
[INFO] [stdout] 111 | pub fn calculate_auroc(predictions: &[f32], targets: &[f32]) -> f32 {
[INFO] [stdout]     |                        ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_predictions`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `targets`
[INFO] [stdout]    --> src/training/metrics.rs:111:45
[INFO] [stdout]     |
[INFO] [stdout] 111 | pub fn calculate_auroc(predictions: &[f32], targets: &[f32]) -> f32 {
[INFO] [stdout]     |                                             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_targets`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `model`
[INFO] [stdout]    --> src/training/metrics.rs:121:5
[INFO] [stdout]     |
[INFO] [stdout] 121 |     model: &mut impl Module<I, O>,
[INFO] [stdout]     |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_model`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `validation_data`
[INFO] [stdout]    --> src/training/metrics.rs:122:5
[INFO] [stdout]     |
[INFO] [stdout] 122 |     validation_data: &mut MultiModalBatch,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_validation_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `tabular_output_size`, `temporal_output_size`, `text_output_size`, and `image_output_size` are never read
[INFO] [stdout]    --> src/core/fusion.rs:106:5
[INFO] [stdout]     |
[INFO] [stdout]  77 | pub struct LateFusionNet {
[INFO] [stdout]     |            ------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 106 |     tabular_output_size: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 107 |     temporal_output_size: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 108 |     text_output_size: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 109 |     image_output_size: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `LateFusionNet` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `k_neighbors` is never read
[INFO] [stdout]    --> src/training/balancing.rs:161:5
[INFO] [stdout]     |
[INFO] [stdout] 159 | pub struct SmoteSynthesizer {
[INFO] [stdout]     |            ---------------- field in this struct
[INFO] [stdout] 160 |     /// Number of nearest neighbors to consider
[INFO] [stdout] 161 |     k_neighbors: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling ahuvista-nn v0.1.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `AppError`
[INFO] [stdout]  --> src/core/fusion.rs:4:27
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::utils::error::{AppError, AppResult};
[INFO] [stdout]   |                           ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ArrayBase`
[INFO] [stdout]  --> src/core/fusion.rs:5:23
[INFO] [stdout]   |
[INFO] [stdout] 5 | use ndarray::{Array3, ArrayBase};
[INFO] [stdout]   |                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `fusion::*`
[INFO] [stdout]   --> src/core/mod.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub use fusion::*;
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `feature_importance::*`
[INFO] [stdout]   --> src/core/mod.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub use feature_importance::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DynamicImage`, `ImageBuffer`, and `Rgb`
[INFO] [stdout]  --> src/data/image.rs:7:13
[INFO] [stdout]   |
[INFO] [stdout] 7 | use image::{DynamicImage, GenericImageView, ImageBuffer, ImageReader, Rgb};
[INFO] [stdout]   |             ^^^^^^^^^^^^                    ^^^^^^^^^^^               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs::File`
[INFO] [stdout]  --> src/data/image.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::fs::File;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Read`
[INFO] [stdout]   --> src/data/image.rs:10:21
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::io::{self, Read};
[INFO] [stdout]    |                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashSet`
[INFO] [stdout]  --> src/data/text.rs:7:33
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BufRead` and `BufReader`
[INFO] [stdout]  --> src/data/text.rs:9:21
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::io::{self, BufRead, BufReader, Read};
[INFO] [stdout]   |                     ^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Axis`
[INFO] [stdout]  --> src/models/image.rs:2:49
[INFO] [stdout]   |
[INFO] [stdout] 2 | use ndarray::{s, Array, Array1, Array3, Array4, Axis};
[INFO] [stdout]   |                                                 ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Array1`
[INFO] [stdout]  --> src/training/balancing.rs:9:15
[INFO] [stdout]   |
[INFO] [stdout] 9 | use ndarray::{Array1, Array3};
[INFO] [stdout]   |               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]   --> src/training/training_loop.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::collections::HashMap;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `warn`
[INFO] [stdout]   --> src/main.rs:21:28
[INFO] [stdout]    |
[INFO] [stdout] 21 | use tracing::{error, info, warn};
[INFO] [stdout]    |                            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AppConfig`, `evaluate_by_cause`, and `evaluate_model_with_calibration`
[INFO] [stdout]   --> src/main.rs:26:14
[INFO] [stdout]    |
[INFO] [stdout] 26 |     config::{AppConfig, ModalityConfig, Settings},
[INFO] [stdout]    |              ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 38 |             evaluate_by_cause, evaluate_model_with_calibration, train_model_with_weights,
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng`
[INFO] [stdout]  --> src/core/feature_importance.rs:5:11
[INFO] [stdout]   |
[INFO] [stdout] 5 | use rand::thread_rng;
[INFO] [stdout]   |           ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng`
[INFO] [stdout]   --> src/core/feature_importance.rs:22:37
[INFO] [stdout]    |
[INFO] [stdout] 22 |         feature_column.shuffle(&mut thread_rng());
[INFO] [stdout]    |                                     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng`
[INFO] [stdout]   --> src/models/image.rs:56:29
[INFO] [stdout]    |
[INFO] [stdout] 56 |         let mut rng = rand::thread_rng();
[INFO] [stdout]    |                             ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng`
[INFO] [stdout]   --> src/models/temporal.rs:45:29
[INFO] [stdout]    |
[INFO] [stdout] 45 |         let mut rng = rand::thread_rng();
[INFO] [stdout]    |                             ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng`
[INFO] [stdout]   --> src/models/text.rs:33:29
[INFO] [stdout]    |
[INFO] [stdout] 33 |         let mut rng = rand::thread_rng();
[INFO] [stdout]    |                             ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `rand::Rng::gen_range`: Renamed to `random_range`
[INFO] [stdout]   --> src/models/text.rs:42:30
[INFO] [stdout]    |
[INFO] [stdout] 42 |                 .map(|_| rng.gen_range(-scale..scale))
[INFO] [stdout]    |                              ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::Rng`
[INFO] [stdout]  --> src/core/recurrent_layers.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use rand::Rng;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `GenericImageView`
[INFO] [stdout]  --> src/data/image.rs:7:27
[INFO] [stdout]   |
[INFO] [stdout] 7 | use image::{DynamicImage, GenericImageView, ImageBuffer, ImageReader, Rgb};
[INFO] [stdout]   |                           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input`
[INFO] [stdout]    --> src/core/recurrent_layers.rs:190:13
[INFO] [stdout]     |
[INFO] [stdout] 190 |         let input = self.cached_inputs.pop().unwrap();
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_input`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `config`
[INFO] [stdout]    --> src/data/loader.rs:428:44
[INFO] [stdout]     |
[INFO] [stdout] 428 | fn merge_temporal_files(files: &[PathBuf], config: &DataConfig) -> AppResult<TemporalData> {
[INFO] [stdout]     |                                            ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/data/tabular.rs:241:14
[INFO] [stdout]     |
[INFO] [stdout] 241 |         for (i, (name, value)) in feature_names.iter().zip(row.iter()).enumerate() {
[INFO] [stdout]     |              ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `num_categories`
[INFO] [stdout]    --> src/data/tabular.rs:246:21
[INFO] [stdout]     |
[INFO] [stdout] 246 |                 let num_categories = mapping.len();
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_num_categories`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `padded_height`
[INFO] [stdout]    --> src/models/image.rs:188:13
[INFO] [stdout]     |
[INFO] [stdout] 188 |         let padded_height = padded_input.shape()[1];
[INFO] [stdout]     |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_padded_height`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `padded_width`
[INFO] [stdout]    --> src/models/image.rs:189:13
[INFO] [stdout]     |
[INFO] [stdout] 189 |         let padded_width = padded_input.shape()[2];
[INFO] [stdout]     |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_padded_width`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/models/image.rs:243:13
[INFO] [stdout]     |
[INFO] [stdout] 243 |         let mut grad_pre_activation = &grad_output * &relu_grad;
[INFO] [stdout]     |             ----^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `output_size`
[INFO] [stdout]    --> src/models/image.rs:528:13
[INFO] [stdout]     |
[INFO] [stdout] 528 |         let output_size = 128;
[INFO] [stdout]     |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_output_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `predictions`
[INFO] [stdout]    --> src/training/metrics.rs:111:24
[INFO] [stdout]     |
[INFO] [stdout] 111 | pub fn calculate_auroc(predictions: &[f32], targets: &[f32]) -> f32 {
[INFO] [stdout]     |                        ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_predictions`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `targets`
[INFO] [stdout]    --> src/training/metrics.rs:111:45
[INFO] [stdout]     |
[INFO] [stdout] 111 | pub fn calculate_auroc(predictions: &[f32], targets: &[f32]) -> f32 {
[INFO] [stdout]     |                                             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_targets`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `model`
[INFO] [stdout]    --> src/training/metrics.rs:121:5
[INFO] [stdout]     |
[INFO] [stdout] 121 |     model: &mut impl Module<I, O>,
[INFO] [stdout]     |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_model`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `validation_data`
[INFO] [stdout]    --> src/training/metrics.rs:122:5
[INFO] [stdout]     |
[INFO] [stdout] 122 |     validation_data: &mut MultiModalBatch,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_validation_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/config.rs:29:12
[INFO] [stdout]    |
[INFO] [stdout] 27 | impl Settings {
[INFO] [stdout]    | ------------- associated function in this implementation
[INFO] [stdout] 28 |     /// Creates a new builder for constructing a `Settings` instance.
[INFO] [stdout] 29 |     pub fn new() -> SettingsBuilder {
[INFO] [stdout]    |            ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SettingsBuilder` is never constructed
[INFO] [stdout]    --> src/config.rs:256:12
[INFO] [stdout]     |
[INFO] [stdout] 256 | pub struct SettingsBuilder {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/config.rs:270:12
[INFO] [stdout]     |
[INFO] [stdout] 268 | impl SettingsBuilder {
[INFO] [stdout]     | -------------------- methods in this implementation
[INFO] [stdout] 269 |     /// Sets the data directory. Default: "datasets".
[INFO] [stdout] 270 |     pub fn data_dir(mut self, data_dir: impl Into<PathBuf>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 276 |     pub fn patient_id_column(mut self, patient_id_column: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 282 |     pub fn epochs(mut self, epochs: usize) -> Self {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 288 |     pub fn batch_size(mut self, batch_size: usize) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 294 |     pub fn learning_rate(mut self, learning_rate: f32) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 300 |     pub fn tabular_hidden_sizes(mut self, tabular_hidden_sizes: Vec<usize>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 306 |     pub fn temporal_hidden_size(mut self, temporal_hidden_size: usize) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 312 |     pub fn text_embedding_dim(mut self, text_embedding_dim: usize) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 318 |     pub fn modality_config(mut self, modality_config: ModalityConfig) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 325 |     pub fn build(self) -> Settings {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `SETTINGS` is never used
[INFO] [stdout]    --> src/config.rs:342:12
[INFO] [stdout]     |
[INFO] [stdout] 342 | pub static SETTINGS: LazyLock<Settings> = LazyLock::new(|| SettingsBuilder::default().build());
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `tabular_output_size`, `temporal_output_size`, `text_output_size`, and `image_output_size` are never read
[INFO] [stdout]    --> src/core/fusion.rs:106:5
[INFO] [stdout]     |
[INFO] [stdout]  77 | pub struct LateFusionNet {
[INFO] [stdout]     |            ------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 106 |     tabular_output_size: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 107 |     temporal_output_size: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 108 |     text_output_size: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 109 |     image_output_size: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `LateFusionNet` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `config`, `is_enabled`, `load`, and `set_all_parameters` are never used
[INFO] [stdout]    --> src/core/fusion.rs:332:12
[INFO] [stdout]     |
[INFO] [stdout] 112 | impl LateFusionNet {
[INFO] [stdout]     | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 332 |     pub fn config(&self) -> &ModalityConfig {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 337 |     pub fn is_enabled(&self, modality: &str) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 419 |     pub fn load(&mut self, path: &str) -> AppResult<()> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 512 |     fn set_all_parameters(&mut self, params: &[f32]) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `set_parameters` is never used
[INFO] [stdout]   --> src/core/layer.rs:42:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl Layer {
[INFO] [stdout]    | ---------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 42 |     pub fn set_parameters(&mut self, params: &[f32]) -> Result<usize, Box<dyn std::error::Error>> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `set_parameters`, `input_size`, and `output_size` are never used
[INFO] [stdout]   --> src/core/network.rs:65:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl Network {
[INFO] [stdout]    | ------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 65 |     pub fn set_parameters(&mut self, params: &[f32]) -> Result<usize, Box<dyn std::error::Error>> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 75 |     pub fn input_size(&self) -> usize {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 84 |     pub fn output_size(&self) -> usize {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `I8` is never constructed
[INFO] [stdout]  --> src/core/neuron.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub enum WeightType {
[INFO] [stdout]   |          ---------- variant in this enum
[INFO] [stdout] 6 |     F32(Vec<f32>),
[INFO] [stdout] 7 |     I8 {
[INFO] [stdout]   |     ^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `WeightType` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `set_parameters` is never used
[INFO] [stdout]    --> src/core/neuron.rs:107:12
[INFO] [stdout]     |
[INFO] [stdout]  64 | impl Neuron {
[INFO] [stdout]     | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 107 |     pub fn set_parameters(&mut self, params: &[f32]) -> Result<usize, Box<dyn std::error::Error>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `set_parameters` is never used
[INFO] [stdout]   --> src/core/recurrent_layers.rs:70:12
[INFO] [stdout]    |
[INFO] [stdout] 31 | impl LSTMLayer {
[INFO] [stdout]    | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 70 |     pub fn set_parameters(&mut self, params: &[f32]) -> Result<usize, Box<dyn std::error::Error>> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calculate_permutation_importance` is never used
[INFO] [stdout]  --> src/core/feature_importance.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub fn calculate_permutation_importance<I, O>(
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `channel_means` and `channel_stds` are never read
[INFO] [stdout]   --> src/data/image.rs:25:9
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct ImageData {
[INFO] [stdout]    |            --------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 25 |     pub channel_means: Vec<f32>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 28 |     pub channel_stds: Vec<f32>,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `preprocess_image` are never used
[INFO] [stdout]    --> src/data/image.rs:36:12
[INFO] [stdout]     |
[INFO] [stdout]  34 | impl ImageData {
[INFO] [stdout]     | -------------- associated items in this implementation
[INFO] [stdout]  35 |     /// Create a new empty ImageData instance
[INFO] [stdout]  36 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 178 |     pub fn preprocess_image<P: AsRef<Path>>(&self, path: P) -> io::Result<Array3<f32>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_empty` is never used
[INFO] [stdout]   --> src/data/loader.rs:25:8
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub trait DataLoader<T> {
[INFO] [stdout]    |           ---------- method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 25 |     fn is_empty(&self) -> bool {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `load_image_data` is never used
[INFO] [stdout]    --> src/data/loader.rs:539:8
[INFO] [stdout]     |
[INFO] [stdout] 539 | pub fn load_image_data<P: AsRef<Path>>(dir_path: P) -> io::Result<ImageData> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `feature_names` and `categorical_features` are never read
[INFO] [stdout]   --> src/data/tabular.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct TabularData {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 19 |     pub feature_names: Vec<String>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 28 |     pub categorical_features: Vec<String>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `preprocess_row` are never used
[INFO] [stdout]    --> src/data/tabular.rs:36:12
[INFO] [stdout]     |
[INFO] [stdout]  34 | impl TabularData {
[INFO] [stdout]     | ---------------- associated items in this implementation
[INFO] [stdout]  35 |     /// Create a new empty TabularData instance
[INFO] [stdout]  36 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 280 |     pub fn preprocess_row(&self, row: &[String]) -> Vec<f32> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `max_seq_length` is never read
[INFO] [stdout]   --> src/data/temporal.rs:25:9
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct TemporalData {
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 25 |     pub max_seq_length: usize,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `from_csv_files`, `pad_sequences`, and `preprocess_sequence` are never used
[INFO] [stdout]    --> src/data/temporal.rs:33:12
[INFO] [stdout]     |
[INFO] [stdout]  31 | impl TemporalData {
[INFO] [stdout]     | ----------------- associated items in this implementation
[INFO] [stdout]  32 |     /// Create a new empty TemporalData instance
[INFO] [stdout]  33 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  52 |     pub fn from_csv_files<P: AsRef<Path>>(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 430 |     pub fn pad_sequences(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 454 |     pub fn preprocess_sequence(&self, sequence: Vec<Vec<f32>>) -> Vec<Vec<f32>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `from_files`, `pad_sequences`, and `truncate_sequences` are never used
[INFO] [stdout]    --> src/data/text.rs:35:12
[INFO] [stdout]     |
[INFO] [stdout]  33 | impl TextData {
[INFO] [stdout]     | ------------- associated items in this implementation
[INFO] [stdout]  34 |     /// Create a new empty TextData instance
[INFO] [stdout]  35 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  54 |     pub fn from_files<P: AsRef<Path>>(paths: &[P], max_vocab_size: usize) -> io::Result<Self> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 174 |     pub fn pad_sequences(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 184 |     pub fn truncate_sequences(&mut self, max_length: usize) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `set_parameters` is never used
[INFO] [stdout]   --> src/models/image.rs:90:12
[INFO] [stdout]    |
[INFO] [stdout] 40 | impl Conv2DLayer {
[INFO] [stdout]    | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 90 |     pub fn set_parameters(&mut self, params: &[f32]) -> Result<usize, Box<dyn std::error::Error>> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `set_parameters` is never used
[INFO] [stdout]    --> src/models/image.rs:555:12
[INFO] [stdout]     |
[INFO] [stdout] 505 | impl ImageNet {
[INFO] [stdout]     | ------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 555 |     pub fn set_parameters(&mut self, params: &[f32]) -> Result<usize, Box<dyn std::error::Error>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `set_parameters` and `output_size` are never used
[INFO] [stdout]   --> src/models/tabular.rs:36:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl TabularNet {
[INFO] [stdout]    | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 36 |     pub fn set_parameters(&mut self, params: &[f32]) -> Result<usize, Box<dyn std::error::Error>> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 41 |     pub fn output_size(&self) -> usize {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `set_parameters` is never used
[INFO] [stdout]   --> src/models/temporal.rs:79:12
[INFO] [stdout]    |
[INFO] [stdout] 38 | impl SimpleRnnCell {
[INFO] [stdout]    | ------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 79 |     pub fn set_parameters(&mut self, params: &[f32]) -> Result<usize, Box<dyn std::error::Error>> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `set_parameters` is never used
[INFO] [stdout]    --> src/models/temporal.rs:180:12
[INFO] [stdout]     |
[INFO] [stdout] 163 | impl TemporalNet {
[INFO] [stdout]     | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 180 |     pub fn set_parameters(&mut self, params: &[f32]) -> Result<usize, Box<dyn std::error::Error>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `set_parameters` is never used
[INFO] [stdout]   --> src/models/text.rs:56:12
[INFO] [stdout]    |
[INFO] [stdout] 26 | impl EmbeddingLayer {
[INFO] [stdout]    | ------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 56 |     pub fn set_parameters(&mut self, params: &[f32]) -> Result<usize, Box<dyn std::error::Error>> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `set_parameters`, `build_vocab`, `tokenize`, and `output_size` are never used
[INFO] [stdout]    --> src/models/text.rs:135:12
[INFO] [stdout]     |
[INFO] [stdout] 107 | impl TextNet {
[INFO] [stdout]     | ------------ associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 135 |     pub fn set_parameters(&mut self, params: &[f32]) -> Result<usize, Box<dyn std::error::Error>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 150 |     pub fn build_vocab(texts: &[String], max_vocab_size: usize) -> HashMap<String, usize> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 186 |     pub fn tokenize(&self, text: &str) -> Vec<usize> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 196 |     pub fn output_size(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `apply_weight_to_loss` is never used
[INFO] [stdout]   --> src/training/balancing.rs:92:8
[INFO] [stdout]    |
[INFO] [stdout] 92 | pub fn apply_weight_to_loss(loss: f32, weight: f32) -> f32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `apply_weight_to_gradient` is never used
[INFO] [stdout]    --> src/training/balancing.rs:104:8
[INFO] [stdout]     |
[INFO] [stdout] 104 | pub fn apply_weight_to_gradient(grad: f32, weight: f32) -> f32 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `k_neighbors` is never read
[INFO] [stdout]    --> src/training/balancing.rs:161:5
[INFO] [stdout]     |
[INFO] [stdout] 159 | pub struct SmoteSynthesizer {
[INFO] [stdout]     |            ---------------- field in this struct
[INFO] [stdout] 160 |     /// Number of nearest neighbors to consider
[INFO] [stdout] 161 |     k_neighbors: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `generate_synthetic_samples` and `generate_synthetic_tabular` are never used
[INFO] [stdout]    --> src/training/balancing.rs:189:12
[INFO] [stdout]     |
[INFO] [stdout] 164 | impl SmoteSynthesizer {
[INFO] [stdout]     | --------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 189 |     pub fn generate_synthetic_samples(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 254 |     fn generate_synthetic_tabular(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `binary_cross_entropy` is never used
[INFO] [stdout]   --> src/training/loss.rs:15:8
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub fn binary_cross_entropy(prediction: f32, target: f32) -> f32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `binary_cross_entropy_gradient` is never used
[INFO] [stdout]   --> src/training/loss.rs:30:8
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub fn binary_cross_entropy_gradient(prediction: f32, target: f32) -> f32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mean_squared_error` is never used
[INFO] [stdout]   --> src/training/loss.rs:46:8
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub fn mean_squared_error(predictions: &[f32], targets: &[f32]) -> f32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mean_squared_error_gradient` is never used
[INFO] [stdout]   --> src/training/loss.rs:70:8
[INFO] [stdout]    |
[INFO] [stdout] 70 | pub fn mean_squared_error_gradient(predictions: &[f32], targets: &[f32]) -> Vec<f32> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `binary_accuracy` is never used
[INFO] [stdout]   --> src/training/loss.rs:93:8
[INFO] [stdout]    |
[INFO] [stdout] 93 | pub fn binary_accuracy(predictions: &[f32], targets: &[f32], threshold: f32) -> f32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `ppv`, `npv`, `sensitivity`, `specificity`, and `auroc` are never read
[INFO] [stdout]   --> src/training/metrics.rs:58:9
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub struct EvaluationMetrics {
[INFO] [stdout]    |            ----------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 58 |     pub ppv: f32,
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 59 |     pub npv: f32,
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 60 |     pub sensitivity: f32, // Also known as Recall or True Positive Rate
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 61 |     pub specificity: f32, // True Negative Rate
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 62 |     pub auroc: f32,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `EvaluationMetrics` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `evalute_auroc` is never used
[INFO] [stdout]    --> src/training/metrics.rs:120:8
[INFO] [stdout]     |
[INFO] [stdout] 120 | pub fn evalute_auroc<I, O>(
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `evaluate_by_cause` is never used
[INFO] [stdout]    --> src/training/training_loop.rs:261:8
[INFO] [stdout]     |
[INFO] [stdout] 261 | pub fn evaluate_by_cause(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `initialize_weights` is never used
[INFO] [stdout]   --> src/utils/mod.rs:23:8
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub fn initialize_weights(num_weights: usize) -> Vec<f64> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Config` and `ModelError` are never constructed
[INFO] [stdout]  --> src/utils/error.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub enum AppError {
[INFO] [stdout]   |          -------- variants in this enum
[INFO] [stdout] 5 |     Config(String),
[INFO] [stdout]   |     ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 8 |     ModelError(String),
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `AppError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cal`
[INFO] [stdout]    --> src/predict.rs:151:17
[INFO] [stdout]     |
[INFO] [stdout] 151 |     if let Some(ref cal) = calibrator {
[INFO] [stdout]     |                 ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cal`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `model`
[INFO] [stdout]    --> src/predict.rs:518:5
[INFO] [stdout]     |
[INFO] [stdout] 518 |     model: &LateFusionNet,
[INFO] [stdout]     |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_model`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ahuvista_nn::training::*`
[INFO] [stdout]  --> tests/processing_tests.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use ahuvista_nn::training::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ahuvista_nn::core::Layer`
[INFO] [stdout]    --> tests/processing_tests.rs:187:9
[INFO] [stdout]     |
[INFO] [stdout] 187 |     use ahuvista_nn::core::Layer;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]    --> tests/processing_tests.rs:369:9
[INFO] [stdout]     |
[INFO] [stdout] 369 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tracing::info`
[INFO] [stdout]    --> tests/core_tests.rs:199:9
[INFO] [stdout]     |
[INFO] [stdout] 199 |     use tracing::info;
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::PathBuf`
[INFO] [stdout]  --> tests/data_tests.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::path::PathBuf;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AppError`
[INFO] [stdout]  --> src/core/fusion.rs:4:27
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::utils::error::{AppError, AppResult};
[INFO] [stdout]   |                           ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ArrayBase`
[INFO] [stdout]  --> src/core/fusion.rs:5:23
[INFO] [stdout]   |
[INFO] [stdout] 5 | use ndarray::{Array3, ArrayBase};
[INFO] [stdout]   |                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DynamicImage`, `ImageBuffer`, and `Rgb`
[INFO] [stdout]  --> src/data/image.rs:7:13
[INFO] [stdout]   |
[INFO] [stdout] 7 | use image::{DynamicImage, GenericImageView, ImageBuffer, ImageReader, Rgb};
[INFO] [stdout]   |             ^^^^^^^^^^^^                    ^^^^^^^^^^^               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs::File`
[INFO] [stdout]  --> src/data/image.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::fs::File;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Read`
[INFO] [stdout]   --> src/data/image.rs:10:21
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::io::{self, Read};
[INFO] [stdout]    |                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashSet`
[INFO] [stdout]  --> src/data/text.rs:7:33
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AppError`
[INFO] [stdout]  --> src/core/fusion.rs:4:27
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::utils::error::{AppError, AppResult};
[INFO] [stdout]   |                           ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ArrayBase`
[INFO] [stdout]  --> src/core/fusion.rs:5:23
[INFO] [stdout]   |
[INFO] [stdout] 5 | use ndarray::{Array3, ArrayBase};
[INFO] [stdout]   |                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `fusion::*`
[INFO] [stdout]   --> src/core/mod.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub use fusion::*;
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BufRead` and `BufReader`
[INFO] [stdout]  --> src/data/text.rs:9:21
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::io::{self, BufRead, BufReader, Read};
[INFO] [stdout]   |                     ^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Axis`
[INFO] [stdout]  --> src/models/image.rs:2:49
[INFO] [stdout]   |
[INFO] [stdout] 2 | use ndarray::{s, Array, Array1, Array3, Array4, Axis};
[INFO] [stdout]   |                                                 ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Array1`
[INFO] [stdout]  --> src/training/balancing.rs:9:15
[INFO] [stdout]   |
[INFO] [stdout] 9 | use ndarray::{Array1, Array3};
[INFO] [stdout]   |               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]   --> src/training/training_loop.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::collections::HashMap;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `feature_importance::*`
[INFO] [stdout]   --> src/core/mod.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub use feature_importance::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DynamicImage`, `ImageBuffer`, and `Rgb`
[INFO] [stdout]  --> src/data/image.rs:7:13
[INFO] [stdout]   |
[INFO] [stdout] 7 | use image::{DynamicImage, GenericImageView, ImageBuffer, ImageReader, Rgb};
[INFO] [stdout]   |             ^^^^^^^^^^^^                    ^^^^^^^^^^^               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs::File`
[INFO] [stdout]  --> src/data/image.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::fs::File;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Read`
[INFO] [stdout]   --> src/data/image.rs:10:21
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::io::{self, Read};
[INFO] [stdout]    |                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashSet`
[INFO] [stdout]  --> src/data/text.rs:7:33
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BufRead` and `BufReader`
[INFO] [stdout]  --> src/data/text.rs:9:21
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::io::{self, BufRead, BufReader, Read};
[INFO] [stdout]   |                     ^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Axis`
[INFO] [stdout]  --> src/models/image.rs:2:49
[INFO] [stdout]   |
[INFO] [stdout] 2 | use ndarray::{s, Array, Array1, Array3, Array4, Axis};
[INFO] [stdout]   |                                                 ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Array1`
[INFO] [stdout]  --> src/training/balancing.rs:9:15
[INFO] [stdout]   |
[INFO] [stdout] 9 | use ndarray::{Array1, Array3};
[INFO] [stdout]   |               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]   --> src/training/training_loop.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::collections::HashMap;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `warn`
[INFO] [stdout]   --> src/main.rs:21:28
[INFO] [stdout]    |
[INFO] [stdout] 21 | use tracing::{error, info, warn};
[INFO] [stdout]    |                            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AppConfig`, `evaluate_by_cause`, and `evaluate_model_with_calibration`
[INFO] [stdout]   --> src/main.rs:26:14
[INFO] [stdout]    |
[INFO] [stdout] 26 |     config::{AppConfig, ModalityConfig, Settings},
[INFO] [stdout]    |              ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 38 |             evaluate_by_cause, evaluate_model_with_calibration, train_model_with_weights,
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `output`
[INFO] [stdout]   --> tests/core_tests.rs:31:13
[INFO] [stdout]    |
[INFO] [stdout] 31 |         let output = neuron.forward(inputs.clone());
[INFO] [stdout]    |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_output`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `outputs`
[INFO] [stdout]    --> tests/core_tests.rs:245:13
[INFO] [stdout]     |
[INFO] [stdout] 245 |         let outputs = network.forward(inputs.clone());
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_outputs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng`
[INFO] [stdout]  --> src/core/feature_importance.rs:5:11
[INFO] [stdout]   |
[INFO] [stdout] 5 | use rand::thread_rng;
[INFO] [stdout]   |           ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng`
[INFO] [stdout]   --> src/core/feature_importance.rs:22:37
[INFO] [stdout]    |
[INFO] [stdout] 22 |         feature_column.shuffle(&mut thread_rng());
[INFO] [stdout]    |                                     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng`
[INFO] [stdout]   --> src/models/image.rs:56:29
[INFO] [stdout]    |
[INFO] [stdout] 56 |         let mut rng = rand::thread_rng();
[INFO] [stdout]    |                             ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng`
[INFO] [stdout]   --> src/models/temporal.rs:45:29
[INFO] [stdout]    |
[INFO] [stdout] 45 |         let mut rng = rand::thread_rng();
[INFO] [stdout]    |                             ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng`
[INFO] [stdout]   --> src/models/text.rs:33:29
[INFO] [stdout]    |
[INFO] [stdout] 33 |         let mut rng = rand::thread_rng();
[INFO] [stdout]    |                             ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `engine`
[INFO] [stdout]    --> tests/core_tests.rs:443:13
[INFO] [stdout]     |
[INFO] [stdout] 443 |         let engine = PrivacyEngine::new(1.0, 1e-5, 1000, 32, 10);
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_engine`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng`
[INFO] [stdout]  --> src/core/feature_importance.rs:5:11
[INFO] [stdout]   |
[INFO] [stdout] 5 | use rand::thread_rng;
[INFO] [stdout]   |           ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng`
[INFO] [stdout]   --> src/core/feature_importance.rs:22:37
[INFO] [stdout]    |
[INFO] [stdout] 22 |         feature_column.shuffle(&mut thread_rng());
[INFO] [stdout]    |                                     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng`
[INFO] [stdout]   --> src/models/image.rs:56:29
[INFO] [stdout]    |
[INFO] [stdout] 56 |         let mut rng = rand::thread_rng();
[INFO] [stdout]    |                             ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng`
[INFO] [stdout]   --> src/models/temporal.rs:45:29
[INFO] [stdout]    |
[INFO] [stdout] 45 |         let mut rng = rand::thread_rng();
[INFO] [stdout]    |                             ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng`
[INFO] [stdout]   --> src/models/text.rs:33:29
[INFO] [stdout]    |
[INFO] [stdout] 33 |         let mut rng = rand::thread_rng();
[INFO] [stdout]    |                             ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `l2_norm`
[INFO] [stdout]    --> tests/core_tests.rs:476:13
[INFO] [stdout]     |
[INFO] [stdout] 476 |         let l2_norm = gradients.iter().map(|g| g.powi(2)).sum::<f32>().sqrt();
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_l2_norm`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cal`
[INFO] [stdout]    --> src/predict.rs:151:17
[INFO] [stdout]     |
[INFO] [stdout] 151 |     if let Some(ref cal) = calibrator {
[INFO] [stdout]     |                 ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cal`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `model`
[INFO] [stdout]    --> src/predict.rs:518:5
[INFO] [stdout]     |
[INFO] [stdout] 518 |     model: &LateFusionNet,
[INFO] [stdout]     |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_model`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `rand::Rng::gen_range`: Renamed to `random_range`
[INFO] [stdout]   --> src/models/text.rs:42:30
[INFO] [stdout]    |
[INFO] [stdout] 42 |                 .map(|_| rng.gen_range(-scale..scale))
[INFO] [stdout]    |                              ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `rand::Rng::gen_range`: Renamed to `random_range`
[INFO] [stdout]   --> src/models/text.rs:42:30
[INFO] [stdout]    |
[INFO] [stdout] 42 |                 .map(|_| rng.gen_range(-scale..scale))
[INFO] [stdout]    |                              ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::Rng`
[INFO] [stdout]  --> src/core/recurrent_layers.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use rand::Rng;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `GenericImageView`
[INFO] [stdout]  --> src/data/image.rs:7:27
[INFO] [stdout]   |
[INFO] [stdout] 7 | use image::{DynamicImage, GenericImageView, ImageBuffer, ImageReader, Rgb};
[INFO] [stdout]   |                           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input`
[INFO] [stdout]    --> src/core/recurrent_layers.rs:190:13
[INFO] [stdout]     |
[INFO] [stdout] 190 |         let input = self.cached_inputs.pop().unwrap();
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_input`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::Rng`
[INFO] [stdout]  --> src/core/recurrent_layers.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use rand::Rng;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `GenericImageView`
[INFO] [stdout]  --> src/data/image.rs:7:27
[INFO] [stdout]   |
[INFO] [stdout] 7 | use image::{DynamicImage, GenericImageView, ImageBuffer, ImageReader, Rgb};
[INFO] [stdout]   |                           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `config`
[INFO] [stdout]    --> src/data/loader.rs:428:44
[INFO] [stdout]     |
[INFO] [stdout] 428 | fn merge_temporal_files(files: &[PathBuf], config: &DataConfig) -> AppResult<TemporalData> {
[INFO] [stdout]     |                                            ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/data/tabular.rs:241:14
[INFO] [stdout]     |
[INFO] [stdout] 241 |         for (i, (name, value)) in feature_names.iter().zip(row.iter()).enumerate() {
[INFO] [stdout]     |              ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `num_categories`
[INFO] [stdout]    --> src/data/tabular.rs:246:21
[INFO] [stdout]     |
[INFO] [stdout] 246 |                 let num_categories = mapping.len();
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_num_categories`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `padded_height`
[INFO] [stdout]    --> src/models/image.rs:188:13
[INFO] [stdout]     |
[INFO] [stdout] 188 |         let padded_height = padded_input.shape()[1];
[INFO] [stdout]     |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_padded_height`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `padded_width`
[INFO] [stdout]    --> src/models/image.rs:189:13
[INFO] [stdout]     |
[INFO] [stdout] 189 |         let padded_width = padded_input.shape()[2];
[INFO] [stdout]     |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_padded_width`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/models/image.rs:243:13
[INFO] [stdout]     |
[INFO] [stdout] 243 |         let mut grad_pre_activation = &grad_output * &relu_grad;
[INFO] [stdout]     |             ----^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `output_size`
[INFO] [stdout]    --> src/models/image.rs:528:13
[INFO] [stdout]     |
[INFO] [stdout] 528 |         let output_size = 128;
[INFO] [stdout]     |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_output_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `predictions`
[INFO] [stdout]    --> src/training/metrics.rs:111:24
[INFO] [stdout]     |
[INFO] [stdout] 111 | pub fn calculate_auroc(predictions: &[f32], targets: &[f32]) -> f32 {
[INFO] [stdout]     |                        ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_predictions`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `targets`
[INFO] [stdout]    --> src/training/metrics.rs:111:45
[INFO] [stdout]     |
[INFO] [stdout] 111 | pub fn calculate_auroc(predictions: &[f32], targets: &[f32]) -> f32 {
[INFO] [stdout]     |                                             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_targets`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `model`
[INFO] [stdout]    --> src/training/metrics.rs:121:5
[INFO] [stdout]     |
[INFO] [stdout] 121 |     model: &mut impl Module<I, O>,
[INFO] [stdout]     |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_model`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `validation_data`
[INFO] [stdout]    --> src/training/metrics.rs:122:5
[INFO] [stdout]     |
[INFO] [stdout] 122 |     validation_data: &mut MultiModalBatch,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_validation_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `tabular_output_size`, `temporal_output_size`, `text_output_size`, and `image_output_size` are never read
[INFO] [stdout]    --> src/core/fusion.rs:106:5
[INFO] [stdout]     |
[INFO] [stdout]  77 | pub struct LateFusionNet {
[INFO] [stdout]     |            ------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 106 |     tabular_output_size: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 107 |     temporal_output_size: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 108 |     text_output_size: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 109 |     image_output_size: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `LateFusionNet` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `k_neighbors` is never read
[INFO] [stdout]    --> src/training/balancing.rs:161:5
[INFO] [stdout]     |
[INFO] [stdout] 159 | pub struct SmoteSynthesizer {
[INFO] [stdout]     |            ---------------- field in this struct
[INFO] [stdout] 160 |     /// Number of nearest neighbors to consider
[INFO] [stdout] 161 |     k_neighbors: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input`
[INFO] [stdout]    --> src/core/recurrent_layers.rs:190:13
[INFO] [stdout]     |
[INFO] [stdout] 190 |         let input = self.cached_inputs.pop().unwrap();
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_input`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `config`
[INFO] [stdout]    --> src/data/loader.rs:428:44
[INFO] [stdout]     |
[INFO] [stdout] 428 | fn merge_temporal_files(files: &[PathBuf], config: &DataConfig) -> AppResult<TemporalData> {
[INFO] [stdout]     |                                            ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/data/tabular.rs:241:14
[INFO] [stdout]     |
[INFO] [stdout] 241 |         for (i, (name, value)) in feature_names.iter().zip(row.iter()).enumerate() {
[INFO] [stdout]     |              ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `num_categories`
[INFO] [stdout]    --> src/data/tabular.rs:246:21
[INFO] [stdout]     |
[INFO] [stdout] 246 |                 let num_categories = mapping.len();
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_num_categories`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `padded_height`
[INFO] [stdout]    --> src/models/image.rs:188:13
[INFO] [stdout]     |
[INFO] [stdout] 188 |         let padded_height = padded_input.shape()[1];
[INFO] [stdout]     |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_padded_height`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `padded_width`
[INFO] [stdout]    --> src/models/image.rs:189:13
[INFO] [stdout]     |
[INFO] [stdout] 189 |         let padded_width = padded_input.shape()[2];
[INFO] [stdout]     |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_padded_width`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/models/image.rs:243:13
[INFO] [stdout]     |
[INFO] [stdout] 243 |         let mut grad_pre_activation = &grad_output * &relu_grad;
[INFO] [stdout]     |             ----^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `output_size`
[INFO] [stdout]    --> src/models/image.rs:528:13
[INFO] [stdout]     |
[INFO] [stdout] 528 |         let output_size = 128;
[INFO] [stdout]     |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_output_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `predictions`
[INFO] [stdout]    --> src/training/metrics.rs:111:24
[INFO] [stdout]     |
[INFO] [stdout] 111 | pub fn calculate_auroc(predictions: &[f32], targets: &[f32]) -> f32 {
[INFO] [stdout]     |                        ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_predictions`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `targets`
[INFO] [stdout]    --> src/training/metrics.rs:111:45
[INFO] [stdout]     |
[INFO] [stdout] 111 | pub fn calculate_auroc(predictions: &[f32], targets: &[f32]) -> f32 {
[INFO] [stdout]     |                                             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_targets`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `model`
[INFO] [stdout]    --> src/training/metrics.rs:121:5
[INFO] [stdout]     |
[INFO] [stdout] 121 |     model: &mut impl Module<I, O>,
[INFO] [stdout]     |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_model`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `validation_data`
[INFO] [stdout]    --> src/training/metrics.rs:122:5
[INFO] [stdout]     |
[INFO] [stdout] 122 |     validation_data: &mut MultiModalBatch,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_validation_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/config.rs:29:12
[INFO] [stdout]    |
[INFO] [stdout] 27 | impl Settings {
[INFO] [stdout]    | ------------- associated function in this implementation
[INFO] [stdout] 28 |     /// Creates a new builder for constructing a `Settings` instance.
[INFO] [stdout] 29 |     pub fn new() -> SettingsBuilder {
[INFO] [stdout]    |            ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SettingsBuilder` is never constructed
[INFO] [stdout]    --> src/config.rs:256:12
[INFO] [stdout]     |
[INFO] [stdout] 256 | pub struct SettingsBuilder {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/config.rs:270:12
[INFO] [stdout]     |
[INFO] [stdout] 268 | impl SettingsBuilder {
[INFO] [stdout]     | -------------------- methods in this implementation
[INFO] [stdout] 269 |     /// Sets the data directory. Default: "datasets".
[INFO] [stdout] 270 |     pub fn data_dir(mut self, data_dir: impl Into<PathBuf>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 276 |     pub fn patient_id_column(mut self, patient_id_column: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 282 |     pub fn epochs(mut self, epochs: usize) -> Self {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 288 |     pub fn batch_size(mut self, batch_size: usize) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 294 |     pub fn learning_rate(mut self, learning_rate: f32) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 300 |     pub fn tabular_hidden_sizes(mut self, tabular_hidden_sizes: Vec<usize>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 306 |     pub fn temporal_hidden_size(mut self, temporal_hidden_size: usize) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 312 |     pub fn text_embedding_dim(mut self, text_embedding_dim: usize) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 318 |     pub fn modality_config(mut self, modality_config: ModalityConfig) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 325 |     pub fn build(self) -> Settings {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `SETTINGS` is never used
[INFO] [stdout]    --> src/config.rs:342:12
[INFO] [stdout]     |
[INFO] [stdout] 342 | pub static SETTINGS: LazyLock<Settings> = LazyLock::new(|| SettingsBuilder::default().build());
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `tabular_output_size`, `temporal_output_size`, `text_output_size`, and `image_output_size` are never read
[INFO] [stdout]    --> src/core/fusion.rs:106:5
[INFO] [stdout]     |
[INFO] [stdout]  77 | pub struct LateFusionNet {
[INFO] [stdout]     |            ------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 106 |     tabular_output_size: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 107 |     temporal_output_size: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 108 |     text_output_size: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 109 |     image_output_size: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `LateFusionNet` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `config`, `is_enabled`, `load`, and `set_all_parameters` are never used
[INFO] [stdout]    --> src/core/fusion.rs:332:12
[INFO] [stdout]     |
[INFO] [stdout] 112 | impl LateFusionNet {
[INFO] [stdout]     | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 332 |     pub fn config(&self) -> &ModalityConfig {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 337 |     pub fn is_enabled(&self, modality: &str) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 419 |     pub fn load(&mut self, path: &str) -> AppResult<()> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 512 |     fn set_all_parameters(&mut self, params: &[f32]) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `set_parameters` is never used
[INFO] [stdout]   --> src/core/layer.rs:42:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl Layer {
[INFO] [stdout]    | ---------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 42 |     pub fn set_parameters(&mut self, params: &[f32]) -> Result<usize, Box<dyn std::error::Error>> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `set_parameters`, `input_size`, and `output_size` are never used
[INFO] [stdout]   --> src/core/network.rs:65:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl Network {
[INFO] [stdout]    | ------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 65 |     pub fn set_parameters(&mut self, params: &[f32]) -> Result<usize, Box<dyn std::error::Error>> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 75 |     pub fn input_size(&self) -> usize {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 84 |     pub fn output_size(&self) -> usize {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `I8` is never constructed
[INFO] [stdout]  --> src/core/neuron.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub enum WeightType {
[INFO] [stdout]   |          ---------- variant in this enum
[INFO] [stdout] 6 |     F32(Vec<f32>),
[INFO] [stdout] 7 |     I8 {
[INFO] [stdout]   |     ^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `WeightType` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `set_parameters` is never used
[INFO] [stdout]    --> src/core/neuron.rs:107:12
[INFO] [stdout]     |
[INFO] [stdout]  64 | impl Neuron {
[INFO] [stdout]     | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 107 |     pub fn set_parameters(&mut self, params: &[f32]) -> Result<usize, Box<dyn std::error::Error>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `set_parameters` is never used
[INFO] [stdout]   --> src/core/recurrent_layers.rs:70:12
[INFO] [stdout]    |
[INFO] [stdout] 31 | impl LSTMLayer {
[INFO] [stdout]    | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 70 |     pub fn set_parameters(&mut self, params: &[f32]) -> Result<usize, Box<dyn std::error::Error>> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calculate_permutation_importance` is never used
[INFO] [stdout]  --> src/core/feature_importance.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub fn calculate_permutation_importance<I, O>(
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `channel_means` and `channel_stds` are never read
[INFO] [stdout]   --> src/data/image.rs:25:9
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct ImageData {
[INFO] [stdout]    |            --------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 25 |     pub channel_means: Vec<f32>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 28 |     pub channel_stds: Vec<f32>,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `preprocess_image` are never used
[INFO] [stdout]    --> src/data/image.rs:36:12
[INFO] [stdout]     |
[INFO] [stdout]  34 | impl ImageData {
[INFO] [stdout]     | -------------- associated items in this implementation
[INFO] [stdout]  35 |     /// Create a new empty ImageData instance
[INFO] [stdout]  36 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 178 |     pub fn preprocess_image<P: AsRef<Path>>(&self, path: P) -> io::Result<Array3<f32>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_empty` is never used
[INFO] [stdout]   --> src/data/loader.rs:25:8
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub trait DataLoader<T> {
[INFO] [stdout]    |           ---------- method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 25 |     fn is_empty(&self) -> bool {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `load_image_data` is never used
[INFO] [stdout]    --> src/data/loader.rs:539:8
[INFO] [stdout]     |
[INFO] [stdout] 539 | pub fn load_image_data<P: AsRef<Path>>(dir_path: P) -> io::Result<ImageData> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `feature_names` and `categorical_features` are never read
[INFO] [stdout]   --> src/data/tabular.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct TabularData {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 19 |     pub feature_names: Vec<String>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 28 |     pub categorical_features: Vec<String>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `preprocess_row` are never used
[INFO] [stdout]    --> src/data/tabular.rs:36:12
[INFO] [stdout]     |
[INFO] [stdout]  34 | impl TabularData {
[INFO] [stdout]     | ---------------- associated items in this implementation
[INFO] [stdout]  35 |     /// Create a new empty TabularData instance
[INFO] [stdout]  36 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 280 |     pub fn preprocess_row(&self, row: &[String]) -> Vec<f32> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `max_seq_length` is never read
[INFO] [stdout]   --> src/data/temporal.rs:25:9
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct TemporalData {
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 25 |     pub max_seq_length: usize,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `from_csv_files`, `pad_sequences`, and `preprocess_sequence` are never used
[INFO] [stdout]    --> src/data/temporal.rs:33:12
[INFO] [stdout]     |
[INFO] [stdout]  31 | impl TemporalData {
[INFO] [stdout]     | ----------------- associated items in this implementation
[INFO] [stdout]  32 |     /// Create a new empty TemporalData instance
[INFO] [stdout]  33 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  52 |     pub fn from_csv_files<P: AsRef<Path>>(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 430 |     pub fn pad_sequences(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 454 |     pub fn preprocess_sequence(&self, sequence: Vec<Vec<f32>>) -> Vec<Vec<f32>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `from_files`, `pad_sequences`, and `truncate_sequences` are never used
[INFO] [stdout]    --> src/data/text.rs:35:12
[INFO] [stdout]     |
[INFO] [stdout]  33 | impl TextData {
[INFO] [stdout]     | ------------- associated items in this implementation
[INFO] [stdout]  34 |     /// Create a new empty TextData instance
[INFO] [stdout]  35 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  54 |     pub fn from_files<P: AsRef<Path>>(paths: &[P], max_vocab_size: usize) -> io::Result<Self> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 174 |     pub fn pad_sequences(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 184 |     pub fn truncate_sequences(&mut self, max_length: usize) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `set_parameters` is never used
[INFO] [stdout]   --> src/models/image.rs:90:12
[INFO] [stdout]    |
[INFO] [stdout] 40 | impl Conv2DLayer {
[INFO] [stdout]    | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 90 |     pub fn set_parameters(&mut self, params: &[f32]) -> Result<usize, Box<dyn std::error::Error>> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `set_parameters` is never used
[INFO] [stdout]    --> src/models/image.rs:555:12
[INFO] [stdout]     |
[INFO] [stdout] 505 | impl ImageNet {
[INFO] [stdout]     | ------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 555 |     pub fn set_parameters(&mut self, params: &[f32]) -> Result<usize, Box<dyn std::error::Error>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `set_parameters` and `output_size` are never used
[INFO] [stdout]   --> src/models/tabular.rs:36:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl TabularNet {
[INFO] [stdout]    | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 36 |     pub fn set_parameters(&mut self, params: &[f32]) -> Result<usize, Box<dyn std::error::Error>> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 41 |     pub fn output_size(&self) -> usize {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `set_parameters` is never used
[INFO] [stdout]   --> src/models/temporal.rs:79:12
[INFO] [stdout]    |
[INFO] [stdout] 38 | impl SimpleRnnCell {
[INFO] [stdout]    | ------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 79 |     pub fn set_parameters(&mut self, params: &[f32]) -> Result<usize, Box<dyn std::error::Error>> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `set_parameters` is never used
[INFO] [stdout]    --> src/models/temporal.rs:180:12
[INFO] [stdout]     |
[INFO] [stdout] 163 | impl TemporalNet {
[INFO] [stdout]     | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 180 |     pub fn set_parameters(&mut self, params: &[f32]) -> Result<usize, Box<dyn std::error::Error>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `set_parameters` is never used
[INFO] [stdout]   --> src/models/text.rs:56:12
[INFO] [stdout]    |
[INFO] [stdout] 26 | impl EmbeddingLayer {
[INFO] [stdout]    | ------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 56 |     pub fn set_parameters(&mut self, params: &[f32]) -> Result<usize, Box<dyn std::error::Error>> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `set_parameters`, `build_vocab`, `tokenize`, and `output_size` are never used
[INFO] [stdout]    --> src/models/text.rs:135:12
[INFO] [stdout]     |
[INFO] [stdout] 107 | impl TextNet {
[INFO] [stdout]     | ------------ associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 135 |     pub fn set_parameters(&mut self, params: &[f32]) -> Result<usize, Box<dyn std::error::Error>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 150 |     pub fn build_vocab(texts: &[String], max_vocab_size: usize) -> HashMap<String, usize> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 186 |     pub fn tokenize(&self, text: &str) -> Vec<usize> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 196 |     pub fn output_size(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `apply_weight_to_loss` is never used
[INFO] [stdout]   --> src/training/balancing.rs:92:8
[INFO] [stdout]    |
[INFO] [stdout] 92 | pub fn apply_weight_to_loss(loss: f32, weight: f32) -> f32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `apply_weight_to_gradient` is never used
[INFO] [stdout]    --> src/training/balancing.rs:104:8
[INFO] [stdout]     |
[INFO] [stdout] 104 | pub fn apply_weight_to_gradient(grad: f32, weight: f32) -> f32 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `k_neighbors` is never read
[INFO] [stdout]    --> src/training/balancing.rs:161:5
[INFO] [stdout]     |
[INFO] [stdout] 159 | pub struct SmoteSynthesizer {
[INFO] [stdout]     |            ---------------- field in this struct
[INFO] [stdout] 160 |     /// Number of nearest neighbors to consider
[INFO] [stdout] 161 |     k_neighbors: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `generate_synthetic_samples` and `generate_synthetic_tabular` are never used
[INFO] [stdout]    --> src/training/balancing.rs:189:12
[INFO] [stdout]     |
[INFO] [stdout] 164 | impl SmoteSynthesizer {
[INFO] [stdout]     | --------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 189 |     pub fn generate_synthetic_samples(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 254 |     fn generate_synthetic_tabular(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `binary_cross_entropy` is never used
[INFO] [stdout]   --> src/training/loss.rs:15:8
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub fn binary_cross_entropy(prediction: f32, target: f32) -> f32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `binary_cross_entropy_gradient` is never used
[INFO] [stdout]   --> src/training/loss.rs:30:8
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub fn binary_cross_entropy_gradient(prediction: f32, target: f32) -> f32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mean_squared_error` is never used
[INFO] [stdout]   --> src/training/loss.rs:46:8
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub fn mean_squared_error(predictions: &[f32], targets: &[f32]) -> f32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mean_squared_error_gradient` is never used
[INFO] [stdout]   --> src/training/loss.rs:70:8
[INFO] [stdout]    |
[INFO] [stdout] 70 | pub fn mean_squared_error_gradient(predictions: &[f32], targets: &[f32]) -> Vec<f32> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `binary_accuracy` is never used
[INFO] [stdout]   --> src/training/loss.rs:93:8
[INFO] [stdout]    |
[INFO] [stdout] 93 | pub fn binary_accuracy(predictions: &[f32], targets: &[f32], threshold: f32) -> f32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `ppv`, `npv`, `sensitivity`, `specificity`, and `auroc` are never read
[INFO] [stdout]   --> src/training/metrics.rs:58:9
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub struct EvaluationMetrics {
[INFO] [stdout]    |            ----------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 58 |     pub ppv: f32,
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 59 |     pub npv: f32,
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 60 |     pub sensitivity: f32, // Also known as Recall or True Positive Rate
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 61 |     pub specificity: f32, // True Negative Rate
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 62 |     pub auroc: f32,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `EvaluationMetrics` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `evalute_auroc` is never used
[INFO] [stdout]    --> src/training/metrics.rs:120:8
[INFO] [stdout]     |
[INFO] [stdout] 120 | pub fn evalute_auroc<I, O>(
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `evaluate_by_cause` is never used
[INFO] [stdout]    --> src/training/training_loop.rs:261:8
[INFO] [stdout]     |
[INFO] [stdout] 261 | pub fn evaluate_by_cause(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `initialize_weights` is never used
[INFO] [stdout]   --> src/utils/mod.rs:23:8
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub fn initialize_weights(num_weights: usize) -> Vec<f64> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Config` and `ModelError` are never constructed
[INFO] [stdout]  --> src/utils/error.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub enum AppError {
[INFO] [stdout]   |          -------- variants in this enum
[INFO] [stdout] 5 |     Config(String),
[INFO] [stdout]   |     ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 8 |     ModelError(String),
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `AppError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 12.06s
[INFO] running `Command { std: "docker" "inspect" "2a2c6e2eee49cd0e4316c683e599156d716d02cd1cfdd1474e64817a279d6559", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2a2c6e2eee49cd0e4316c683e599156d716d02cd1cfdd1474e64817a279d6559", kill_on_drop: false }`
[INFO] [stdout] 2a2c6e2eee49cd0e4316c683e599156d716d02cd1cfdd1474e64817a279d6559
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] af58a9519f2bfa4d1d0d2fc187639d2f9e948a3376d1e8d2752647db962f268d
[INFO] running `Command { std: "docker" "start" "-a" "af58a9519f2bfa4d1d0d2fc187639d2f9e948a3376d1e8d2752647db962f268d", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `AppError`
[INFO] [stderr]  --> src/core/fusion.rs:4:27
[INFO] [stderr]   |
[INFO] [stderr] 4 | use crate::utils::error::{AppError, AppResult};
[INFO] [stderr]   |                           ^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `ArrayBase`
[INFO] [stderr]  --> src/core/fusion.rs:5:23
[INFO] [stderr]   |
[INFO] [stderr] 5 | use ndarray::{Array3, ArrayBase};
[INFO] [stderr]   |                       ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `DynamicImage`, `ImageBuffer`, and `Rgb`
[INFO] [stderr]  --> src/data/image.rs:7:13
[INFO] [stderr]   |
[INFO] [stderr] 7 | use image::{DynamicImage, GenericImageView, ImageBuffer, ImageReader, Rgb};
[INFO] [stderr]   |             ^^^^^^^^^^^^                    ^^^^^^^^^^^               ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::fs::File`
[INFO] [stderr]  --> src/data/image.rs:9:5
[INFO] [stderr]   |
[INFO] [stderr] 9 | use std::fs::File;
[INFO] [stderr]   |     ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Read`
[INFO] [stderr]   --> src/data/image.rs:10:21
[INFO] [stderr]    |
[INFO] [stderr] 10 | use std::io::{self, Read};
[INFO] [stderr]    |                     ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `HashSet`
[INFO] [stderr]  --> src/data/text.rs:7:33
[INFO] [stderr]   |
[INFO] [stderr] 7 | use std::collections::{HashMap, HashSet};
[INFO] [stderr]   |                                 ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `BufRead` and `BufReader`
[INFO] [stderr]  --> src/data/text.rs:9:21
[INFO] [stderr]   |
[INFO] [stderr] 9 | use std::io::{self, BufRead, BufReader, Read};
[INFO] [stderr]   |                     ^^^^^^^  ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Axis`
[INFO] [stderr]  --> src/models/image.rs:2:49
[INFO] [stderr]   |
[INFO] [stderr] 2 | use ndarray::{s, Array, Array1, Array3, Array4, Axis};
[INFO] [stderr]   |                                                 ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Array1`
[INFO] [stderr]  --> src/training/balancing.rs:9:15
[INFO] [stderr]   |
[INFO] [stderr] 9 | use ndarray::{Array1, Array3};
[INFO] [stderr]   |               ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::collections::HashMap`
[INFO] [stderr]   --> src/training/training_loop.rs:12:5
[INFO] [stderr]    |
[INFO] [stderr] 12 | use std::collections::HashMap;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng`
[INFO] [stderr]  --> src/core/feature_importance.rs:5:11
[INFO] [stderr]   |
[INFO] [stderr] 5 | use rand::thread_rng;
[INFO] [stderr]   |           ^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng`
[INFO] [stderr]   --> src/core/feature_importance.rs:22:37
[INFO] [stderr]    |
[INFO] [stderr] 22 |         feature_column.shuffle(&mut thread_rng());
[INFO] [stderr]    |                                     ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng`
[INFO] [stderr]   --> src/models/image.rs:56:29
[INFO] [stderr]    |
[INFO] [stderr] 56 |         let mut rng = rand::thread_rng();
[INFO] [stderr]    |                             ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng`
[INFO] [stderr]   --> src/models/temporal.rs:45:29
[INFO] [stderr]    |
[INFO] [stderr] 45 |         let mut rng = rand::thread_rng();
[INFO] [stderr]    |                             ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng`
[INFO] [stderr]   --> src/models/text.rs:33:29
[INFO] [stderr]    |
[INFO] [stderr] 33 |         let mut rng = rand::thread_rng();
[INFO] [stderr]    |                             ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `rand::Rng::gen_range`: Renamed to `random_range`
[INFO] [stderr]   --> src/models/text.rs:42:30
[INFO] [stderr]    |
[INFO] [stderr] 42 |                 .map(|_| rng.gen_range(-scale..scale))
[INFO] [stderr]    |                              ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `rand::Rng`
[INFO] [stderr]  --> src/core/recurrent_layers.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | use rand::Rng;
[INFO] [stderr]   |     ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `GenericImageView`
[INFO] [stderr]  --> src/data/image.rs:7:27
[INFO] [stderr]   |
[INFO] [stderr] 7 | use image::{DynamicImage, GenericImageView, ImageBuffer, ImageReader, Rgb};
[INFO] [stderr]   |                           ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `input`
[INFO] [stderr]    --> src/core/recurrent_layers.rs:190:13
[INFO] [stderr]     |
[INFO] [stderr] 190 |         let input = self.cached_inputs.pop().unwrap();
[INFO] [stderr]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_input`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `config`
[INFO] [stderr]    --> src/data/loader.rs:428:44
[INFO] [stderr]     |
[INFO] [stderr] 428 | fn merge_temporal_files(files: &[PathBuf], config: &DataConfig) -> AppResult<TemporalData> {
[INFO] [stderr]     |                                            ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `i`
[INFO] [stderr]    --> src/data/tabular.rs:241:14
[INFO] [stderr]     |
[INFO] [stderr] 241 |         for (i, (name, value)) in feature_names.iter().zip(row.iter()).enumerate() {
[INFO] [stderr]     |              ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `num_categories`
[INFO] [stderr]    --> src/data/tabular.rs:246:21
[INFO] [stderr]     |
[INFO] [stderr] 246 |                 let num_categories = mapping.len();
[INFO] [stderr]     |                     ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_num_categories`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `padded_height`
[INFO] [stderr]    --> src/models/image.rs:188:13
[INFO] [stderr]     |
[INFO] [stderr] 188 |         let padded_height = padded_input.shape()[1];
[INFO] [stderr]     |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_padded_height`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `padded_width`
[INFO] [stderr]    --> src/models/image.rs:189:13
[INFO] [stderr]     |
[INFO] [stderr] 189 |         let padded_width = padded_input.shape()[2];
[INFO] [stderr]     |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_padded_width`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/models/image.rs:243:13
[INFO] [stderr]     |
[INFO] [stderr] 243 |         let mut grad_pre_activation = &grad_output * &relu_grad;
[INFO] [stderr]     |             ----^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `output_size`
[INFO] [stderr]    --> src/models/image.rs:528:13
[INFO] [stderr]     |
[INFO] [stderr] 528 |         let output_size = 128;
[INFO] [stderr]     |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_output_size`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `predictions`
[INFO] [stderr]    --> src/training/metrics.rs:111:24
[INFO] [stderr]     |
[INFO] [stderr] 111 | pub fn calculate_auroc(predictions: &[f32], targets: &[f32]) -> f32 {
[INFO] [stderr]     |                        ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_predictions`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `targets`
[INFO] [stderr]    --> src/training/metrics.rs:111:45
[INFO] [stderr]     |
[INFO] [stderr] 111 | pub fn calculate_auroc(predictions: &[f32], targets: &[f32]) -> f32 {
[INFO] [stderr]     |                                             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_targets`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `model`
[INFO] [stderr]    --> src/training/metrics.rs:121:5
[INFO] [stderr]     |
[INFO] [stderr] 121 |     model: &mut impl Module<I, O>,
[INFO] [stderr]     |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_model`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `validation_data`
[INFO] [stderr]    --> src/training/metrics.rs:122:5
[INFO] [stderr]     |
[INFO] [stderr] 122 |     validation_data: &mut MultiModalBatch,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_validation_data`
[INFO] [stderr] 
[INFO] [stderr] warning: fields `tabular_output_size`, `temporal_output_size`, `text_output_size`, and `image_output_size` are never read
[INFO] [stderr]    --> src/core/fusion.rs:106:5
[INFO] [stderr]     |
[INFO] [stderr]  77 | pub struct LateFusionNet {
[INFO] [stderr]     |            ------------- fields in this struct
[INFO] [stderr] ...
[INFO] [stderr] 106 |     tabular_output_size: usize,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 107 |     temporal_output_size: usize,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 108 |     text_output_size: usize,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^
[INFO] [stderr] 109 |     image_output_size: usize,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `LateFusionNet` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: field `k_neighbors` is never read
[INFO] [stderr]    --> src/training/balancing.rs:161:5
[INFO] [stderr]     |
[INFO] [stderr] 159 | pub struct SmoteSynthesizer {
[INFO] [stderr]     |            ---------------- field in this struct
[INFO] [stderr] 160 |     /// Number of nearest neighbors to consider
[INFO] [stderr] 161 |     k_neighbors: usize,
[INFO] [stderr]     |     ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `ahuvista-nn` (lib) generated 32 warnings (run `cargo fix --lib -p ahuvista-nn` to apply 22 suggestions)
[INFO] [stderr] warning: `ahuvista-nn` (lib test) generated 32 warnings (32 duplicates)
[INFO] [stderr] warning: unused import: `ahuvista_nn::training::*`
[INFO] [stderr]  --> tests/processing_tests.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use ahuvista_nn::training::*;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `ahuvista_nn::core::Layer`
[INFO] [stderr]    --> tests/processing_tests.rs:187:9
[INFO] [stderr]     |
[INFO] [stderr] 187 |     use ahuvista_nn::core::Layer;
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `super::*`
[INFO] [stderr]    --> tests/processing_tests.rs:369:9
[INFO] [stderr]     |
[INFO] [stderr] 369 |     use super::*;
[INFO] [stderr]     |         ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `cal`
[INFO] [stderr]    --> src/predict.rs:151:17
[INFO] [stderr]     |
[INFO] [stderr] 151 |     if let Some(ref cal) = calibrator {
[INFO] [stderr]     |                 ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cal`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `model`
[INFO] [stderr]    --> src/predict.rs:518:5
[INFO] [stderr]     |
[INFO] [stderr] 518 |     model: &LateFusionNet,
[INFO] [stderr]     |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_model`
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::path::PathBuf`
[INFO] [stderr]  --> tests/data_tests.rs:9:5
[INFO] [stderr]   |
[INFO] [stderr] 9 | use std::path::PathBuf;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `tracing::info`
[INFO] [stderr]    --> tests/core_tests.rs:199:9
[INFO] [stderr]     |
[INFO] [stderr] 199 |     use tracing::info;
[INFO] [stderr]     |         ^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `output`
[INFO] [stderr]   --> tests/core_tests.rs:31:13
[INFO] [stderr]    |
[INFO] [stderr] 31 |         let output = neuron.forward(inputs.clone());
[INFO] [stderr]    |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_output`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `outputs`
[INFO] [stderr]    --> tests/core_tests.rs:245:13
[INFO] [stderr]     |
[INFO] [stderr] 245 |         let outputs = network.forward(inputs.clone());
[INFO] [stderr]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_outputs`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `engine`
[INFO] [stderr]    --> tests/core_tests.rs:443:13
[INFO] [stderr]     |
[INFO] [stderr] 443 |         let engine = PrivacyEngine::new(1.0, 1e-5, 1000, 32, 10);
[INFO] [stderr]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_engine`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `l2_norm`
[INFO] [stderr]    --> tests/core_tests.rs:476:13
[INFO] [stderr]     |
[INFO] [stderr] 476 |         let l2_norm = gradients.iter().map(|g| g.powi(2)).sum::<f32>().sqrt();
[INFO] [stderr]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_l2_norm`
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `fusion::*`
[INFO] [stderr]   --> src/core/mod.rs:10:9
[INFO] [stderr]    |
[INFO] [stderr] 10 | pub use fusion::*;
[INFO] [stderr]    |         ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `feature_importance::*`
[INFO] [stderr]   --> src/core/mod.rs:16:9
[INFO] [stderr]    |
[INFO] [stderr] 16 | pub use feature_importance::*;
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `warn`
[INFO] [stderr]   --> src/main.rs:21:28
[INFO] [stderr]    |
[INFO] [stderr] 21 | use tracing::{error, info, warn};
[INFO] [stderr]    |                            ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `AppConfig`, `evaluate_by_cause`, and `evaluate_model_with_calibration`
[INFO] [stderr]   --> src/main.rs:26:14
[INFO] [stderr]    |
[INFO] [stderr] 26 |     config::{AppConfig, ModalityConfig, Settings},
[INFO] [stderr]    |              ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 38 |             evaluate_by_cause, evaluate_model_with_calibration, train_model_with_weights,
[INFO] [stderr]    |             ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]   --> src/config.rs:29:12
[INFO] [stderr]    |
[INFO] [stderr] 27 | impl Settings {
[INFO] [stderr]    | ------------- associated function in this implementation
[INFO] [stderr] 28 |     /// Creates a new builder for constructing a `Settings` instance.
[INFO] [stderr] 29 |     pub fn new() -> SettingsBuilder {
[INFO] [stderr]    |            ^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: struct `SettingsBuilder` is never constructed
[INFO] [stderr]    --> src/config.rs:256:12
[INFO] [stderr]     |
[INFO] [stderr] 256 | pub struct SettingsBuilder {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: multiple methods are never used
[INFO] [stderr]    --> src/config.rs:270:12
[INFO] [stderr]     |
[INFO] [stderr] 268 | impl SettingsBuilder {
[INFO] [stderr]     | -------------------- methods in this implementation
[INFO] [stderr] 269 |     /// Sets the data directory. Default: "datasets".
[INFO] [stderr] 270 |     pub fn data_dir(mut self, data_dir: impl Into<PathBuf>) -> Self {
[INFO] [stderr]     |            ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 276 |     pub fn patient_id_column(mut self, patient_id_column: impl Into<String>) -> Self {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 282 |     pub fn epochs(mut self, epochs: usize) -> Self {
[INFO] [stderr]     |            ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 288 |     pub fn batch_size(mut self, batch_size: usize) -> Self {
[INFO] [stderr]     |            ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 294 |     pub fn learning_rate(mut self, learning_rate: f32) -> Self {
[INFO] [stderr]     |            ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 300 |     pub fn tabular_hidden_sizes(mut self, tabular_hidden_sizes: Vec<usize>) -> Self {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 306 |     pub fn temporal_hidden_size(mut self, temporal_hidden_size: usize) -> Self {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 312 |     pub fn text_embedding_dim(mut self, text_embedding_dim: usize) -> Self {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 318 |     pub fn modality_config(mut self, modality_config: ModalityConfig) -> Self {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 325 |     pub fn build(self) -> Settings {
[INFO] [stderr]     |            ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: static `SETTINGS` is never used
[INFO] [stderr]    --> src/config.rs:342:12
[INFO] [stderr]     |
[INFO] [stderr] 342 | pub static SETTINGS: LazyLock<Settings> = LazyLock::new(|| SettingsBuilder::default().build());
[INFO] [stderr]     |            ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `tabular_output_size`, `temporal_output_size`, `text_output_size`, and `image_output_size` are never read
[INFO] [stderr]    --> src/core/fusion.rs:106:5
[INFO] [stderr]     |
[INFO] [stderr]  77 | pub struct LateFusionNet {
[INFO] [stderr]     |            ------------- fields in this struct
[INFO] [stderr] ...
[INFO] [stderr] 106 |     tabular_output_size: usize,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 107 |     temporal_output_size: usize,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 108 |     text_output_size: usize,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^
[INFO] [stderr] 109 |     image_output_size: usize,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `LateFusionNet` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: methods `config`, `is_enabled`, `load`, and `set_all_parameters` are never used
[INFO] [stderr]    --> src/core/fusion.rs:332:12
[INFO] [stderr]     |
[INFO] [stderr] 112 | impl LateFusionNet {
[INFO] [stderr]     | ------------------ methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 332 |     pub fn config(&self) -> &ModalityConfig {
[INFO] [stderr]     |            ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 337 |     pub fn is_enabled(&self, modality: &str) -> bool {
[INFO] [stderr]     |            ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 419 |     pub fn load(&mut self, path: &str) -> AppResult<()> {
[INFO] [stderr]     |            ^^^^
[INFO] [stderr] ...
[INFO] [stderr] 512 |     fn set_all_parameters(&mut self, params: &[f32]) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `set_parameters` is never used
[INFO] [stderr]   --> src/core/layer.rs:42:12
[INFO] [stderr]    |
[INFO] [stderr] 13 | impl Layer {
[INFO] [stderr]    | ---------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 42 |     pub fn set_parameters(&mut self, params: &[f32]) -> Result<usize, Box<dyn std::error::Error>> {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `set_parameters`, `input_size`, and `output_size` are never used
[INFO] [stderr]   --> src/core/network.rs:65:12
[INFO] [stderr]    |
[INFO] [stderr] 16 | impl Network {
[INFO] [stderr]    | ------------ methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 65 |     pub fn set_parameters(&mut self, params: &[f32]) -> Result<usize, Box<dyn std::error::Error>> {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 75 |     pub fn input_size(&self) -> usize {
[INFO] [stderr]    |            ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 84 |     pub fn output_size(&self) -> usize {
[INFO] [stderr]    |            ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variant `I8` is never constructed
[INFO] [stderr]  --> src/core/neuron.rs:7:5
[INFO] [stderr]   |
[INFO] [stderr] 5 | pub enum WeightType {
[INFO] [stderr]   |          ---------- variant in this enum
[INFO] [stderr] 6 |     F32(Vec<f32>),
[INFO] [stderr] 7 |     I8 {
[INFO] [stderr]   |     ^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `WeightType` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: method `set_parameters` is never used
[INFO] [stderr]    --> src/core/neuron.rs:107:12
[INFO] [stderr]     |
[INFO] [stderr]  64 | impl Neuron {
[INFO] [stderr]     | ----------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 107 |     pub fn set_parameters(&mut self, params: &[f32]) -> Result<usize, Box<dyn std::error::Error>> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `set_parameters` is never used
[INFO] [stderr]   --> src/core/recurrent_layers.rs:70:12
[INFO] [stderr]    |
[INFO] [stderr] 31 | impl LSTMLayer {
[INFO] [stderr]    | -------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 70 |     pub fn set_parameters(&mut self, params: &[f32]) -> Result<usize, Box<dyn std::error::Error>> {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `calculate_permutation_importance` is never used
[INFO] [stderr]  --> src/core/feature_importance.rs:9:8
[INFO] [stderr]   |
[INFO] [stderr] 9 | pub fn calculate_permutation_importance<I, O>(
[INFO] [stderr]   |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `channel_means` and `channel_stds` are never read
[INFO] [stderr]   --> src/data/image.rs:25:9
[INFO] [stderr]    |
[INFO] [stderr] 14 | pub struct ImageData {
[INFO] [stderr]    |            --------- fields in this struct
[INFO] [stderr] ...
[INFO] [stderr] 25 |     pub channel_means: Vec<f32>,
[INFO] [stderr]    |         ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 28 |     pub channel_stds: Vec<f32>,
[INFO] [stderr]    |         ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new` and `preprocess_image` are never used
[INFO] [stderr]    --> src/data/image.rs:36:12
[INFO] [stderr]     |
[INFO] [stderr]  34 | impl ImageData {
[INFO] [stderr]     | -------------- associated items in this implementation
[INFO] [stderr]  35 |     /// Create a new empty ImageData instance
[INFO] [stderr]  36 |     pub fn new() -> Self {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 178 |     pub fn preprocess_image<P: AsRef<Path>>(&self, path: P) -> io::Result<Array3<f32>> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `is_empty` is never used
[INFO] [stderr]   --> src/data/loader.rs:25:8
[INFO] [stderr]    |
[INFO] [stderr] 14 | pub trait DataLoader<T> {
[INFO] [stderr]    |           ---------- method in this trait
[INFO] [stderr] ...
[INFO] [stderr] 25 |     fn is_empty(&self) -> bool {
[INFO] [stderr]    |        ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `load_image_data` is never used
[INFO] [stderr]    --> src/data/loader.rs:539:8
[INFO] [stderr]     |
[INFO] [stderr] 539 | pub fn load_image_data<P: AsRef<Path>>(dir_path: P) -> io::Result<ImageData> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `feature_names` and `categorical_features` are never read
[INFO] [stderr]   --> src/data/tabular.rs:19:9
[INFO] [stderr]    |
[INFO] [stderr] 14 | pub struct TabularData {
[INFO] [stderr]    |            ----------- fields in this struct
[INFO] [stderr] ...
[INFO] [stderr] 19 |     pub feature_names: Vec<String>,
[INFO] [stderr]    |         ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 28 |     pub categorical_features: Vec<String>,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new` and `preprocess_row` are never used
[INFO] [stderr]    --> src/data/tabular.rs:36:12
[INFO] [stderr]     |
[INFO] [stderr]  34 | impl TabularData {
[INFO] [stderr]     | ---------------- associated items in this implementation
[INFO] [stderr]  35 |     /// Create a new empty TabularData instance
[INFO] [stderr]  36 |     pub fn new() -> Self {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 280 |     pub fn preprocess_row(&self, row: &[String]) -> Vec<f32> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `max_seq_length` is never read
[INFO] [stderr]   --> src/data/temporal.rs:25:9
[INFO] [stderr]    |
[INFO] [stderr] 14 | pub struct TemporalData {
[INFO] [stderr]    |            ------------ field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 25 |     pub max_seq_length: usize,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new`, `from_csv_files`, `pad_sequences`, and `preprocess_sequence` are never used
[INFO] [stderr]    --> src/data/temporal.rs:33:12
[INFO] [stderr]     |
[INFO] [stderr]  31 | impl TemporalData {
[INFO] [stderr]     | ----------------- associated items in this implementation
[INFO] [stderr]  32 |     /// Create a new empty TemporalData instance
[INFO] [stderr]  33 |     pub fn new() -> Self {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] ...
[INFO] [stderr]  52 |     pub fn from_csv_files<P: AsRef<Path>>(
[INFO] [stderr]     |            ^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 430 |     pub fn pad_sequences(&mut self) {
[INFO] [stderr]     |            ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 454 |     pub fn preprocess_sequence(&self, sequence: Vec<Vec<f32>>) -> Vec<Vec<f32>> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new`, `from_files`, `pad_sequences`, and `truncate_sequences` are never used
[INFO] [stderr]    --> src/data/text.rs:35:12
[INFO] [stderr]     |
[INFO] [stderr]  33 | impl TextData {
[INFO] [stderr]     | ------------- associated items in this implementation
[INFO] [stderr]  34 |     /// Create a new empty TextData instance
[INFO] [stderr]  35 |     pub fn new() -> Self {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] ...
[INFO] [stderr]  54 |     pub fn from_files<P: AsRef<Path>>(paths: &[P], max_vocab_size: usize) -> io::Result<Self> {
[INFO] [stderr]     |            ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 174 |     pub fn pad_sequences(&mut self) {
[INFO] [stderr]     |            ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 184 |     pub fn truncate_sequences(&mut self, max_length: usize) {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `set_parameters` is never used
[INFO] [stderr]   --> src/models/image.rs:90:12
[INFO] [stderr]    |
[INFO] [stderr] 40 | impl Conv2DLayer {
[INFO] [stderr]    | ---------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 90 |     pub fn set_parameters(&mut self, params: &[f32]) -> Result<usize, Box<dyn std::error::Error>> {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `set_parameters` is never used
[INFO] [stderr]    --> src/models/image.rs:555:12
[INFO] [stderr]     |
[INFO] [stderr] 505 | impl ImageNet {
[INFO] [stderr]     | ------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 555 |     pub fn set_parameters(&mut self, params: &[f32]) -> Result<usize, Box<dyn std::error::Error>> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `set_parameters` and `output_size` are never used
[INFO] [stderr]   --> src/models/tabular.rs:36:12
[INFO] [stderr]    |
[INFO] [stderr] 12 | impl TabularNet {
[INFO] [stderr]    | --------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 36 |     pub fn set_parameters(&mut self, params: &[f32]) -> Result<usize, Box<dyn std::error::Error>> {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 41 |     pub fn output_size(&self) -> usize {
[INFO] [stderr]    |            ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `set_parameters` is never used
[INFO] [stderr]   --> src/models/temporal.rs:79:12
[INFO] [stderr]    |
[INFO] [stderr] 38 | impl SimpleRnnCell {
[INFO] [stderr]    | ------------------ method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 79 |     pub fn set_parameters(&mut self, params: &[f32]) -> Result<usize, Box<dyn std::error::Error>> {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `set_parameters` is never used
[INFO] [stderr]    --> src/models/temporal.rs:180:12
[INFO] [stderr]     |
[INFO] [stderr] 163 | impl TemporalNet {
[INFO] [stderr]     | ---------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 180 |     pub fn set_parameters(&mut self, params: &[f32]) -> Result<usize, Box<dyn std::error::Error>> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `set_parameters` is never used
[INFO] [stderr]   --> src/models/text.rs:56:12
[INFO] [stderr]    |
[INFO] [stderr] 26 | impl EmbeddingLayer {
[INFO] [stderr]    | ------------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 56 |     pub fn set_parameters(&mut self, params: &[f32]) -> Result<usize, Box<dyn std::error::Error>> {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `set_parameters`, `build_vocab`, `tokenize`, and `output_size` are never used
[INFO] [stderr]    --> src/models/text.rs:135:12
[INFO] [stderr]     |
[INFO] [stderr] 107 | impl TextNet {
[INFO] [stderr]     | ------------ associated items in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 135 |     pub fn set_parameters(&mut self, params: &[f32]) -> Result<usize, Box<dyn std::error::Error>> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 150 |     pub fn build_vocab(texts: &[String], max_vocab_size: usize) -> HashMap<String, usize> {
[INFO] [stderr]     |            ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 186 |     pub fn tokenize(&self, text: &str) -> Vec<usize> {
[INFO] [stderr]     |            ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 196 |     pub fn output_size(&self) -> usize {
[INFO] [stderr]     |            ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `apply_weight_to_loss` is never used
[INFO] [stderr]   --> src/training/balancing.rs:92:8
[INFO] [stderr]    |
[INFO] [stderr] 92 | pub fn apply_weight_to_loss(loss: f32, weight: f32) -> f32 {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `apply_weight_to_gradient` is never used
[INFO] [stderr]    --> src/training/balancing.rs:104:8
[INFO] [stderr]     |
[INFO] [stderr] 104 | pub fn apply_weight_to_gradient(grad: f32, weight: f32) -> f32 {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `generate_synthetic_samples` and `generate_synthetic_tabular` are never used
[INFO] [stderr]    --> src/training/balancing.rs:189:12
[INFO] [stderr]     |
[INFO] [stderr] 164 | impl SmoteSynthesizer {
[INFO] [stderr]     | --------------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 189 |     pub fn generate_synthetic_samples(
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 254 |     fn generate_synthetic_tabular(
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `binary_cross_entropy` is never used
[INFO] [stderr]   --> src/training/loss.rs:15:8
[INFO] [stderr]    |
[INFO] [stderr] 15 | pub fn binary_cross_entropy(prediction: f32, target: f32) -> f32 {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `binary_cross_entropy_gradient` is never used
[INFO] [stderr]   --> src/training/loss.rs:30:8
[INFO] [stderr]    |
[INFO] [stderr] 30 | pub fn binary_cross_entropy_gradient(prediction: f32, target: f32) -> f32 {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `mean_squared_error` is never used
[INFO] [stderr]   --> src/training/loss.rs:46:8
[INFO] [stderr]    |
[INFO] [stderr] 46 | pub fn mean_squared_error(predictions: &[f32], targets: &[f32]) -> f32 {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `mean_squared_error_gradient` is never used
[INFO] [stderr]   --> src/training/loss.rs:70:8
[INFO] [stderr]    |
[INFO] [stderr] 70 | pub fn mean_squared_error_gradient(predictions: &[f32], targets: &[f32]) -> Vec<f32> {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `binary_accuracy` is never used
[INFO] [stderr]   --> src/training/loss.rs:93:8
[INFO] [stderr]    |
[INFO] [stderr] 93 | pub fn binary_accuracy(predictions: &[f32], targets: &[f32], threshold: f32) -> f32 {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `ppv`, `npv`, `sensitivity`, `specificity`, and `auroc` are never read
[INFO] [stderr]   --> src/training/metrics.rs:58:9
[INFO] [stderr]    |
[INFO] [stderr] 55 | pub struct EvaluationMetrics {
[INFO] [stderr]    |            ----------------- fields in this struct
[INFO] [stderr] ...
[INFO] [stderr] 58 |     pub ppv: f32,
[INFO] [stderr]    |         ^^^
[INFO] [stderr] 59 |     pub npv: f32,
[INFO] [stderr]    |         ^^^
[INFO] [stderr] 60 |     pub sensitivity: f32, // Also known as Recall or True Positive Rate
[INFO] [stderr]    |         ^^^^^^^^^^^
[INFO] [stderr] 61 |     pub specificity: f32, // True Negative Rate
[INFO] [stderr]    |         ^^^^^^^^^^^
[INFO] [stderr] 62 |     pub auroc: f32,
[INFO] [stderr]    |         ^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `EvaluationMetrics` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: function `evalute_auroc` is never used
[INFO] [stderr]    --> src/training/metrics.rs:120:8
[INFO] [stderr]     |
[INFO] [stderr] 120 | pub fn evalute_auroc<I, O>(
[INFO] [stderr]     |        ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `evaluate_by_cause` is never used
[INFO] [stderr]    --> src/training/training_loop.rs:261:8
[INFO] [stderr]     |
[INFO] [stderr] 261 | pub fn evaluate_by_cause(
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `initialize_weights` is never used
[INFO] [stderr]   --> src/utils/mod.rs:23:8
[INFO] [stderr]    |
[INFO] [stderr] 23 | pub fn initialize_weights(num_weights: usize) -> Vec<f64> {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variants `Config` and `ModelError` are never constructed
[INFO] [stderr]  --> src/utils/error.rs:5:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | pub enum AppError {
[INFO] [stderr]   |          -------- variants in this enum
[INFO] [stderr] 5 |     Config(String),
[INFO] [stderr]   |     ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 8 |     ModelError(String),
[INFO] [stderr]   |     ^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `AppError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: `ahuvista-nn` (test "processing_tests") generated 3 warnings (run `cargo fix --test "processing_tests" -p ahuvista-nn` to apply 3 suggestions)
[INFO] [stderr] warning: `ahuvista-nn` (bin "ahuvista-predict") generated 2 warnings (run `cargo fix --bin "ahuvista-predict" -p ahuvista-nn` to apply 2 suggestions)
[INFO] [stderr] warning: `ahuvista-nn` (test "data_tests") generated 1 warning (run `cargo fix --test "data_tests" -p ahuvista-nn` to apply 1 suggestion)
[INFO] [stderr] warning: `ahuvista-nn` (test "core_tests") generated 5 warnings (run `cargo fix --test "core_tests" -p ahuvista-nn` to apply 5 suggestions)
[INFO] [stderr] warning: `ahuvista-nn` (bin "ahuvista-train" test) generated 76 warnings (31 duplicates) (run `cargo fix --bin "ahuvista-train" -p ahuvista-nn --tests` to apply 4 suggestions)
[INFO] [stderr] warning: `ahuvista-nn` (bin "ahuvista-train") generated 76 warnings (76 duplicates)
[INFO] [stderr] warning: `ahuvista-nn` (bin "ahuvista-predict" test) generated 2 warnings (2 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.52s
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/ahuvista_nn-2fa086b112da86ee)
[INFO] [stderr]      Running unittests src/predict.rs (/opt/rustwide/target/debug/deps/ahuvista_predict-93a92bf169bd5f4e)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/ahuvista_train-d411fd3f1664226e)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/core_tests.rs (/opt/rustwide/target/debug/deps/core_tests-85400fb373a15c06)
[INFO] [stdout] 
[INFO] [stdout] running 33 tests
[INFO] [stdout] test differential_privacy_tests::test_gradient_clipping ... ok
[INFO] [stdout] test differential_privacy_tests::test_gradient_privatization ... ok
[INFO] [stdout] test differential_privacy_tests::test_privacy_engine_creation ... ok
[INFO] [stdout] test layer_tests::test_layer_parameter_management ... ok
[INFO] [stdout] test layer_tests::test_layer_forward_pass ... ok
[INFO] [stdout] test layer_tests::test_layer_creation ... ok
[INFO] [stdout] test lstm_tests::test_lstm_forward_sequence ... ok
[INFO] [stdout] test lstm_tests::test_lstm_forward_step ... ok
[INFO] [stdout] test lstm_tests::test_lstm_creation ... ok
[INFO] [stdout] test layer_tests::test_layer_gradient_operations ... ok
[INFO] [stdout] test lstm_tests::test_lstm_parameter_management ... ok
[INFO] [stdout] test lstm_tests::test_lstm_backward_sequence ... ok
[INFO] [stdout] test lstm_tests::test_lstm_state_reset ... ok
[INFO] [stdout] test network_tests::test_network_forward_pass ... ok
[INFO] [stdout] test network_tests::test_network_creation ... ok
[INFO] [stdout] test network_tests::test_network_backward_pass ... ok
[INFO] [stdout] test network_tests::test_network_parameter_management ... ok
[INFO] [stdout] test network_tests::test_network_from_layer_sizes ... ok
[INFO] [stdout] test network_tests::test_network_add_layer ... ok
[INFO] [stdout] test neuron_tests::test_neuron_forward_backward ... ok
[INFO] [stdout] test neuron_tests::test_neuron_creation ... ok
[INFO] [stdout] test neuron_tests::test_neuron_forward_pass ... ok
[INFO] [stdout] test neuron_tests::test_neuron_parameter_management ... ok
[INFO] [stdout] test neuron_tests::test_neuron_gradient_accumulation ... ok
[INFO] [stdout] test utils_tests::test_sigmoid ... ok
[INFO] [stdout] test utils_tests::test_sigmoid_derivative ... ok
[INFO] [stdout] test neuron_tests::test_neuron_gradient_descent_convergence ... ok
[INFO] [stdout] test utils_tests::test_tanh ... ok
[INFO] [stdout] test utils_tests::test_tanh_derivative ... ok
[INFO] [stdout] test layer_tests::test_layer_backward_pass ... ok
[INFO] [stdout] test differential_privacy_tests::test_privacy_engine_invalid_epsilon - should panic ... ok
[INFO] [stdout] test differential_privacy_tests::test_privacy_engine_invalid_delta - should panic ... ok
[INFO] [stdout] test network_tests::test_network_training_simple ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- network_tests::test_network_training_simple stdout ----
[INFO] [stdout] Epoch 0, Loss: 0.13499603
[INFO] [stdout] Epoch 0, Loss: 0.41341773
[INFO] [stdout] Epoch 0, Loss: 0.40304106
[INFO] [stdout] Epoch 0, Loss: 0.12600656
[INFO] [stdout] Sample gradients: [0.0079734335, 0.0070140725, 0.014513074, 0.015590876, 0.014860302]
[INFO] [stdout] All gradients sum: -0.5214305
[INFO] [stdout] Initial loss: 1.0774614
[INFO] [stdout] Sample weights: [0.4087155, -0.37277892, -0.17398685, -0.013238162, 0.17370662]
[INFO] [stdout] All weights sum: 0.01255098
[INFO] [stdout] Epoch 1, Loss: 0.23071712
[INFO] [stdout] Epoch 1, Loss: 0.27609694
[INFO] [stdout] Epoch 1, Loss: 0.2721251
[INFO] [stdout] Epoch 1, Loss: 0.22342624
[INFO] [stdout] Epoch 2, Loss: 0.25138032
[INFO] [stdout] Epoch 2, Loss: 0.25350118
[INFO] [stdout] Epoch 2, Loss: 0.25063458
[INFO] [stdout] Epoch 2, Loss: 0.24462178
[INFO] [stdout] Epoch 3, Loss: 0.2533399
[INFO] [stdout] Epoch 3, Loss: 0.2514286
[INFO] [stdout] Epoch 3, Loss: 0.24870242
[INFO] [stdout] Epoch 3, Loss: 0.24664626
[INFO] [stdout] Epoch 4, Loss: 0.25351414
[INFO] [stdout] Epoch 4, Loss: 0.25121766
[INFO] [stdout] Epoch 4, Loss: 0.24854496
[INFO] [stdout] Epoch 4, Loss: 0.24683906
[INFO] [stdout] Epoch 5, Loss: 0.25352287
[INFO] [stdout] Epoch 5, Loss: 0.25117844
[INFO] [stdout] Epoch 5, Loss: 0.24855109
[INFO] [stdout] Epoch 5, Loss: 0.24686204
[INFO] [stdout] Epoch 6, Loss: 0.25351632
[INFO] [stdout] Epoch 6, Loss: 0.25115523
[INFO] [stdout] Epoch 6, Loss: 0.24857213
[INFO] [stdout] Epoch 6, Loss: 0.24686936
[INFO] [stdout] Epoch 7, Loss: 0.25350827
[INFO] [stdout] Epoch 7, Loss: 0.25113383
[INFO] [stdout] Epoch 7, Loss: 0.24859448
[INFO] [stdout] Epoch 7, Loss: 0.24687509
[INFO] [stdout] Epoch 8, Loss: 0.25350016
[INFO] [stdout] Epoch 8, Loss: 0.2511126
[INFO] [stdout] Epoch 8, Loss: 0.24861677
[INFO] [stdout] Epoch 8, Loss: 0.24688081
[INFO] [stdout] Epoch 9, Loss: 0.25349212
[INFO] [stdout] Epoch 9, Loss: 0.2510916
[INFO] [stdout] Epoch 9, Loss: 0.24863894
[INFO] [stdout] Epoch 9, Loss: 0.2468865
[INFO] [stdout] Epoch 10, Loss: 0.25348395
[INFO] [stdout] Epoch 10, Loss: 0.2510708
[INFO] [stdout] Epoch 10, Loss: 0.24866094
[INFO] [stdout] Epoch 10, Loss: 0.24689215
[INFO] [stdout] Epoch 11, Loss: 0.25347593
[INFO] [stdout] Epoch 11, Loss: 0.25105008
[INFO] [stdout] Epoch 11, Loss: 0.24868275
[INFO] [stdout] Epoch 11, Loss: 0.24689785
[INFO] [stdout] Epoch 12, Loss: 0.2534679
[INFO] [stdout] Epoch 12, Loss: 0.25102946
[INFO] [stdout] Epoch 12, Loss: 0.24870445
[INFO] [stdout] Epoch 12, Loss: 0.24690352
[INFO] [stdout] Epoch 13, Loss: 0.25345978
[INFO] [stdout] Epoch 13, Loss: 0.25100917
[INFO] [stdout] Epoch 13, Loss: 0.24872597
[INFO] [stdout] Epoch 13, Loss: 0.24690925
[INFO] [stdout] Epoch 14, Loss: 0.2534518
[INFO] [stdout] Epoch 14, Loss: 0.25098893
[INFO] [stdout] Epoch 14, Loss: 0.24874732
[INFO] [stdout] Epoch 14, Loss: 0.246915
[INFO] [stdout] Epoch 15, Loss: 0.25344375
[INFO] [stdout] Epoch 15, Loss: 0.2509689
[INFO] [stdout] Epoch 15, Loss: 0.24876854
[INFO] [stdout] Epoch 15, Loss: 0.24692059
[INFO] [stdout] Epoch 16, Loss: 0.25343582
[INFO] [stdout] Epoch 16, Loss: 0.25094897
[INFO] [stdout] Epoch 16, Loss: 0.24878953
[INFO] [stdout] Epoch 16, Loss: 0.24692634
[INFO] [stdout] Epoch 17, Loss: 0.2534278
[INFO] [stdout] Epoch 17, Loss: 0.2509292
[INFO] [stdout] Epoch 17, Loss: 0.24881046
[INFO] [stdout] Epoch 17, Loss: 0.24693206
[INFO] [stdout] Epoch 18, Loss: 0.25341988
[INFO] [stdout] Epoch 18, Loss: 0.2509095
[INFO] [stdout] Epoch 18, Loss: 0.24883121
[INFO] [stdout] Epoch 18, Loss: 0.2469378
[INFO] [stdout] Epoch 19, Loss: 0.25341183
[INFO] [stdout] Epoch 19, Loss: 0.2508901
[INFO] [stdout] Epoch 19, Loss: 0.24885185
[INFO] [stdout] Epoch 19, Loss: 0.24694343
[INFO] [stdout] Epoch 20, Loss: 0.25340396
[INFO] [stdout] Epoch 20, Loss: 0.25087062
[INFO] [stdout] Epoch 20, Loss: 0.24887225
[INFO] [stdout] Epoch 20, Loss: 0.24694914
[INFO] [stdout] Epoch 21, Loss: 0.25339603
[INFO] [stdout] Epoch 21, Loss: 0.2508515
[INFO] [stdout] Epoch 21, Loss: 0.24889264
[INFO] [stdout] Epoch 21, Loss: 0.24695483
[INFO] [stdout] Epoch 22, Loss: 0.25338814
[INFO] [stdout] Epoch 22, Loss: 0.2508324
[INFO] [stdout] Epoch 22, Loss: 0.2489128
[INFO] [stdout] Epoch 22, Loss: 0.24696052
[INFO] [stdout] Epoch 23, Loss: 0.2533802
[INFO] [stdout] Epoch 23, Loss: 0.25081354
[INFO] [stdout] Epoch 23, Loss: 0.24893285
[INFO] [stdout] Epoch 23, Loss: 0.24696623
[INFO] [stdout] Epoch 24, Loss: 0.2533724
[INFO] [stdout] Epoch 24, Loss: 0.25079474
[INFO] [stdout] Epoch 24, Loss: 0.24895272
[INFO] [stdout] Epoch 24, Loss: 0.24697198
[INFO] [stdout] Epoch 25, Loss: 0.25336453
[INFO] [stdout] Epoch 25, Loss: 0.25077617
[INFO] [stdout] Epoch 25, Loss: 0.24897246
[INFO] [stdout] Epoch 25, Loss: 0.24697767
[INFO] [stdout] Epoch 26, Loss: 0.25335675
[INFO] [stdout] Epoch 26, Loss: 0.25075755
[INFO] [stdout] Epoch 26, Loss: 0.24899203
[INFO] [stdout] Epoch 26, Loss: 0.24698332
[INFO] [stdout] Epoch 27, Loss: 0.2533489
[INFO] [stdout] Epoch 27, Loss: 0.25073928
[INFO] [stdout] Epoch 27, Loss: 0.24901155
[INFO] [stdout] Epoch 27, Loss: 0.24698907
[INFO] [stdout] Epoch 28, Loss: 0.25334108
[INFO] [stdout] Epoch 28, Loss: 0.250721
[INFO] [stdout] Epoch 28, Loss: 0.24903087
[INFO] [stdout] Epoch 28, Loss: 0.24699467
[INFO] [stdout] Epoch 29, Loss: 0.25333327
[INFO] [stdout] Epoch 29, Loss: 0.2507029
[INFO] [stdout] Epoch 29, Loss: 0.24905016
[INFO] [stdout] Epoch 29, Loss: 0.24700041
[INFO] [stdout] Epoch 30, Loss: 0.25332555
[INFO] [stdout] Epoch 30, Loss: 0.25068486
[INFO] [stdout] Epoch 30, Loss: 0.24906918
[INFO] [stdout] Epoch 30, Loss: 0.24700616
[INFO] [stdout] Epoch 31, Loss: 0.2533178
[INFO] [stdout] Epoch 31, Loss: 0.250667
[INFO] [stdout] Epoch 31, Loss: 0.24908817
[INFO] [stdout] Epoch 31, Loss: 0.24701177
[INFO] [stdout] Epoch 32, Loss: 0.25331005
[INFO] [stdout] Epoch 32, Loss: 0.25064927
[INFO] [stdout] Epoch 32, Loss: 0.24910697
[INFO] [stdout] Epoch 32, Loss: 0.24701752
[INFO] [stdout] Epoch 33, Loss: 0.2533024
[INFO] [stdout] Epoch 33, Loss: 0.2506316
[INFO] [stdout] Epoch 33, Loss: 0.2491257
[INFO] [stdout] Epoch 33, Loss: 0.24702314
[INFO] [stdout] Epoch 34, Loss: 0.25329465
[INFO] [stdout] Epoch 34, Loss: 0.2506142
[INFO] [stdout] Epoch 34, Loss: 0.24914427
[INFO] [stdout] Epoch 34, Loss: 0.24702883
[INFO] [stdout] Epoch 35, Loss: 0.25328702
[INFO] [stdout] Epoch 35, Loss: 0.25059676
[INFO] [stdout] Epoch 35, Loss: 0.24916266
[INFO] [stdout] Epoch 35, Loss: 0.24703449
[INFO] [stdout] Epoch 36, Loss: 0.25327933
[INFO] [stdout] Epoch 36, Loss: 0.25057957
[INFO] [stdout] Epoch 36, Loss: 0.24918105
[INFO] [stdout] Epoch 36, Loss: 0.24704011
[INFO] [stdout] Epoch 37, Loss: 0.25327173
[INFO] [stdout] Epoch 37, Loss: 0.2505624
[INFO] [stdout] Epoch 37, Loss: 0.2491992
[INFO] [stdout] Epoch 37, Loss: 0.24704586
[INFO] [stdout] Epoch 38, Loss: 0.2532641
[INFO] [stdout] Epoch 38, Loss: 0.25054544
[INFO] [stdout] Epoch 38, Loss: 0.24921729
[INFO] [stdout] Epoch 38, Loss: 0.24705146
[INFO] [stdout] Epoch 39, Loss: 0.2532565
[INFO] [stdout] Epoch 39, Loss: 0.25052848
[INFO] [stdout] Epoch 39, Loss: 0.24923526
[INFO] [stdout] Epoch 39, Loss: 0.24705715
[INFO] [stdout] Epoch 40, Loss: 0.25324893
[INFO] [stdout] Epoch 40, Loss: 0.25051174
[INFO] [stdout] Epoch 40, Loss: 0.24925311
[INFO] [stdout] Epoch 40, Loss: 0.24706277
[INFO] [stdout] Epoch 41, Loss: 0.25324136
[INFO] [stdout] Epoch 41, Loss: 0.25049508
[INFO] [stdout] Epoch 41, Loss: 0.24927086
[INFO] [stdout] Epoch 41, Loss: 0.24706846
[INFO] [stdout] Epoch 42, Loss: 0.25323382
[INFO] [stdout] Epoch 42, Loss: 0.2504785
[INFO] [stdout] Epoch 42, Loss: 0.24928847
[INFO] [stdout] Epoch 42, Loss: 0.24707407
[INFO] [stdout] Epoch 43, Loss: 0.2532263
[INFO] [stdout] Epoch 43, Loss: 0.25046209
[INFO] [stdout] Epoch 43, Loss: 0.24930596
[INFO] [stdout] Epoch 43, Loss: 0.2470797
[INFO] [stdout] Epoch 44, Loss: 0.2532188
[INFO] [stdout] Epoch 44, Loss: 0.2504457
[INFO] [stdout] Epoch 44, Loss: 0.2493233
[INFO] [stdout] Epoch 44, Loss: 0.24708532
[INFO] [stdout] Epoch 45, Loss: 0.25321132
[INFO] [stdout] Epoch 45, Loss: 0.2504295
[INFO] [stdout] Epoch 45, Loss: 0.24934061
[INFO] [stdout] Epoch 45, Loss: 0.24709095
[INFO] [stdout] Epoch 46, Loss: 0.25320387
[INFO] [stdout] Epoch 46, Loss: 0.25041336
[INFO] [stdout] Epoch 46, Loss: 0.24935776
[INFO] [stdout] Epoch 46, Loss: 0.24709655
[INFO] [stdout] Epoch 47, Loss: 0.2531964
[INFO] [stdout] Epoch 47, Loss: 0.25039735
[INFO] [stdout] Epoch 47, Loss: 0.24937478
[INFO] [stdout] Epoch 47, Loss: 0.24710213
[INFO] [stdout] Epoch 48, Loss: 0.25318894
[INFO] [stdout] Epoch 48, Loss: 0.2503815
[INFO] [stdout] Epoch 48, Loss: 0.24939175
[INFO] [stdout] Epoch 48, Loss: 0.2471077
[INFO] [stdout] Epoch 49, Loss: 0.25318158
[INFO] [stdout] Epoch 49, Loss: 0.25036573
[INFO] [stdout] Epoch 49, Loss: 0.24940854
[INFO] [stdout] Epoch 49, Loss: 0.24711332
[INFO] [stdout] Epoch 50, Loss: 0.25317425
[INFO] [stdout] Epoch 50, Loss: 0.25035
[INFO] [stdout] Epoch 50, Loss: 0.2494252
[INFO] [stdout] Epoch 50, Loss: 0.24711895
[INFO] [stdout] Epoch 51, Loss: 0.2531668
[INFO] [stdout] Epoch 51, Loss: 0.25033438
[INFO] [stdout] Epoch 51, Loss: 0.24944188
[INFO] [stdout] Epoch 51, Loss: 0.2471245
[INFO] [stdout] Epoch 52, Loss: 0.2531595
[INFO] [stdout] Epoch 52, Loss: 0.25031886
[INFO] [stdout] Epoch 52, Loss: 0.24945837
[INFO] [stdout] Epoch 52, Loss: 0.24713007
[INFO] [stdout] Epoch 53, Loss: 0.2531521
[INFO] [stdout] Epoch 53, Loss: 0.2503036
[INFO] [stdout] Epoch 53, Loss: 0.24947481
[INFO] [stdout] Epoch 53, Loss: 0.24713558
[INFO] [stdout] Epoch 54, Loss: 0.25314486
[INFO] [stdout] Epoch 54, Loss: 0.25028828
[INFO] [stdout] Epoch 54, Loss: 0.24949105
[INFO] [stdout] Epoch 54, Loss: 0.24714121
[INFO] [stdout] Epoch 55, Loss: 0.25313753
[INFO] [stdout] Epoch 55, Loss: 0.25027308
[INFO] [stdout] Epoch 55, Loss: 0.24950725
[INFO] [stdout] Epoch 55, Loss: 0.24714677
[INFO] [stdout] Epoch 56, Loss: 0.2531303
[INFO] [stdout] Epoch 56, Loss: 0.25025803
[INFO] [stdout] Epoch 56, Loss: 0.24952333
[INFO] [stdout] Epoch 56, Loss: 0.24715225
[INFO] [stdout] Epoch 57, Loss: 0.25312302
[INFO] [stdout] Epoch 57, Loss: 0.250243
[INFO] [stdout] Epoch 57, Loss: 0.24953935
[INFO] [stdout] Epoch 57, Loss: 0.24715783
[INFO] [stdout] Epoch 58, Loss: 0.25311583
[INFO] [stdout] Epoch 58, Loss: 0.2502281
[INFO] [stdout] Epoch 58, Loss: 0.24955519
[INFO] [stdout] Epoch 58, Loss: 0.24716334
[INFO] [stdout] Epoch 59, Loss: 0.25310856
[INFO] [stdout] Epoch 59, Loss: 0.25021344
[INFO] [stdout] Epoch 59, Loss: 0.24957103
[INFO] [stdout] Epoch 59, Loss: 0.24716885
[INFO] [stdout] Epoch 60, Loss: 0.25310138
[INFO] [stdout] Epoch 60, Loss: 0.25019863
[INFO] [stdout] Epoch 60, Loss: 0.24958669
[INFO] [stdout] Epoch 60, Loss: 0.24717437
[INFO] [stdout] Epoch 61, Loss: 0.25309423
[INFO] [stdout] Epoch 61, Loss: 0.25018403
[INFO] [stdout] Epoch 61, Loss: 0.2496023
[INFO] [stdout] Epoch 61, Loss: 0.24717988
[INFO] [stdout] Epoch 62, Loss: 0.25308704
[INFO] [stdout] Epoch 62, Loss: 0.2501696
[INFO] [stdout] Epoch 62, Loss: 0.24961784
[INFO] [stdout] Epoch 62, Loss: 0.24718527
[INFO] [stdout] Epoch 63, Loss: 0.25307995
[INFO] [stdout] Epoch 63, Loss: 0.25015512
[INFO] [stdout] Epoch 63, Loss: 0.24963315
[INFO] [stdout] Epoch 63, Loss: 0.24719085
[INFO] [stdout] Epoch 64, Loss: 0.25307283
[INFO] [stdout] Epoch 64, Loss: 0.25014082
[INFO] [stdout] Epoch 64, Loss: 0.24964851
[INFO] [stdout] Epoch 64, Loss: 0.2471963
[INFO] [stdout] Epoch 65, Loss: 0.25306574
[INFO] [stdout] Epoch 65, Loss: 0.25012663
[INFO] [stdout] Epoch 65, Loss: 0.24966371
[INFO] [stdout] Epoch 65, Loss: 0.24720177
[INFO] [stdout] Epoch 66, Loss: 0.25305867
[INFO] [stdout] Epoch 66, Loss: 0.2501124
[INFO] [stdout] Epoch 66, Loss: 0.24967884
[INFO] [stdout] Epoch 66, Loss: 0.24720716
[INFO] [stdout] Epoch 67, Loss: 0.2530516
[INFO] [stdout] Epoch 67, Loss: 0.25009835
[INFO] [stdout] Epoch 67, Loss: 0.24969384
[INFO] [stdout] Epoch 67, Loss: 0.24721262
[INFO] [stdout] Epoch 68, Loss: 0.25304458
[INFO] [stdout] Epoch 68, Loss: 0.2500844
[INFO] [stdout] Epoch 68, Loss: 0.2497088
[INFO] [stdout] Epoch 68, Loss: 0.24721807
[INFO] [stdout] Epoch 69, Loss: 0.25303757
[INFO] [stdout] Epoch 69, Loss: 0.25007057
[INFO] [stdout] Epoch 69, Loss: 0.24972363
[INFO] [stdout] Epoch 69, Loss: 0.24722347
[INFO] [stdout] Epoch 70, Loss: 0.25303054
[INFO] [stdout] Epoch 70, Loss: 0.25005674
[INFO] [stdout] Epoch 70, Loss: 0.24973841
[INFO] [stdout] Epoch 70, Loss: 0.24722886
[INFO] [stdout] Epoch 71, Loss: 0.25302365
[INFO] [stdout] Epoch 71, Loss: 0.25004297
[INFO] [stdout] Epoch 71, Loss: 0.249753
[INFO] [stdout] Epoch 71, Loss: 0.24723431
[INFO] [stdout] Epoch 72, Loss: 0.25301665
[INFO] [stdout] Epoch 72, Loss: 0.25002939
[INFO] [stdout] Epoch 72, Loss: 0.2497676
[INFO] [stdout] Epoch 72, Loss: 0.24723965
[INFO] [stdout] Epoch 73, Loss: 0.25300968
[INFO] [stdout] Epoch 73, Loss: 0.25001585
[INFO] [stdout] Epoch 73, Loss: 0.24978207
[INFO] [stdout] Epoch 73, Loss: 0.24724504
[INFO] [stdout] Epoch 74, Loss: 0.25300285
[INFO] [stdout] Epoch 74, Loss: 0.25000238
[INFO] [stdout] Epoch 74, Loss: 0.24979655
[INFO] [stdout] Epoch 74, Loss: 0.24725044
[INFO] [stdout] Epoch 75, Loss: 0.25299594
[INFO] [stdout] Epoch 75, Loss: 0.24998897
[INFO] [stdout] Epoch 75, Loss: 0.24981084
[INFO] [stdout] Epoch 75, Loss: 0.24725583
[INFO] [stdout] Epoch 76, Loss: 0.25298905
[INFO] [stdout] Epoch 76, Loss: 0.24997568
[INFO] [stdout] Epoch 76, Loss: 0.24982503
[INFO] [stdout] Epoch 76, Loss: 0.24726117
[INFO] [stdout] Epoch 77, Loss: 0.25298223
[INFO] [stdout] Epoch 77, Loss: 0.24996251
[INFO] [stdout] Epoch 77, Loss: 0.24983922
[INFO] [stdout] Epoch 77, Loss: 0.2472665
[INFO] [stdout] Epoch 78, Loss: 0.25297537
[INFO] [stdout] Epoch 78, Loss: 0.2499494
[INFO] [stdout] Epoch 78, Loss: 0.24985327
[INFO] [stdout] Epoch 78, Loss: 0.24727178
[INFO] [stdout] Epoch 79, Loss: 0.25296855
[INFO] [stdout] Epoch 79, Loss: 0.24993628
[INFO] [stdout] Epoch 79, Loss: 0.24986722
[INFO] [stdout] Epoch 79, Loss: 0.24727717
[INFO] [stdout] Epoch 80, Loss: 0.25296178
[INFO] [stdout] Epoch 80, Loss: 0.24992335
[INFO] [stdout] Epoch 80, Loss: 0.24988116
[INFO] [stdout] Epoch 80, Loss: 0.24728245
[INFO] [stdout] Epoch 81, Loss: 0.25295505
[INFO] [stdout] Epoch 81, Loss: 0.24991043
[INFO] [stdout] Epoch 81, Loss: 0.24989499
[INFO] [stdout] Epoch 81, Loss: 0.24728772
[INFO] [stdout] Epoch 82, Loss: 0.25294828
[INFO] [stdout] Epoch 82, Loss: 0.24989761
[INFO] [stdout] Epoch 82, Loss: 0.2499087
[INFO] [stdout] Epoch 82, Loss: 0.247293
[INFO] [stdout] Epoch 83, Loss: 0.25294158
[INFO] [stdout] Epoch 83, Loss: 0.24988492
[INFO] [stdout] Epoch 83, Loss: 0.24992234
[INFO] [stdout] Epoch 83, Loss: 0.24729829
[INFO] [stdout] Epoch 84, Loss: 0.25293484
[INFO] [stdout] Epoch 84, Loss: 0.24987216
[INFO] [stdout] Epoch 84, Loss: 0.24993593
[INFO] [stdout] Epoch 84, Loss: 0.24730356
[INFO] [stdout] Epoch 85, Loss: 0.25292814
[INFO] [stdout] Epoch 85, Loss: 0.24985959
[INFO] [stdout] Epoch 85, Loss: 0.2499494
[INFO] [stdout] Epoch 85, Loss: 0.24730884
[INFO] [stdout] Epoch 86, Loss: 0.2529215
[INFO] [stdout] Epoch 86, Loss: 0.24984708
[INFO] [stdout] Epoch 86, Loss: 0.2499628
[INFO] [stdout] Epoch 86, Loss: 0.24731411
[INFO] [stdout] Epoch 87, Loss: 0.25291482
[INFO] [stdout] Epoch 87, Loss: 0.24983469
[INFO] [stdout] Epoch 87, Loss: 0.24997616
[INFO] [stdout] Epoch 87, Loss: 0.24731927
[INFO] [stdout] Epoch 88, Loss: 0.25290823
[INFO] [stdout] Epoch 88, Loss: 0.24982223
[INFO] [stdout] Epoch 88, Loss: 0.24998939
[INFO] [stdout] Epoch 88, Loss: 0.24732457
[INFO] [stdout] Epoch 89, Loss: 0.25290158
[INFO] [stdout] Epoch 89, Loss: 0.24981001
[INFO] [stdout] Epoch 89, Loss: 0.25000262
[INFO] [stdout] Epoch 89, Loss: 0.24732973
[INFO] [stdout] Epoch 90, Loss: 0.25289506
[INFO] [stdout] Epoch 90, Loss: 0.24979775
[INFO] [stdout] Epoch 90, Loss: 0.25001574
[INFO] [stdout] Epoch 90, Loss: 0.24733494
[INFO] [stdout] Epoch 91, Loss: 0.25288844
[INFO] [stdout] Epoch 91, Loss: 0.24978559
[INFO] [stdout] Epoch 91, Loss: 0.2500288
[INFO] [stdout] Epoch 91, Loss: 0.24734004
[INFO] [stdout] Epoch 92, Loss: 0.2528819
[INFO] [stdout] Epoch 92, Loss: 0.24977349
[INFO] [stdout] Epoch 92, Loss: 0.25004172
[INFO] [stdout] Epoch 92, Loss: 0.24734531
[INFO] [stdout] Epoch 93, Loss: 0.2528754
[INFO] [stdout] Epoch 93, Loss: 0.24976152
[INFO] [stdout] Epoch 93, Loss: 0.2500546
[INFO] [stdout] Epoch 93, Loss: 0.24735042
[INFO] [stdout] Epoch 94, Loss: 0.25286892
[INFO] [stdout] Epoch 94, Loss: 0.24974954
[INFO] [stdout] Epoch 94, Loss: 0.2500674
[INFO] [stdout] Epoch 94, Loss: 0.24735564
[INFO] [stdout] Epoch 95, Loss: 0.25286242
[INFO] [stdout] Epoch 95, Loss: 0.2497377
[INFO] [stdout] Epoch 95, Loss: 0.25008017
[INFO] [stdout] Epoch 95, Loss: 0.24736068
[INFO] [stdout] Epoch 96, Loss: 0.25285596
[INFO] [stdout] Epoch 96, Loss: 0.24972583
[INFO] [stdout] Epoch 96, Loss: 0.25009286
[INFO] [stdout] Epoch 96, Loss: 0.24736586
[INFO] [stdout] Epoch 97, Loss: 0.2528495
[INFO] [stdout] Epoch 97, Loss: 0.24971409
[INFO] [stdout] Epoch 97, Loss: 0.25010538
[INFO] [stdout] Epoch 97, Loss: 0.24737102
[INFO] [stdout] Epoch 98, Loss: 0.25284308
[INFO] [stdout] Epoch 98, Loss: 0.24970242
[INFO] [stdout] Epoch 98, Loss: 0.2501179
[INFO] [stdout] Epoch 98, Loss: 0.24737605
[INFO] [stdout] Epoch 99, Loss: 0.25283664
[INFO] [stdout] Epoch 99, Loss: 0.24969086
[INFO] [stdout] Epoch 99, Loss: 0.25013044
[INFO] [stdout] Epoch 99, Loss: 0.2473811
[INFO] [stdout] Epoch 100, Loss: 0.2528303
[INFO] [stdout] Epoch 100, Loss: 0.24967931
[INFO] [stdout] Epoch 100, Loss: 0.25014284
[INFO] [stdout] Epoch 100, Loss: 0.24738626
[INFO] [stdout] Epoch 101, Loss: 0.25282395
[INFO] [stdout] Epoch 101, Loss: 0.24966781
[INFO] [stdout] Epoch 101, Loss: 0.25015506
[INFO] [stdout] Epoch 101, Loss: 0.24739133
[INFO] [stdout] Epoch 102, Loss: 0.25281754
[INFO] [stdout] Epoch 102, Loss: 0.24965644
[INFO] [stdout] Epoch 102, Loss: 0.2501674
[INFO] [stdout] Epoch 102, Loss: 0.24739636
[INFO] [stdout] Epoch 103, Loss: 0.25281125
[INFO] [stdout] Epoch 103, Loss: 0.24964505
[INFO] [stdout] Epoch 103, Loss: 0.25017956
[INFO] [stdout] Epoch 103, Loss: 0.24740142
[INFO] [stdout] Epoch 104, Loss: 0.25280496
[INFO] [stdout] Epoch 104, Loss: 0.2496338
[INFO] [stdout] Epoch 104, Loss: 0.25019166
[INFO] [stdout] Epoch 104, Loss: 0.24740645
[INFO] [stdout] Epoch 105, Loss: 0.25279865
[INFO] [stdout] Epoch 105, Loss: 0.24962255
[INFO] [stdout] Epoch 105, Loss: 0.25020364
[INFO] [stdout] Epoch 105, Loss: 0.24741149
[INFO] [stdout] Epoch 106, Loss: 0.25279236
[INFO] [stdout] Epoch 106, Loss: 0.24961147
[INFO] [stdout] Epoch 106, Loss: 0.2502157
[INFO] [stdout] Epoch 106, Loss: 0.24741644
[INFO] [stdout] Epoch 107, Loss: 0.2527862
[INFO] [stdout] Epoch 107, Loss: 0.2496004
[INFO] [stdout] Epoch 107, Loss: 0.25022763
[INFO] [stdout] Epoch 107, Loss: 0.24742143
[INFO] [stdout] Epoch 108, Loss: 0.2527799
[INFO] [stdout] Epoch 108, Loss: 0.24958931
[INFO] [stdout] Epoch 108, Loss: 0.25023955
[INFO] [stdout] Epoch 108, Loss: 0.2474264
[INFO] [stdout] Epoch 109, Loss: 0.25277373
[INFO] [stdout] Epoch 109, Loss: 0.24957836
[INFO] [stdout] Epoch 109, Loss: 0.25025123
[INFO] [stdout] Epoch 109, Loss: 0.24743138
[INFO] [stdout] Epoch 110, Loss: 0.25276756
[INFO] [stdout] Epoch 110, Loss: 0.24956746
[INFO] [stdout] Epoch 110, Loss: 0.25026304
[INFO] [stdout] Epoch 110, Loss: 0.24743639
[INFO] [stdout] Epoch 111, Loss: 0.25276142
[INFO] [stdout] Epoch 111, Loss: 0.2495565
[INFO] [stdout] Epoch 111, Loss: 0.25027463
[INFO] [stdout] Epoch 111, Loss: 0.24744132
[INFO] [stdout] Epoch 112, Loss: 0.2527552
[INFO] [stdout] Epoch 112, Loss: 0.24954578
[INFO] [stdout] Epoch 112, Loss: 0.2502863
[INFO] [stdout] Epoch 112, Loss: 0.24744624
[INFO] [stdout] Epoch 113, Loss: 0.25274915
[INFO] [stdout] Epoch 113, Loss: 0.24953507
[INFO] [stdout] Epoch 113, Loss: 0.25029776
[INFO] [stdout] Epoch 113, Loss: 0.24745116
[INFO] [stdout] Epoch 114, Loss: 0.25274304
[INFO] [stdout] Epoch 114, Loss: 0.24952434
[INFO] [stdout] Epoch 114, Loss: 0.25030926
[INFO] [stdout] Epoch 114, Loss: 0.24745606
[INFO] [stdout] Epoch 115, Loss: 0.25273693
[INFO] [stdout] Epoch 115, Loss: 0.2495138
[INFO] [stdout] Epoch 115, Loss: 0.25032064
[INFO] [stdout] Epoch 115, Loss: 0.24746092
[INFO] [stdout] Epoch 116, Loss: 0.25273088
[INFO] [stdout] Epoch 116, Loss: 0.24950327
[INFO] [stdout] Epoch 116, Loss: 0.250332
[INFO] [stdout] Epoch 116, Loss: 0.24746577
[INFO] [stdout] Epoch 117, Loss: 0.25272483
[INFO] [stdout] Epoch 117, Loss: 0.24949272
[INFO] [stdout] Epoch 117, Loss: 0.25034332
[INFO] [stdout] Epoch 117, Loss: 0.24747068
[INFO] [stdout] Epoch 118, Loss: 0.25271878
[INFO] [stdout] Epoch 118, Loss: 0.24948224
[INFO] [stdout] Epoch 118, Loss: 0.25035453
[INFO] [stdout] Epoch 118, Loss: 0.24747553
[INFO] [stdout] Epoch 119, Loss: 0.25271285
[INFO] [stdout] Epoch 119, Loss: 0.24947189
[INFO] [stdout] Epoch 119, Loss: 0.25036573
[INFO] [stdout] Epoch 119, Loss: 0.24748039
[INFO] [stdout] Epoch 120, Loss: 0.25270686
[INFO] [stdout] Epoch 120, Loss: 0.24946152
[INFO] [stdout] Epoch 120, Loss: 0.2503768
[INFO] [stdout] Epoch 120, Loss: 0.24748524
[INFO] [stdout] Epoch 121, Loss: 0.25270084
[INFO] [stdout] Epoch 121, Loss: 0.24945128
[INFO] [stdout] Epoch 121, Loss: 0.25038788
[INFO] [stdout] Epoch 121, Loss: 0.24749003
[INFO] [stdout] Epoch 122, Loss: 0.2526949
[INFO] [stdout] Epoch 122, Loss: 0.24944104
[INFO] [stdout] Epoch 122, Loss: 0.25039878
[INFO] [stdout] Epoch 122, Loss: 0.24749483
[INFO] [stdout] Epoch 123, Loss: 0.25268897
[INFO] [stdout] Epoch 123, Loss: 0.24943087
[INFO] [stdout] Epoch 123, Loss: 0.25040978
[INFO] [stdout] Epoch 123, Loss: 0.24749967
[INFO] [stdout] Epoch 124, Loss: 0.25268304
[INFO] [stdout] Epoch 124, Loss: 0.2494208
[INFO] [stdout] Epoch 124, Loss: 0.25042063
[INFO] [stdout] Epoch 124, Loss: 0.24750435
[INFO] [stdout] Epoch 125, Loss: 0.25267717
[INFO] [stdout] Epoch 125, Loss: 0.24941067
[INFO] [stdout] Epoch 125, Loss: 0.25043148
[INFO] [stdout] Epoch 125, Loss: 0.24750918
[INFO] [stdout] Epoch 126, Loss: 0.2526713
[INFO] [stdout] Epoch 126, Loss: 0.24940073
[INFO] [stdout] Epoch 126, Loss: 0.25044236
[INFO] [stdout] Epoch 126, Loss: 0.24751388
[INFO] [stdout] Epoch 127, Loss: 0.2526655
[INFO] [stdout] Epoch 127, Loss: 0.24939074
[INFO] [stdout] Epoch 127, Loss: 0.2504529
[INFO] [stdout] Epoch 127, Loss: 0.24751867
[INFO] [stdout] Epoch 128, Loss: 0.25265962
[INFO] [stdout] Epoch 128, Loss: 0.24938086
[INFO] [stdout] Epoch 128, Loss: 0.25046363
[INFO] [stdout] Epoch 128, Loss: 0.2475234
[INFO] [stdout] Epoch 129, Loss: 0.25265387
[INFO] [stdout] Epoch 129, Loss: 0.24937098
[INFO] [stdout] Epoch 129, Loss: 0.2504742
[INFO] [stdout] Epoch 129, Loss: 0.24752808
[INFO] [stdout] Epoch 130, Loss: 0.25264806
[INFO] [stdout] Epoch 130, Loss: 0.2493612
[INFO] [stdout] Epoch 130, Loss: 0.25048476
[INFO] [stdout] Epoch 130, Loss: 0.2475328
[INFO] [stdout] Epoch 131, Loss: 0.25264224
[INFO] [stdout] Epoch 131, Loss: 0.24935144
[INFO] [stdout] Epoch 131, Loss: 0.25049525
[INFO] [stdout] Epoch 131, Loss: 0.24753748
[INFO] [stdout] Epoch 132, Loss: 0.25263655
[INFO] [stdout] Epoch 132, Loss: 0.24934174
[INFO] [stdout] Epoch 132, Loss: 0.25050572
[INFO] [stdout] Epoch 132, Loss: 0.24754216
[INFO] [stdout] Epoch 133, Loss: 0.2526308
[INFO] [stdout] Epoch 133, Loss: 0.2493321
[INFO] [stdout] Epoch 133, Loss: 0.25051603
[INFO] [stdout] Epoch 133, Loss: 0.24754682
[INFO] [stdout] Epoch 134, Loss: 0.25262505
[INFO] [stdout] Epoch 134, Loss: 0.24932252
[INFO] [stdout] Epoch 134, Loss: 0.25052634
[INFO] [stdout] Epoch 134, Loss: 0.24755144
[INFO] [stdout] Epoch 135, Loss: 0.25261936
[INFO] [stdout] Epoch 135, Loss: 0.24931294
[INFO] [stdout] Epoch 135, Loss: 0.25053674
[INFO] [stdout] Epoch 135, Loss: 0.2475561
[INFO] [stdout] Epoch 136, Loss: 0.25261372
[INFO] [stdout] Epoch 136, Loss: 0.24930342
[INFO] [stdout] Epoch 136, Loss: 0.25054687
[INFO] [stdout] Epoch 136, Loss: 0.24756072
[INFO] [stdout] Epoch 137, Loss: 0.25260803
[INFO] [stdout] Epoch 137, Loss: 0.249294
[INFO] [stdout] Epoch 137, Loss: 0.25055712
[INFO] [stdout] Epoch 137, Loss: 0.24756533
[INFO] [stdout] Epoch 138, Loss: 0.25260246
[INFO] [stdout] Epoch 138, Loss: 0.24928454
[INFO] [stdout] Epoch 138, Loss: 0.25056717
[INFO] [stdout] Epoch 138, Loss: 0.24757001
[INFO] [stdout] Epoch 139, Loss: 0.25259677
[INFO] [stdout] Epoch 139, Loss: 0.24927525
[INFO] [stdout] Epoch 139, Loss: 0.25057724
[INFO] [stdout] Epoch 139, Loss: 0.2475745
[INFO] [stdout] Epoch 140, Loss: 0.2525912
[INFO] [stdout] Epoch 140, Loss: 0.24926591
[INFO] [stdout] Epoch 140, Loss: 0.25058722
[INFO] [stdout] Epoch 140, Loss: 0.24757911
[INFO] [stdout] Epoch 141, Loss: 0.25258562
[INFO] [stdout] Epoch 141, Loss: 0.24925663
[INFO] [stdout] Epoch 141, Loss: 0.25059724
[INFO] [stdout] Epoch 141, Loss: 0.24758366
[INFO] [stdout] Epoch 142, Loss: 0.25258
[INFO] [stdout] Epoch 142, Loss: 0.24924746
[INFO] [stdout] Epoch 142, Loss: 0.25060725
[INFO] [stdout] Epoch 142, Loss: 0.24758816
[INFO] [stdout] Epoch 143, Loss: 0.25257453
[INFO] [stdout] Epoch 143, Loss: 0.24923824
[INFO] [stdout] Epoch 143, Loss: 0.250617
[INFO] [stdout] Epoch 143, Loss: 0.24759276
[INFO] [stdout] Epoch 144, Loss: 0.25256896
[INFO] [stdout] Epoch 144, Loss: 0.24922913
[INFO] [stdout] Epoch 144, Loss: 0.2506269
[INFO] [stdout] Epoch 144, Loss: 0.24759726
[INFO] [stdout] Epoch 145, Loss: 0.25256345
[INFO] [stdout] Epoch 145, Loss: 0.24922009
[INFO] [stdout] Epoch 145, Loss: 0.25063664
[INFO] [stdout] Epoch 145, Loss: 0.24760175
[INFO] [stdout] Epoch 146, Loss: 0.252558
[INFO] [stdout] Epoch 146, Loss: 0.24921098
[INFO] [stdout] Epoch 146, Loss: 0.25064635
[INFO] [stdout] Epoch 146, Loss: 0.24760625
[INFO] [stdout] Epoch 147, Loss: 0.2525525
[INFO] [stdout] Epoch 147, Loss: 0.24920206
[INFO] [stdout] Epoch 147, Loss: 0.25065607
[INFO] [stdout] Epoch 147, Loss: 0.24761073
[INFO] [stdout] Epoch 148, Loss: 0.25254712
[INFO] [stdout] Epoch 148, Loss: 0.24919301
[INFO] [stdout] Epoch 148, Loss: 0.2506657
[INFO] [stdout] Epoch 148, Loss: 0.24761523
[INFO] [stdout] Epoch 149, Loss: 0.25254166
[INFO] [stdout] Epoch 149, Loss: 0.2491842
[INFO] [stdout] Epoch 149, Loss: 0.2506753
[INFO] [stdout] Epoch 149, Loss: 0.2476196
[INFO] [stdout] Epoch 150, Loss: 0.25253627
[INFO] [stdout] Epoch 150, Loss: 0.24917528
[INFO] [stdout] Epoch 150, Loss: 0.25068486
[INFO] [stdout] Epoch 150, Loss: 0.24762405
[INFO] [stdout] Epoch 151, Loss: 0.25253087
[INFO] [stdout] Epoch 151, Loss: 0.24916647
[INFO] [stdout] Epoch 151, Loss: 0.25069427
[INFO] [stdout] Epoch 151, Loss: 0.24762852
[INFO] [stdout] Epoch 152, Loss: 0.25252548
[INFO] [stdout] Epoch 152, Loss: 0.24915773
[INFO] [stdout] Epoch 152, Loss: 0.25070384
[INFO] [stdout] Epoch 152, Loss: 0.24763295
[INFO] [stdout] Epoch 153, Loss: 0.25252014
[INFO] [stdout] Epoch 153, Loss: 0.24914898
[INFO] [stdout] Epoch 153, Loss: 0.25071314
[INFO] [stdout] Epoch 153, Loss: 0.24763733
[INFO] [stdout] Epoch 154, Loss: 0.25251475
[INFO] [stdout] Epoch 154, Loss: 0.24914029
[INFO] [stdout] Epoch 154, Loss: 0.25072256
[INFO] [stdout] Epoch 154, Loss: 0.2476417
[INFO] [stdout] Epoch 155, Loss: 0.25250947
[INFO] [stdout] Epoch 155, Loss: 0.24913166
[INFO] [stdout] Epoch 155, Loss: 0.25073183
[INFO] [stdout] Epoch 155, Loss: 0.2476461
[INFO] [stdout] Epoch 156, Loss: 0.25250414
[INFO] [stdout] Epoch 156, Loss: 0.24912304
[INFO] [stdout] Epoch 156, Loss: 0.25074106
[INFO] [stdout] Epoch 156, Loss: 0.2476505
[INFO] [stdout] Epoch 157, Loss: 0.2524988
[INFO] [stdout] Epoch 157, Loss: 0.24911447
[INFO] [stdout] Epoch 157, Loss: 0.25075033
[INFO] [stdout] Epoch 157, Loss: 0.24765481
[INFO] [stdout] Epoch 158, Loss: 0.25249362
[INFO] [stdout] Epoch 158, Loss: 0.2491059
[INFO] [stdout] Epoch 158, Loss: 0.25075945
[INFO] [stdout] Epoch 158, Loss: 0.24765913
[INFO] [stdout] Epoch 159, Loss: 0.25248834
[INFO] [stdout] Epoch 159, Loss: 0.24909751
[INFO] [stdout] Epoch 159, Loss: 0.25076866
[INFO] [stdout] Epoch 159, Loss: 0.24766344
[INFO] [stdout] Epoch 160, Loss: 0.25248313
[INFO] [stdout] Epoch 160, Loss: 0.249089
[INFO] [stdout] Epoch 160, Loss: 0.25077772
[INFO] [stdout] Epoch 160, Loss: 0.24766777
[INFO] [stdout] Epoch 161, Loss: 0.2524779
[INFO] [stdout] Epoch 161, Loss: 0.24908061
[INFO] [stdout] Epoch 161, Loss: 0.25078675
[INFO] [stdout] Epoch 161, Loss: 0.24767207
[INFO] [stdout] Epoch 162, Loss: 0.2524727
[INFO] [stdout] Epoch 162, Loss: 0.24907222
[INFO] [stdout] Epoch 162, Loss: 0.25079575
[INFO] [stdout] Epoch 162, Loss: 0.24767637
[INFO] [stdout] Epoch 163, Loss: 0.25246748
[INFO] [stdout] Epoch 163, Loss: 0.24906395
[INFO] [stdout] Epoch 163, Loss: 0.25080484
[INFO] [stdout] Epoch 163, Loss: 0.24768059
[INFO] [stdout] Epoch 164, Loss: 0.2524624
[INFO] [stdout] Epoch 164, Loss: 0.24905562
[INFO] [stdout] Epoch 164, Loss: 0.25081366
[INFO] [stdout] Epoch 164, Loss: 0.24768494
[INFO] [stdout] Epoch 165, Loss: 0.25245726
[INFO] [stdout] Epoch 165, Loss: 0.24904741
[INFO] [stdout] Epoch 165, Loss: 0.25082263
[INFO] [stdout] Epoch 165, Loss: 0.24768913
[INFO] [stdout] Epoch 166, Loss: 0.25245216
[INFO] [stdout] Epoch 166, Loss: 0.24903914
[INFO] [stdout] Epoch 166, Loss: 0.2508314
[INFO] [stdout] Epoch 166, Loss: 0.2476934
[INFO] [stdout] Epoch 167, Loss: 0.252447
[INFO] [stdout] Epoch 167, Loss: 0.24903093
[INFO] [stdout] Epoch 167, Loss: 0.2508402
[INFO] [stdout] Epoch 167, Loss: 0.24769758
[INFO] [stdout] Epoch 168, Loss: 0.2524419
[INFO] [stdout] Epoch 168, Loss: 0.24902284
[INFO] [stdout] Epoch 168, Loss: 0.250849
[INFO] [stdout] Epoch 168, Loss: 0.24770176
[INFO] [stdout] Epoch 169, Loss: 0.25243688
[INFO] [stdout] Epoch 169, Loss: 0.24901469
[INFO] [stdout] Epoch 169, Loss: 0.25085774
[INFO] [stdout] Epoch 169, Loss: 0.24770598
[INFO] [stdout] Epoch 170, Loss: 0.25243184
[INFO] [stdout] Epoch 170, Loss: 0.24900666
[INFO] [stdout] Epoch 170, Loss: 0.25086638
[INFO] [stdout] Epoch 170, Loss: 0.24771015
[INFO] [stdout] Epoch 171, Loss: 0.25242683
[INFO] [stdout] Epoch 171, Loss: 0.24899863
[INFO] [stdout] Epoch 171, Loss: 0.25087506
[INFO] [stdout] Epoch 171, Loss: 0.24771434
[INFO] [stdout] Epoch 172, Loss: 0.2524218
[INFO] [stdout] Epoch 172, Loss: 0.24899067
[INFO] [stdout] Epoch 172, Loss: 0.25088364
[INFO] [stdout] Epoch 172, Loss: 0.24771847
[INFO] [stdout] Epoch 173, Loss: 0.25241676
[INFO] [stdout] Epoch 173, Loss: 0.2489827
[INFO] [stdout] Epoch 173, Loss: 0.25089225
[INFO] [stdout] Epoch 173, Loss: 0.24772263
[INFO] [stdout] Epoch 174, Loss: 0.25241178
[INFO] [stdout] Epoch 174, Loss: 0.24897479
[INFO] [stdout] Epoch 174, Loss: 0.25090078
[INFO] [stdout] Epoch 174, Loss: 0.2477268
[INFO] [stdout] Epoch 175, Loss: 0.25240687
[INFO] [stdout] Epoch 175, Loss: 0.24896687
[INFO] [stdout] Epoch 175, Loss: 0.2509092
[INFO] [stdout] Epoch 175, Loss: 0.24773093
[INFO] [stdout] Epoch 176, Loss: 0.25240192
[INFO] [stdout] Epoch 176, Loss: 0.24895908
[INFO] [stdout] Epoch 176, Loss: 0.25091767
[INFO] [stdout] Epoch 176, Loss: 0.2477349
[INFO] [stdout] Epoch 177, Loss: 0.252397
[INFO] [stdout] Epoch 177, Loss: 0.24895123
[INFO] [stdout] Epoch 177, Loss: 0.2509261
[INFO] [stdout] Epoch 177, Loss: 0.24773903
[INFO] [stdout] Epoch 178, Loss: 0.25239208
[INFO] [stdout] Epoch 178, Loss: 0.24894343
[INFO] [stdout] Epoch 178, Loss: 0.2509344
[INFO] [stdout] Epoch 178, Loss: 0.24774314
[INFO] [stdout] Epoch 179, Loss: 0.2523871
[INFO] [stdout] Epoch 179, Loss: 0.2489357
[INFO] [stdout] Epoch 179, Loss: 0.2509429
[INFO] [stdout] Epoch 179, Loss: 0.24774715
[INFO] [stdout] Epoch 180, Loss: 0.25238234
[INFO] [stdout] Epoch 180, Loss: 0.2489279
[INFO] [stdout] Epoch 180, Loss: 0.2509511
[INFO] [stdout] Epoch 180, Loss: 0.24775125
[INFO] [stdout] Epoch 181, Loss: 0.25237748
[INFO] [stdout] Epoch 181, Loss: 0.24892029
[INFO] [stdout] Epoch 181, Loss: 0.25095943
[INFO] [stdout] Epoch 181, Loss: 0.24775526
[INFO] [stdout] Epoch 182, Loss: 0.25237262
[INFO] [stdout] Epoch 182, Loss: 0.24891263
[INFO] [stdout] Epoch 182, Loss: 0.2509676
[INFO] [stdout] Epoch 182, Loss: 0.24775937
[INFO] [stdout] Epoch 183, Loss: 0.25236776
[INFO] [stdout] Epoch 183, Loss: 0.24890502
[INFO] [stdout] Epoch 183, Loss: 0.25097585
[INFO] [stdout] Epoch 183, Loss: 0.24776332
[INFO] [stdout] Epoch 184, Loss: 0.25236297
[INFO] [stdout] Epoch 184, Loss: 0.24889746
[INFO] [stdout] Epoch 184, Loss: 0.25098395
[INFO] [stdout] Epoch 184, Loss: 0.24776733
[INFO] [stdout] Epoch 185, Loss: 0.2523582
[INFO] [stdout] Epoch 185, Loss: 0.24888991
[INFO] [stdout] Epoch 185, Loss: 0.25099215
[INFO] [stdout] Epoch 185, Loss: 0.24777125
[INFO] [stdout] Epoch 186, Loss: 0.25235346
[INFO] [stdout] Epoch 186, Loss: 0.24888235
[INFO] [stdout] Epoch 186, Loss: 0.25100023
[INFO] [stdout] Epoch 186, Loss: 0.24777532
[INFO] [stdout] Epoch 187, Loss: 0.25234866
[INFO] [stdout] Epoch 187, Loss: 0.24887486
[INFO] [stdout] Epoch 187, Loss: 0.2510082
[INFO] [stdout] Epoch 187, Loss: 0.24777925
[INFO] [stdout] Epoch 188, Loss: 0.25234398
[INFO] [stdout] Epoch 188, Loss: 0.24886736
[INFO] [stdout] Epoch 188, Loss: 0.25101623
[INFO] [stdout] Epoch 188, Loss: 0.24778326
[INFO] [stdout] Epoch 189, Loss: 0.2523392
[INFO] [stdout] Epoch 189, Loss: 0.24885999
[INFO] [stdout] Epoch 189, Loss: 0.25102428
[INFO] [stdout] Epoch 189, Loss: 0.24778715
[INFO] [stdout] Epoch 190, Loss: 0.25233448
[INFO] [stdout] Epoch 190, Loss: 0.24885263
[INFO] [stdout] Epoch 190, Loss: 0.25103223
[INFO] [stdout] Epoch 190, Loss: 0.24779107
[INFO] [stdout] Epoch 191, Loss: 0.2523298
[INFO] [stdout] Epoch 191, Loss: 0.24884519
[INFO] [stdout] Epoch 191, Loss: 0.2510401
[INFO] [stdout] Epoch 191, Loss: 0.24779502
[INFO] [stdout] Epoch 192, Loss: 0.25232515
[INFO] [stdout] Epoch 192, Loss: 0.24883793
[INFO] [stdout] Epoch 192, Loss: 0.25104806
[INFO] [stdout] Epoch 192, Loss: 0.2477989
[INFO] [stdout] Epoch 193, Loss: 0.25232053
[INFO] [stdout] Epoch 193, Loss: 0.24883062
[INFO] [stdout] Epoch 193, Loss: 0.25105587
[INFO] [stdout] Epoch 193, Loss: 0.24780278
[INFO] [stdout] Epoch 194, Loss: 0.25231585
[INFO] [stdout] Epoch 194, Loss: 0.2488233
[INFO] [stdout] Epoch 194, Loss: 0.25106364
[INFO] [stdout] Epoch 194, Loss: 0.24780667
[INFO] [stdout] Epoch 195, Loss: 0.25231123
[INFO] [stdout] Epoch 195, Loss: 0.2488161
[INFO] [stdout] Epoch 195, Loss: 0.2510715
[INFO] [stdout] Epoch 195, Loss: 0.24781056
[INFO] [stdout] Epoch 196, Loss: 0.25230664
[INFO] [stdout] Epoch 196, Loss: 0.24880885
[INFO] [stdout] Epoch 196, Loss: 0.25107923
[INFO] [stdout] Epoch 196, Loss: 0.24781436
[INFO] [stdout] Epoch 197, Loss: 0.25230202
[INFO] [stdout] Epoch 197, Loss: 0.24880172
[INFO] [stdout] Epoch 197, Loss: 0.25108695
[INFO] [stdout] Epoch 197, Loss: 0.24781819
[INFO] [stdout] Epoch 198, Loss: 0.25229752
[INFO] [stdout] Epoch 198, Loss: 0.24879453
[INFO] [stdout] Epoch 198, Loss: 0.2510947
[INFO] [stdout] Epoch 198, Loss: 0.24782202
[INFO] [stdout] Epoch 199, Loss: 0.252293
[INFO] [stdout] Epoch 199, Loss: 0.24878739
[INFO] [stdout] Epoch 199, Loss: 0.2511023
[INFO] [stdout] Epoch 199, Loss: 0.24782585
[INFO] [stdout] Epoch 200, Loss: 0.25228837
[INFO] [stdout] Epoch 200, Loss: 0.24878031
[INFO] [stdout] Epoch 200, Loss: 0.25111
[INFO] [stdout] Epoch 200, Loss: 0.24782962
[INFO] [stdout] Epoch 201, Loss: 0.25228387
[INFO] [stdout] Epoch 201, Loss: 0.24877317
[INFO] [stdout] Epoch 201, Loss: 0.25111753
[INFO] [stdout] Epoch 201, Loss: 0.24783349
[INFO] [stdout] Epoch 202, Loss: 0.2522794
[INFO] [stdout] Epoch 202, Loss: 0.24876615
[INFO] [stdout] Epoch 202, Loss: 0.25112516
[INFO] [stdout] Epoch 202, Loss: 0.2478372
[INFO] [stdout] Epoch 203, Loss: 0.2522749
[INFO] [stdout] Epoch 203, Loss: 0.24875915
[INFO] [stdout] Epoch 203, Loss: 0.25113264
[INFO] [stdout] Epoch 203, Loss: 0.24784097
[INFO] [stdout] Epoch 204, Loss: 0.2522704
[INFO] [stdout] Epoch 204, Loss: 0.24875219
[INFO] [stdout] Epoch 204, Loss: 0.25114024
[INFO] [stdout] Epoch 204, Loss: 0.24784465
[INFO] [stdout] Epoch 205, Loss: 0.252266
[INFO] [stdout] Epoch 205, Loss: 0.24874517
[INFO] [stdout] Epoch 205, Loss: 0.25114763
[INFO] [stdout] Epoch 205, Loss: 0.24784842
[INFO] [stdout] Epoch 206, Loss: 0.2522615
[INFO] [stdout] Epoch 206, Loss: 0.24873833
[INFO] [stdout] Epoch 206, Loss: 0.2511551
[INFO] [stdout] Epoch 206, Loss: 0.24785219
[INFO] [stdout] Epoch 207, Loss: 0.25225705
[INFO] [stdout] Epoch 207, Loss: 0.24873137
[INFO] [stdout] Epoch 207, Loss: 0.25116244
[INFO] [stdout] Epoch 207, Loss: 0.2478559
[INFO] [stdout] Epoch 208, Loss: 0.2522527
[INFO] [stdout] Epoch 208, Loss: 0.24872448
[INFO] [stdout] Epoch 208, Loss: 0.25116998
[INFO] [stdout] Epoch 208, Loss: 0.24785955
[INFO] [stdout] Epoch 209, Loss: 0.25224832
[INFO] [stdout] Epoch 209, Loss: 0.24871765
[INFO] [stdout] Epoch 209, Loss: 0.25117725
[INFO] [stdout] Epoch 209, Loss: 0.24786326
[INFO] [stdout] Epoch 210, Loss: 0.25224388
[INFO] [stdout] Epoch 210, Loss: 0.24871081
[INFO] [stdout] Epoch 210, Loss: 0.2511846
[INFO] [stdout] Epoch 210, Loss: 0.24786691
[INFO] [stdout] Epoch 211, Loss: 0.25223953
[INFO] [stdout] Epoch 211, Loss: 0.24870403
[INFO] [stdout] Epoch 211, Loss: 0.25119197
[INFO] [stdout] Epoch 211, Loss: 0.24787062
[INFO] [stdout] Epoch 212, Loss: 0.2522352
[INFO] [stdout] Epoch 212, Loss: 0.24869725
[INFO] [stdout] Epoch 212, Loss: 0.25119925
[INFO] [stdout] Epoch 212, Loss: 0.24787427
[INFO] [stdout] Epoch 213, Loss: 0.25223088
[INFO] [stdout] Epoch 213, Loss: 0.24869047
[INFO] [stdout] Epoch 213, Loss: 0.2512065
[INFO] [stdout] Epoch 213, Loss: 0.24787791
[INFO] [stdout] Epoch 214, Loss: 0.2522266
[INFO] [stdout] Epoch 214, Loss: 0.24868377
[INFO] [stdout] Epoch 214, Loss: 0.2512137
[INFO] [stdout] Epoch 214, Loss: 0.2478815
[INFO] [stdout] Epoch 215, Loss: 0.25222227
[INFO] [stdout] Epoch 215, Loss: 0.24867705
[INFO] [stdout] Epoch 215, Loss: 0.25122088
[INFO] [stdout] Epoch 215, Loss: 0.24788515
[INFO] [stdout] Epoch 216, Loss: 0.25221795
[INFO] [stdout] Epoch 216, Loss: 0.24867038
[INFO] [stdout] Epoch 216, Loss: 0.25122803
[INFO] [stdout] Epoch 216, Loss: 0.24788868
[INFO] [stdout] Epoch 217, Loss: 0.25221372
[INFO] [stdout] Epoch 217, Loss: 0.24866372
[INFO] [stdout] Epoch 217, Loss: 0.25123522
[INFO] [stdout] Epoch 217, Loss: 0.24789234
[INFO] [stdout] Epoch 218, Loss: 0.25220945
[INFO] [stdout] Epoch 218, Loss: 0.24865706
[INFO] [stdout] Epoch 218, Loss: 0.25124228
[INFO] [stdout] Epoch 218, Loss: 0.24789587
[INFO] [stdout] Epoch 219, Loss: 0.2522052
[INFO] [stdout] Epoch 219, Loss: 0.24865054
[INFO] [stdout] Epoch 219, Loss: 0.25124943
[INFO] [stdout] Epoch 219, Loss: 0.24789946
[INFO] [stdout] Epoch 220, Loss: 0.25220102
[INFO] [stdout] Epoch 220, Loss: 0.24864393
[INFO] [stdout] Epoch 220, Loss: 0.2512565
[INFO] [stdout] Epoch 220, Loss: 0.24790305
[INFO] [stdout] Epoch 221, Loss: 0.25219682
[INFO] [stdout] Epoch 221, Loss: 0.2486374
[INFO] [stdout] Epoch 221, Loss: 0.25126353
[INFO] [stdout] Epoch 221, Loss: 0.24790658
[INFO] [stdout] Epoch 222, Loss: 0.2521926
[INFO] [stdout] Epoch 222, Loss: 0.24863085
[INFO] [stdout] Epoch 222, Loss: 0.2512706
[INFO] [stdout] Epoch 222, Loss: 0.24791005
[INFO] [stdout] Epoch 223, Loss: 0.25218844
[INFO] [stdout] Epoch 223, Loss: 0.24862425
[INFO] [stdout] Epoch 223, Loss: 0.25127748
[INFO] [stdout] Epoch 223, Loss: 0.24791364
[INFO] [stdout] Epoch 224, Loss: 0.25218424
[INFO] [stdout] Epoch 224, Loss: 0.24861784
[INFO] [stdout] Epoch 224, Loss: 0.25128445
[INFO] [stdout] Epoch 224, Loss: 0.24791706
[INFO] [stdout] Epoch 225, Loss: 0.25218013
[INFO] [stdout] Epoch 225, Loss: 0.24861136
[INFO] [stdout] Epoch 225, Loss: 0.2512914
[INFO] [stdout] Epoch 225, Loss: 0.24792059
[INFO] [stdout] Epoch 226, Loss: 0.252176
[INFO] [stdout] Epoch 226, Loss: 0.24860494
[INFO] [stdout] Epoch 226, Loss: 0.2512983
[INFO] [stdout] Epoch 226, Loss: 0.24792412
[INFO] [stdout] Epoch 227, Loss: 0.25217187
[INFO] [stdout] Epoch 227, Loss: 0.24859852
[INFO] [stdout] Epoch 227, Loss: 0.2513052
[INFO] [stdout] Epoch 227, Loss: 0.24792753
[INFO] [stdout] Epoch 228, Loss: 0.2521678
[INFO] [stdout] Epoch 228, Loss: 0.24859203
[INFO] [stdout] Epoch 228, Loss: 0.25131208
[INFO] [stdout] Epoch 228, Loss: 0.247931
[INFO] [stdout] Epoch 229, Loss: 0.2521637
[INFO] [stdout] Epoch 229, Loss: 0.24858575
[INFO] [stdout] Epoch 229, Loss: 0.25131887
[INFO] [stdout] Epoch 229, Loss: 0.24793448
[INFO] [stdout] Epoch 230, Loss: 0.2521596
[INFO] [stdout] Epoch 230, Loss: 0.24857938
[INFO] [stdout] Epoch 230, Loss: 0.25132576
[INFO] [stdout] Epoch 230, Loss: 0.2479379
[INFO] [stdout] Epoch 231, Loss: 0.25215557
[INFO] [stdout] Epoch 231, Loss: 0.24857302
[INFO] [stdout] Epoch 231, Loss: 0.2513325
[INFO] [stdout] Epoch 231, Loss: 0.24794132
[INFO] [stdout] Epoch 232, Loss: 0.25215158
[INFO] [stdout] Epoch 232, Loss: 0.24856672
[INFO] [stdout] Epoch 232, Loss: 0.25133932
[INFO] [stdout] Epoch 232, Loss: 0.24794473
[INFO] [stdout] Epoch 233, Loss: 0.25214756
[INFO] [stdout] Epoch 233, Loss: 0.24856035
[INFO] [stdout] Epoch 233, Loss: 0.25134602
[INFO] [stdout] Epoch 233, Loss: 0.24794814
[INFO] [stdout] Epoch 234, Loss: 0.25214356
[INFO] [stdout] Epoch 234, Loss: 0.24855413
[INFO] [stdout] Epoch 234, Loss: 0.2513527
[INFO] [stdout] Epoch 234, Loss: 0.2479515
[INFO] [stdout] Epoch 235, Loss: 0.25213948
[INFO] [stdout] Epoch 235, Loss: 0.24854788
[INFO] [stdout] Epoch 235, Loss: 0.25135952
[INFO] [stdout] Epoch 235, Loss: 0.24795485
[INFO] [stdout] Epoch 236, Loss: 0.25213557
[INFO] [stdout] Epoch 236, Loss: 0.24854164
[INFO] [stdout] Epoch 236, Loss: 0.25136608
[INFO] [stdout] Epoch 236, Loss: 0.24795826
[INFO] [stdout] Epoch 237, Loss: 0.25213158
[INFO] [stdout] Epoch 237, Loss: 0.24853545
[INFO] [stdout] Epoch 237, Loss: 0.25137284
[INFO] [stdout] Epoch 237, Loss: 0.24796155
[INFO] [stdout] Epoch 238, Loss: 0.25212768
[INFO] [stdout] Epoch 238, Loss: 0.24852917
[INFO] [stdout] Epoch 238, Loss: 0.25137937
[INFO] [stdout] Epoch 238, Loss: 0.24796496
[INFO] [stdout] Epoch 239, Loss: 0.25212368
[INFO] [stdout] Epoch 239, Loss: 0.2485231
[INFO] [stdout] Epoch 239, Loss: 0.25138605
[INFO] [stdout] Epoch 239, Loss: 0.24796826
[INFO] [stdout] Epoch 240, Loss: 0.25211984
[INFO] [stdout] Epoch 240, Loss: 0.24851692
[INFO] [stdout] Epoch 240, Loss: 0.25139263
[INFO] [stdout] Epoch 240, Loss: 0.24797155
[INFO] [stdout] Epoch 241, Loss: 0.2521159
[INFO] [stdout] Epoch 241, Loss: 0.2485108
[INFO] [stdout] Epoch 241, Loss: 0.25139922
[INFO] [stdout] Epoch 241, Loss: 0.24797484
[INFO] [stdout] Epoch 242, Loss: 0.252112
[INFO] [stdout] Epoch 242, Loss: 0.24850468
[INFO] [stdout] Epoch 242, Loss: 0.25140578
[INFO] [stdout] Epoch 242, Loss: 0.24797817
[INFO] [stdout] Epoch 243, Loss: 0.2521081
[INFO] [stdout] Epoch 243, Loss: 0.24849856
[INFO] [stdout] Epoch 243, Loss: 0.2514123
[INFO] [stdout] Epoch 243, Loss: 0.24798147
[INFO] [stdout] Epoch 244, Loss: 0.25210428
[INFO] [stdout] Epoch 244, Loss: 0.2484925
[INFO] [stdout] Epoch 244, Loss: 0.25141868
[INFO] [stdout] Epoch 244, Loss: 0.24798477
[INFO] [stdout] Epoch 245, Loss: 0.25210038
[INFO] [stdout] Epoch 245, Loss: 0.24848643
[INFO] [stdout] Epoch 245, Loss: 0.25142527
[INFO] [stdout] Epoch 245, Loss: 0.24798794
[INFO] [stdout] Epoch 246, Loss: 0.25209656
[INFO] [stdout] Epoch 246, Loss: 0.24848042
[INFO] [stdout] Epoch 246, Loss: 0.25143167
[INFO] [stdout] Epoch 246, Loss: 0.24799123
[INFO] [stdout] Epoch 247, Loss: 0.25209278
[INFO] [stdout] Epoch 247, Loss: 0.24847437
[INFO] [stdout] Epoch 247, Loss: 0.25143817
[INFO] [stdout] Epoch 247, Loss: 0.24799441
[INFO] [stdout] Epoch 248, Loss: 0.25208896
[INFO] [stdout] Epoch 248, Loss: 0.24846837
[INFO] [stdout] Epoch 248, Loss: 0.25144458
[INFO] [stdout] Epoch 248, Loss: 0.2479977
[INFO] [stdout] Epoch 249, Loss: 0.25208518
[INFO] [stdout] Epoch 249, Loss: 0.24846236
[INFO] [stdout] Epoch 249, Loss: 0.25145096
[INFO] [stdout] Epoch 249, Loss: 0.24800088
[INFO] [stdout] Epoch 250, Loss: 0.25208142
[INFO] [stdout] Epoch 250, Loss: 0.24845636
[INFO] [stdout] Epoch 250, Loss: 0.2514573
[INFO] [stdout] Epoch 250, Loss: 0.24800411
[INFO] [stdout] Epoch 251, Loss: 0.25207764
[INFO] [stdout] Epoch 251, Loss: 0.24845043
[INFO] [stdout] Epoch 251, Loss: 0.25146377
[INFO] [stdout] Epoch 251, Loss: 0.24800727
[INFO] [stdout] Epoch 252, Loss: 0.25207388
[INFO] [stdout] Epoch 252, Loss: 0.24844454
[INFO] [stdout] Epoch 252, Loss: 0.2514701
[INFO] [stdout] Epoch 252, Loss: 0.24801044
[INFO] [stdout] Epoch 253, Loss: 0.25207016
[INFO] [stdout] Epoch 253, Loss: 0.2484386
[INFO] [stdout] Epoch 253, Loss: 0.25147638
[INFO] [stdout] Epoch 253, Loss: 0.24801362
[INFO] [stdout] Epoch 254, Loss: 0.25206646
[INFO] [stdout] Epoch 254, Loss: 0.24843265
[INFO] [stdout] Epoch 254, Loss: 0.25148267
[INFO] [stdout] Epoch 254, Loss: 0.24801679
[INFO] [stdout] Epoch 255, Loss: 0.25206274
[INFO] [stdout] Epoch 255, Loss: 0.24842684
[INFO] [stdout] Epoch 255, Loss: 0.25148898
[INFO] [stdout] Epoch 255, Loss: 0.24801996
[INFO] [stdout] Epoch 256, Loss: 0.25205904
[INFO] [stdout] Epoch 256, Loss: 0.24842095
[INFO] [stdout] Epoch 256, Loss: 0.25149527
[INFO] [stdout] Epoch 256, Loss: 0.24802302
[INFO] [stdout] Epoch 257, Loss: 0.25205538
[INFO] [stdout] Epoch 257, Loss: 0.24841507
[INFO] [stdout] Epoch 257, Loss: 0.2515014
[INFO] [stdout] Epoch 257, Loss: 0.24802622
[INFO] [stdout] Epoch 258, Loss: 0.25205168
[INFO] [stdout] Epoch 258, Loss: 0.2484093
[INFO] [stdout] Epoch 258, Loss: 0.25150776
[INFO] [stdout] Epoch 258, Loss: 0.24802929
[INFO] [stdout] Epoch 259, Loss: 0.25204808
[INFO] [stdout] Epoch 259, Loss: 0.24840343
[INFO] [stdout] Epoch 259, Loss: 0.25151393
[INFO] [stdout] Epoch 259, Loss: 0.2480324
[INFO] [stdout] Epoch 260, Loss: 0.25204444
[INFO] [stdout] Epoch 260, Loss: 0.24839766
[INFO] [stdout] Epoch 260, Loss: 0.25152007
[INFO] [stdout] Epoch 260, Loss: 0.24803546
[INFO] [stdout] Epoch 261, Loss: 0.25204077
[INFO] [stdout] Epoch 261, Loss: 0.24839184
[INFO] [stdout] Epoch 261, Loss: 0.25152636
[INFO] [stdout] Epoch 261, Loss: 0.24803852
[INFO] [stdout] Epoch 262, Loss: 0.2520372
[INFO] [stdout] Epoch 262, Loss: 0.24838607
[INFO] [stdout] Epoch 262, Loss: 0.25153247
[INFO] [stdout] Epoch 262, Loss: 0.24804163
[INFO] [stdout] Epoch 263, Loss: 0.2520336
[INFO] [stdout] Epoch 263, Loss: 0.24838032
[INFO] [stdout] Epoch 263, Loss: 0.2515386
[INFO] [stdout] Epoch 263, Loss: 0.24804467
[INFO] [stdout] Epoch 264, Loss: 0.25203001
[INFO] [stdout] Epoch 264, Loss: 0.24837461
[INFO] [stdout] Epoch 264, Loss: 0.25154477
[INFO] [stdout] Epoch 264, Loss: 0.24804766
[INFO] [stdout] Epoch 265, Loss: 0.25202647
[INFO] [stdout] Epoch 265, Loss: 0.24836884
[INFO] [stdout] Epoch 265, Loss: 0.2515509
[INFO] [stdout] Epoch 265, Loss: 0.24805072
[INFO] [stdout] Epoch 266, Loss: 0.2520229
[INFO] [stdout] Epoch 266, Loss: 0.24836314
[INFO] [stdout] Epoch 266, Loss: 0.2515569
[INFO] [stdout] Epoch 266, Loss: 0.24805377
[INFO] [stdout] Epoch 267, Loss: 0.25201935
[INFO] [stdout] Epoch 267, Loss: 0.24835745
[INFO] [stdout] Epoch 267, Loss: 0.251563
[INFO] [stdout] Epoch 267, Loss: 0.24805671
[INFO] [stdout] Epoch 268, Loss: 0.25201583
[INFO] [stdout] Epoch 268, Loss: 0.24835174
[INFO] [stdout] Epoch 268, Loss: 0.2515691
[INFO] [stdout] Epoch 268, Loss: 0.24805981
[INFO] [stdout] Epoch 269, Loss: 0.25201228
[INFO] [stdout] Epoch 269, Loss: 0.24834609
[INFO] [stdout] Epoch 269, Loss: 0.25157514
[INFO] [stdout] Epoch 269, Loss: 0.24806274
[INFO] [stdout] Epoch 270, Loss: 0.25200883
[INFO] [stdout] Epoch 270, Loss: 0.24834044
[INFO] [stdout] Epoch 270, Loss: 0.2515812
[INFO] [stdout] Epoch 270, Loss: 0.24806574
[INFO] [stdout] Epoch 271, Loss: 0.25200534
[INFO] [stdout] Epoch 271, Loss: 0.24833475
[INFO] [stdout] Epoch 271, Loss: 0.25158715
[INFO] [stdout] Epoch 271, Loss: 0.24806874
[INFO] [stdout] Epoch 272, Loss: 0.25200182
[INFO] [stdout] Epoch 272, Loss: 0.24832916
[INFO] [stdout] Epoch 272, Loss: 0.2515932
[INFO] [stdout] Epoch 272, Loss: 0.24807163
[INFO] [stdout] Epoch 273, Loss: 0.2519984
[INFO] [stdout] Epoch 273, Loss: 0.24832352
[INFO] [stdout] Epoch 273, Loss: 0.25159913
[INFO] [stdout] Epoch 273, Loss: 0.24807465
[INFO] [stdout] Epoch 274, Loss: 0.25199494
[INFO] [stdout] Epoch 274, Loss: 0.24831794
[INFO] [stdout] Epoch 274, Loss: 0.2516051
[INFO] [stdout] Epoch 274, Loss: 0.24807753
[INFO] [stdout] Epoch 275, Loss: 0.25199154
[INFO] [stdout] Epoch 275, Loss: 0.2483123
[INFO] [stdout] Epoch 275, Loss: 0.25161102
[INFO] [stdout] Epoch 275, Loss: 0.2480804
[INFO] [stdout] Epoch 276, Loss: 0.2519881
[INFO] [stdout] Epoch 276, Loss: 0.24830683
[INFO] [stdout] Epoch 276, Loss: 0.25161704
[INFO] [stdout] Epoch 276, Loss: 0.24808334
[INFO] [stdout] Epoch 277, Loss: 0.25198472
[INFO] [stdout] Epoch 277, Loss: 0.24830118
[INFO] [stdout] Epoch 277, Loss: 0.25162292
[INFO] [stdout] Epoch 277, Loss: 0.24808626
[INFO] [stdout] Epoch 278, Loss: 0.2519813
[INFO] [stdout] Epoch 278, Loss: 0.24829566
[INFO] [stdout] Epoch 278, Loss: 0.25162885
[INFO] [stdout] Epoch 278, Loss: 0.24808913
[INFO] [stdout] Epoch 279, Loss: 0.2519779
[INFO] [stdout] Epoch 279, Loss: 0.24829014
[INFO] [stdout] Epoch 279, Loss: 0.25163475
[INFO] [stdout] Epoch 279, Loss: 0.24809201
[INFO] [stdout] Epoch 280, Loss: 0.25197458
[INFO] [stdout] Epoch 280, Loss: 0.24828455
[INFO] [stdout] Epoch 280, Loss: 0.25164062
[INFO] [stdout] Epoch 280, Loss: 0.24809489
[INFO] [stdout] Epoch 281, Loss: 0.2519712
[INFO] [stdout] Epoch 281, Loss: 0.24827908
[INFO] [stdout] Epoch 281, Loss: 0.25164643
[INFO] [stdout] Epoch 281, Loss: 0.24809775
[INFO] [stdout] Epoch 282, Loss: 0.25196782
[INFO] [stdout] Epoch 282, Loss: 0.24827357
[INFO] [stdout] Epoch 282, Loss: 0.25165233
[INFO] [stdout] Epoch 282, Loss: 0.24810056
[INFO] [stdout] Epoch 283, Loss: 0.25196448
[INFO] [stdout] Epoch 283, Loss: 0.2482681
[INFO] [stdout] Epoch 283, Loss: 0.2516582
[INFO] [stdout] Epoch 283, Loss: 0.24810338
[INFO] [stdout] Epoch 284, Loss: 0.25196126
[INFO] [stdout] Epoch 284, Loss: 0.24826263
[INFO] [stdout] Epoch 284, Loss: 0.25166395
[INFO] [stdout] Epoch 284, Loss: 0.2481063
[INFO] [stdout] Epoch 285, Loss: 0.2519579
[INFO] [stdout] Epoch 285, Loss: 0.24825718
[INFO] [stdout] Epoch 285, Loss: 0.2516698
[INFO] [stdout] Epoch 285, Loss: 0.24810906
[INFO] [stdout] Epoch 286, Loss: 0.25195462
[INFO] [stdout] Epoch 286, Loss: 0.24825165
[INFO] [stdout] Epoch 286, Loss: 0.25167555
[INFO] [stdout] Epoch 286, Loss: 0.24811187
[INFO] [stdout] Epoch 287, Loss: 0.2519513
[INFO] [stdout] Epoch 287, Loss: 0.2482463
[INFO] [stdout] Epoch 287, Loss: 0.25168136
[INFO] [stdout] Epoch 287, Loss: 0.24811457
[INFO] [stdout] Epoch 288, Loss: 0.25194803
[INFO] [stdout] Epoch 288, Loss: 0.24824083
[INFO] [stdout] Epoch 288, Loss: 0.25168714
[INFO] [stdout] Epoch 288, Loss: 0.24811743
[INFO] [stdout] Epoch 289, Loss: 0.25194478
[INFO] [stdout] Epoch 289, Loss: 0.24823543
[INFO] [stdout] Epoch 289, Loss: 0.2516929
[INFO] [stdout] Epoch 289, Loss: 0.24812019
[INFO] [stdout] Epoch 290, Loss: 0.25194156
[INFO] [stdout] Epoch 290, Loss: 0.24822997
[INFO] [stdout] Epoch 290, Loss: 0.2516986
[INFO] [stdout] Epoch 290, Loss: 0.24812295
[INFO] [stdout] Epoch 291, Loss: 0.25193834
[INFO] [stdout] Epoch 291, Loss: 0.24822462
[INFO] [stdout] Epoch 291, Loss: 0.25170437
[INFO] [stdout] Epoch 291, Loss: 0.24812569
[INFO] [stdout] Epoch 292, Loss: 0.2519351
[INFO] [stdout] Epoch 292, Loss: 0.24821922
[INFO] [stdout] Epoch 292, Loss: 0.25171012
[INFO] [stdout] Epoch 292, Loss: 0.24812844
[INFO] [stdout] Epoch 293, Loss: 0.25193194
[INFO] [stdout] Epoch 293, Loss: 0.24821381
[INFO] [stdout] Epoch 293, Loss: 0.25171578
[INFO] [stdout] Epoch 293, Loss: 0.2481312
[INFO] [stdout] Epoch 294, Loss: 0.2519287
[INFO] [stdout] Epoch 294, Loss: 0.24820846
[INFO] [stdout] Epoch 294, Loss: 0.25172147
[INFO] [stdout] Epoch 294, Loss: 0.24813385
[INFO] [stdout] Epoch 295, Loss: 0.25192553
[INFO] [stdout] Epoch 295, Loss: 0.24820311
[INFO] [stdout] Epoch 295, Loss: 0.25172722
[INFO] [stdout] Epoch 295, Loss: 0.24813664
[INFO] [stdout] Epoch 296, Loss: 0.25192243
[INFO] [stdout] Epoch 296, Loss: 0.24819772
[INFO] [stdout] Epoch 296, Loss: 0.25173283
[INFO] [stdout] Epoch 296, Loss: 0.24813928
[INFO] [stdout] Epoch 297, Loss: 0.25191924
[INFO] [stdout] Epoch 297, Loss: 0.24819243
[INFO] [stdout] Epoch 297, Loss: 0.25173846
[INFO] [stdout] Epoch 297, Loss: 0.24814193
[INFO] [stdout] Epoch 298, Loss: 0.25191602
[INFO] [stdout] Epoch 298, Loss: 0.24818708
[INFO] [stdout] Epoch 298, Loss: 0.2517442
[INFO] [stdout] Epoch 298, Loss: 0.24814466
[INFO] [stdout] Epoch 299, Loss: 0.25191295
[INFO] [stdout] Epoch 299, Loss: 0.24818175
[INFO] [stdout] Epoch 299, Loss: 0.2517498
[INFO] [stdout] Epoch 299, Loss: 0.2481473
[INFO] [stdout] Epoch 300, Loss: 0.2519098
[INFO] [stdout] Epoch 300, Loss: 0.2481764
[INFO] [stdout] Epoch 300, Loss: 0.25175545
[INFO] [stdout] Epoch 300, Loss: 0.24814995
[INFO] [stdout] Epoch 301, Loss: 0.25190675
[INFO] [stdout] Epoch 301, Loss: 0.2481711
[INFO] [stdout] Epoch 301, Loss: 0.25176108
[INFO] [stdout] Epoch 301, Loss: 0.24815267
[INFO] [stdout] Epoch 302, Loss: 0.25190362
[INFO] [stdout] Epoch 302, Loss: 0.24816583
[INFO] [stdout] Epoch 302, Loss: 0.25176668
[INFO] [stdout] Epoch 302, Loss: 0.24815525
[INFO] [stdout] Epoch 303, Loss: 0.25190058
[INFO] [stdout] Epoch 303, Loss: 0.24816054
[INFO] [stdout] Epoch 303, Loss: 0.2517722
[INFO] [stderr] error: test failed, to rerun pass `--test core_tests`
[INFO] [stdout] Epoch 303, Loss: 0.24815784
[INFO] [stdout] Epoch 304, Loss: 0.25189745
[INFO] [stdout] Epoch 304, Loss: 0.24815525
[INFO] [stdout] Epoch 304, Loss: 0.25177783
[INFO] [stdout] Epoch 304, Loss: 0.24816045
[INFO] [stdout] Epoch 305, Loss: 0.25189447
[INFO] [stdout] Epoch 305, Loss: 0.24815004
[INFO] [stdout] Epoch 305, Loss: 0.25178343
[INFO] [stdout] Epoch 305, Loss: 0.24816303
[INFO] [stdout] Epoch 306, Loss: 0.25189143
[INFO] [stdout] Epoch 306, Loss: 0.24814475
[INFO] [stdout] Epoch 306, Loss: 0.25178894
[INFO] [stdout] Epoch 306, Loss: 0.24816568
[INFO] [stdout] Epoch 307, Loss: 0.25188836
[INFO] [stdout] Epoch 307, Loss: 0.24813952
[INFO] [stdout] Epoch 307, Loss: 0.25179458
[INFO] [stdout] Epoch 307, Loss: 0.24816823
[INFO] [stdout] Epoch 308, Loss: 0.25188532
[INFO] [stdout] Epoch 308, Loss: 0.24813423
[INFO] [stdout] Epoch 308, Loss: 0.25180006
[INFO] [stdout] Epoch 308, Loss: 0.24817081
[INFO] [stdout] Epoch 309, Loss: 0.2518823
[INFO] [stdout] Epoch 309, Loss: 0.24812901
[INFO] [stdout] Epoch 309, Loss: 0.25180557
[INFO] [stdout] Epoch 309, Loss: 0.24817343
[INFO] [stdout] Epoch 310, Loss: 0.25187933
[INFO] [stdout] Epoch 310, Loss: 0.24812384
[INFO] [stdout] Epoch 310, Loss: 0.2518112
[INFO] [stdout] Epoch 310, Loss: 0.24817589
[INFO] [stdout] Epoch 311, Loss: 0.25187635
[INFO] [stdout] Epoch 311, Loss: 0.24811855
[INFO] [stdout] Epoch 311, Loss: 0.2518167
[INFO] [stdout] Epoch 311, Loss: 0.24817847
[INFO] [stdout] Epoch 312, Loss: 0.2518734
[INFO] [stdout] Epoch 312, Loss: 0.24811333
[INFO] [stdout] Epoch 312, Loss: 0.2518222
[INFO] [stdout] Epoch 312, Loss: 0.24818109
[INFO] [stdout] Epoch 313, Loss: 0.25187048
[INFO] [stdout] Epoch 313, Loss: 0.2481081
[INFO] [stdout] Epoch 313, Loss: 0.25182772
[INFO] [stdout] Epoch 313, Loss: 0.24818355
[INFO] [stdout] Epoch 314, Loss: 0.2518675
[INFO] [stdout] Epoch 314, Loss: 0.24810293
[INFO] [stdout] Epoch 314, Loss: 0.25183314
[INFO] [stdout] Epoch 314, Loss: 0.24818602
[INFO] [stdout] Epoch 315, Loss: 0.25186455
[INFO] [stdout] Epoch 315, Loss: 0.24809778
[INFO] [stdout] Epoch 315, Loss: 0.2518386
[INFO] [stdout] Epoch 315, Loss: 0.24818857
[INFO] [stdout] Epoch 316, Loss: 0.25186157
[INFO] [stdout] Epoch 316, Loss: 0.2480926
[INFO] [stdout] Epoch 316, Loss: 0.25184417
[INFO] [stdout] Epoch 316, Loss: 0.24819097
[INFO] [stdout] Epoch 317, Loss: 0.25185868
[INFO] [stdout] Epoch 317, Loss: 0.24808738
[INFO] [stdout] Epoch 317, Loss: 0.2518496
[INFO] [stdout] Epoch 317, Loss: 0.24819359
[INFO] [stdout] Epoch 318, Loss: 0.25185582
[INFO] [stdout] Epoch 318, Loss: 0.24808222
[INFO] [stdout] Epoch 318, Loss: 0.2518551
[INFO] [stdout] Epoch 318, Loss: 0.24819599
[INFO] [stdout] Epoch 319, Loss: 0.2518529
[INFO] [stdout] Epoch 319, Loss: 0.24807705
[INFO] [stdout] Epoch 319, Loss: 0.2518605
[INFO] [stdout] Epoch 319, Loss: 0.2481984
[INFO] [stdout] Epoch 320, Loss: 0.25185007
[INFO] [stdout] Epoch 320, Loss: 0.24807188
[INFO] [stdout] Epoch 320, Loss: 0.25186592
[INFO] [stdout] Epoch 320, Loss: 0.2482009
[INFO] [stdout] Epoch 321, Loss: 0.2518472
[INFO] [stdout] Epoch 321, Loss: 0.24806672
[INFO] [stdout] Epoch 321, Loss: 0.25187138
[INFO] [stdout] Epoch 321, Loss: 0.24820335
[INFO] [stdout] Epoch 322, Loss: 0.25184435
[INFO] [stdout] Epoch 322, Loss: 0.24806155
[INFO] [stdout] Epoch 322, Loss: 0.25187683
[INFO] [stdout] Epoch 322, Loss: 0.24820586
[INFO] [stdout] Epoch 323, Loss: 0.25184146
[INFO] [stdout] Epoch 323, Loss: 0.24805644
[INFO] [stdout] Epoch 323, Loss: 0.2518822
[INFO] [stdout] Epoch 323, Loss: 0.2482082
[INFO] [stdout] Epoch 324, Loss: 0.25183865
[INFO] [stdout] Epoch 324, Loss: 0.24805135
[INFO] [stdout] Epoch 324, Loss: 0.25188765
[INFO] [stdout] Epoch 324, Loss: 0.24821061
[INFO] [stdout] Epoch 325, Loss: 0.25183585
[INFO] [stdout] Epoch 325, Loss: 0.24804617
[INFO] [stdout] Epoch 325, Loss: 0.25189304
[INFO] [stdout] Epoch 325, Loss: 0.24821304
[INFO] [stdout] Epoch 326, Loss: 0.25183302
[INFO] [stdout] Epoch 326, Loss: 0.24804108
[INFO] [stdout] Epoch 326, Loss: 0.25189847
[INFO] [stdout] Epoch 326, Loss: 0.24821538
[INFO] [stdout] Epoch 327, Loss: 0.25183022
[INFO] [stdout] Epoch 327, Loss: 0.24803597
[INFO] [stdout] Epoch 327, Loss: 0.2519038
[INFO] [stdout] Epoch 327, Loss: 0.24821776
[INFO] [stdout] Epoch 328, Loss: 0.25182748
[INFO] [stdout] Epoch 328, Loss: 0.2480308
[INFO] [stdout] Epoch 328, Loss: 0.2519092
[INFO] [stdout] Epoch 328, Loss: 0.24822016
[INFO] [stdout] Epoch 329, Loss: 0.25182465
[INFO] [stdout] Epoch 329, Loss: 0.2480257
[INFO] [stdout] Epoch 329, Loss: 0.25191465
[INFO] [stdout] Epoch 329, Loss: 0.24822254
[INFO] [stdout] Epoch 330, Loss: 0.2518219
[INFO] [stdout] Epoch 330, Loss: 0.24802065
[INFO] [stdout] Epoch 330, Loss: 0.25191996
[INFO] [stdout] Epoch 330, Loss: 0.24822488
[INFO] [stdout] Epoch 331, Loss: 0.25181916
[INFO] [stdout] Epoch 331, Loss: 0.24801548
[INFO] [stdout] Epoch 331, Loss: 0.25192535
[INFO] [stdout] Epoch 331, Loss: 0.24822718
[INFO] [stdout] Epoch 332, Loss: 0.25181645
[INFO] [stdout] Epoch 332, Loss: 0.24801038
[INFO] [stdout] Epoch 332, Loss: 0.25193068
[INFO] [stdout] Epoch 332, Loss: 0.24822955
[INFO] [stdout] Epoch 333, Loss: 0.2518137
[INFO] [stdout] Epoch 333, Loss: 0.24800527
[INFO] [stdout] Epoch 333, Loss: 0.251936
[INFO] [stdout] Epoch 333, Loss: 0.2482319
[INFO] [stdout] Epoch 334, Loss: 0.25181097
[INFO] [stdout] Epoch 334, Loss: 0.24800022
[INFO] [stdout] Epoch 334, Loss: 0.25194138
[INFO] [stdout] Epoch 334, Loss: 0.24823415
[INFO] [stdout] Epoch 335, Loss: 0.25180826
[INFO] [stdout] Epoch 335, Loss: 0.24799518
[INFO] [stdout] Epoch 335, Loss: 0.25194678
[INFO] [stdout] Epoch 335, Loss: 0.24823649
[INFO] [stdout] Epoch 336, Loss: 0.25180557
[INFO] [stdout] Epoch 336, Loss: 0.24799007
[INFO] [stdout] Epoch 336, Loss: 0.25195202
[INFO] [stdout] Epoch 336, Loss: 0.24823876
[INFO] [stdout] Epoch 337, Loss: 0.25180283
[INFO] [stdout] Epoch 337, Loss: 0.24798504
[INFO] [stdout] Epoch 337, Loss: 0.25195742
[INFO] [stdout] Epoch 337, Loss: 0.24824104
[INFO] [stdout] Epoch 338, Loss: 0.25180018
[INFO] [stdout] Epoch 338, Loss: 0.24797992
[INFO] [stdout] Epoch 338, Loss: 0.2519627
[INFO] [stdout] Epoch 338, Loss: 0.24824336
[INFO] [stdout] Epoch 339, Loss: 0.25179756
[INFO] [stdout] Epoch 339, Loss: 0.24797487
[INFO] [stdout] Epoch 339, Loss: 0.25196806
[INFO] [stdout] Epoch 339, Loss: 0.24824558
[INFO] [stdout] Epoch 340, Loss: 0.25179487
[INFO] [stdout] Epoch 340, Loss: 0.24796984
[INFO] [stdout] Epoch 340, Loss: 0.25197345
[INFO] [stdout] Epoch 340, Loss: 0.24824782
[INFO] [stdout] Epoch 341, Loss: 0.25179228
[INFO] [stdout] Epoch 341, Loss: 0.24796472
[INFO] [stdout] Epoch 341, Loss: 0.2519786
[INFO] [stdout] Epoch 341, Loss: 0.24825013
[INFO] [stdout] Epoch 342, Loss: 0.2517896
[INFO] [stdout] Epoch 342, Loss: 0.24795969
[INFO] [stdout] Epoch 342, Loss: 0.251984
[INFO] [stdout] Epoch 342, Loss: 0.2482523
[INFO] [stdout] Epoch 343, Loss: 0.25178698
[INFO] [stdout] Epoch 343, Loss: 0.2479547
[INFO] [stdout] Epoch 343, Loss: 0.2519893
[INFO] [stdout] Epoch 343, Loss: 0.24825455
[INFO] [stdout] Epoch 344, Loss: 0.25178438
[INFO] [stdout] Epoch 344, Loss: 0.24794959
[INFO] [stdout] Epoch 344, Loss: 0.25199452
[INFO] [stdout] Epoch 344, Loss: 0.24825679
[INFO] [stdout] Epoch 345, Loss: 0.25178182
[INFO] [stdout] Epoch 345, Loss: 0.24794455
[INFO] [stdout] Epoch 345, Loss: 0.2519999
[INFO] [stdout] Epoch 345, Loss: 0.24825898
[INFO] [stdout] Epoch 346, Loss: 0.2517792
[INFO] [stdout] Epoch 346, Loss: 0.2479395
[INFO] [stdout] Epoch 346, Loss: 0.2520051
[INFO] [stdout] Epoch 346, Loss: 0.24826115
[INFO] [stdout] Epoch 347, Loss: 0.25177664
[INFO] [stdout] Epoch 347, Loss: 0.24793446
[INFO] [stdout] Epoch 347, Loss: 0.25201043
[INFO] [stdout] Epoch 347, Loss: 0.2482634
[INFO] [stdout] Epoch 348, Loss: 0.25177404
[INFO] [stdout] Epoch 348, Loss: 0.24792941
[INFO] [stdout] Epoch 348, Loss: 0.2520157
[INFO] [stdout] Epoch 348, Loss: 0.24826552
[INFO] [stdout] Epoch 349, Loss: 0.25177154
[INFO] [stdout] Epoch 349, Loss: 0.24792436
[INFO] [stdout] Epoch 349, Loss: 0.25202104
[INFO] [stdout] Epoch 349, Loss: 0.24826765
[INFO] [stdout] Epoch 350, Loss: 0.25176898
[INFO] [stdout] Epoch 350, Loss: 0.24791932
[INFO] [stdout] Epoch 350, Loss: 0.25202623
[INFO] [stdout] Epoch 350, Loss: 0.24826989
[INFO] [stdout] Epoch 351, Loss: 0.25176644
[INFO] [stdout] Epoch 351, Loss: 0.24791433
[INFO] [stdout] Epoch 351, Loss: 0.25203162
[INFO] [stdout] Epoch 351, Loss: 0.24827202
[INFO] [stdout] Epoch 352, Loss: 0.25176394
[INFO] [stdout] Epoch 352, Loss: 0.24790923
[INFO] [stdout] Epoch 352, Loss: 0.25203684
[INFO] [stdout] Epoch 352, Loss: 0.24827413
[INFO] [stdout] Epoch 353, Loss: 0.25176144
[INFO] [stdout] Epoch 353, Loss: 0.24790424
[INFO] [stdout] Epoch 353, Loss: 0.25204203
[INFO] [stdout] Epoch 353, Loss: 0.24827626
[INFO] [stdout] Epoch 354, Loss: 0.2517589
[INFO] [stdout] Epoch 354, Loss: 0.24789925
[INFO] [stdout] Epoch 354, Loss: 0.25204742
[INFO] [stdout] Epoch 354, Loss: 0.24827838
[INFO] [stdout] Epoch 355, Loss: 0.25175646
[INFO] [stdout] Epoch 355, Loss: 0.24789415
[INFO] [stdout] Epoch 355, Loss: 0.25205258
[INFO] [stdout] Epoch 355, Loss: 0.24828057
[INFO] [stdout] Epoch 356, Loss: 0.25175402
[INFO] [stdout] Epoch 356, Loss: 0.2478891
[INFO] [stdout] Epoch 356, Loss: 0.25205785
[INFO] [stdout] Epoch 356, Loss: 0.24828263
[INFO] [stdout] Epoch 357, Loss: 0.2517515
[INFO] [stdout] Epoch 357, Loss: 0.24788418
[INFO] [stdout] Epoch 357, Loss: 0.2520631
[INFO] [stdout] Epoch 357, Loss: 0.2482847
[INFO] [stdout] Epoch 358, Loss: 0.25174904
[INFO] [stdout] Epoch 358, Loss: 0.24787913
[INFO] [stdout] Epoch 358, Loss: 0.25206837
[INFO] [stdout] Epoch 358, Loss: 0.24828675
[INFO] [stdout] Epoch 359, Loss: 0.2517466
[INFO] [stdout] Epoch 359, Loss: 0.2478741
[INFO] [stdout] Epoch 359, Loss: 0.25207365
[INFO] [stdout] Epoch 359, Loss: 0.24828888
[INFO] [stdout] Epoch 360, Loss: 0.25174415
[INFO] [stdout] Epoch 360, Loss: 0.2478691
[INFO] [stdout] Epoch 360, Loss: 0.25207883
[INFO] [stdout] Epoch 360, Loss: 0.24829088
[INFO] [stdout] Epoch 361, Loss: 0.25174174
[INFO] [stdout] Epoch 361, Loss: 0.24786405
[INFO] [stdout] Epoch 361, Loss: 0.25208405
[INFO] [stdout] Epoch 361, Loss: 0.24829301
[INFO] [stdout] Epoch 362, Loss: 0.2517393
[INFO] [stdout] Epoch 362, Loss: 0.24785908
[INFO] [stdout] Epoch 362, Loss: 0.25208932
[INFO] [stdout] Epoch 362, Loss: 0.24829501
[INFO] [stdout] Epoch 363, Loss: 0.2517369
[INFO] [stdout] Epoch 363, Loss: 0.24785402
[INFO] [stdout] Epoch 363, Loss: 0.25209466
[INFO] [stdout] Epoch 363, Loss: 0.24829702
[INFO] [stdout] Epoch 364, Loss: 0.25173452
[INFO] [stdout] Epoch 364, Loss: 0.24784905
[INFO] [stdout] Epoch 364, Loss: 0.25209978
[INFO] [stdout] Epoch 364, Loss: 0.24829902
[INFO] [stdout] Epoch 365, Loss: 0.2517321
[INFO] [stdout] Epoch 365, Loss: 0.247844
[INFO] [stdout] Epoch 365, Loss: 0.252105
[INFO] [stdout] Epoch 365, Loss: 0.24830115
[INFO] [stdout] Epoch 366, Loss: 0.2517298
[INFO] [stdout] Epoch 366, Loss: 0.24783896
[INFO] [stdout] Epoch 366, Loss: 0.25211027
[INFO] [stdout] Epoch 366, Loss: 0.24830317
[INFO] [stdout] Epoch 367, Loss: 0.2517274
[INFO] [stdout] Epoch 367, Loss: 0.24783397
[INFO] [stdout] Epoch 367, Loss: 0.2521155
[INFO] [stdout] Epoch 367, Loss: 0.2483051
[INFO] [stdout] Epoch 368, Loss: 0.25172508
[INFO] [stdout] Epoch 368, Loss: 0.24782893
[INFO] [stdout] Epoch 368, Loss: 0.25212073
[INFO] [stdout] Epoch 368, Loss: 0.24830712
[INFO] [stdout] Epoch 369, Loss: 0.25172266
[INFO] [stdout] Epoch 369, Loss: 0.24782394
[INFO] [stdout] Epoch 369, Loss: 0.25212595
[INFO] [stdout] Epoch 369, Loss: 0.24830906
[INFO] [stdout] Epoch 370, Loss: 0.2517204
[INFO] [stdout] Epoch 370, Loss: 0.2478189
[INFO] [stdout] Epoch 370, Loss: 0.25213122
[INFO] [stdout] Epoch 370, Loss: 0.24831107
[INFO] [stdout] Epoch 371, Loss: 0.251718
[INFO] [stdout] Epoch 371, Loss: 0.24781391
[INFO] [stdout] Epoch 371, Loss: 0.25213644
[INFO] [stdout] Epoch 371, Loss: 0.24831295
[INFO] [stdout] Epoch 372, Loss: 0.25171578
[INFO] [stdout] Epoch 372, Loss: 0.24780887
[INFO] [stdout] Epoch 372, Loss: 0.25214162
[INFO] [stdout] Epoch 372, Loss: 0.24831496
[INFO] [stdout] Epoch 373, Loss: 0.25171345
[INFO] [stdout] Epoch 373, Loss: 0.24780388
[INFO] [stdout] Epoch 373, Loss: 0.2521469
[INFO] [stdout] Epoch 373, Loss: 0.2483169
[INFO] [stdout] Epoch 374, Loss: 0.2517112
[INFO] [stdout] Epoch 374, Loss: 0.24779885
[INFO] [stdout] Epoch 374, Loss: 0.25215206
[INFO] [stdout] Epoch 374, Loss: 0.24831885
[INFO] [stdout] Epoch 375, Loss: 0.2517088
[INFO] [stdout] Epoch 375, Loss: 0.24779385
[INFO] [stdout] Epoch 375, Loss: 0.2521573
[INFO] [stdout] Epoch 375, Loss: 0.24832076
[INFO] [stdout] Epoch 376, Loss: 0.25170657
[INFO] [stdout] Epoch 376, Loss: 0.24778882
[INFO] [stdout] Epoch 376, Loss: 0.25216252
[INFO] [stdout] Epoch 376, Loss: 0.24832268
[INFO] [stdout] Epoch 377, Loss: 0.2517043
[INFO] [stdout] Epoch 377, Loss: 0.24778377
[INFO] [stdout] Epoch 377, Loss: 0.25216773
[INFO] [stdout] Epoch 377, Loss: 0.24832459
[INFO] [stdout] Epoch 378, Loss: 0.2517021
[INFO] [stdout] Epoch 378, Loss: 0.24777873
[INFO] [stdout] Epoch 378, Loss: 0.252173
[INFO] [stdout] Epoch 378, Loss: 0.2483264
[INFO] [stdout] Epoch 379, Loss: 0.25169984
[INFO] [stdout] Epoch 379, Loss: 0.24777374
[INFO] [stdout] Epoch 379, Loss: 0.25217822
[INFO] [stdout] Epoch 379, Loss: 0.24832836
[INFO] [stdout] Epoch 380, Loss: 0.2516976
[INFO] [stdout] Epoch 380, Loss: 0.2477687
[INFO] [stdout] Epoch 380, Loss: 0.2521834
[INFO] [stdout] Epoch 380, Loss: 0.24833024
[INFO] [stdout] Epoch 381, Loss: 0.2516954
[INFO] [stdout] Epoch 381, Loss: 0.24776365
[INFO] [stdout] Epoch 381, Loss: 0.25218868
[INFO] [stdout] Epoch 381, Loss: 0.24833207
[INFO] [stdout] Epoch 382, Loss: 0.25169325
[INFO] [stdout] Epoch 382, Loss: 0.24775861
[INFO] [stdout] Epoch 382, Loss: 0.25219384
[INFO] [stdout] Epoch 382, Loss: 0.24833398
[INFO] [stdout] Epoch 383, Loss: 0.25169098
[INFO] [stdout] Epoch 383, Loss: 0.24775362
[INFO] [stdout] Epoch 383, Loss: 0.2521991
[INFO] [stdout] Epoch 383, Loss: 0.24833578
[INFO] [stdout] Epoch 384, Loss: 0.25168875
[INFO] [stdout] Epoch 384, Loss: 0.24774858
[INFO] [stdout] Epoch 384, Loss: 0.2522043
[INFO] [stdout] Epoch 384, Loss: 0.24833763
[INFO] [stdout] Epoch 385, Loss: 0.2516866
[INFO] [stdout] Epoch 385, Loss: 0.24774353
[INFO] [stdout] Epoch 385, Loss: 0.2522095
[INFO] [stdout] Epoch 385, Loss: 0.2483395
[INFO] [stdout] Epoch 386, Loss: 0.25168446
[INFO] [stdout] Epoch 386, Loss: 0.2477385
[INFO] [stdout] Epoch 386, Loss: 0.2522148
[INFO] [stdout] Epoch 386, Loss: 0.24834128
[INFO] [stdout] Epoch 387, Loss: 0.25168225
[INFO] [stdout] Epoch 387, Loss: 0.2477335
[INFO] [stdout] Epoch 387, Loss: 0.25222006
[INFO] [stdout] Epoch 387, Loss: 0.24834304
[INFO] [stdout] Epoch 388, Loss: 0.25168014
[INFO] [stdout] Epoch 388, Loss: 0.2477284
[INFO] [stdout] Epoch 388, Loss: 0.25222525
[INFO] [stdout] Epoch 388, Loss: 0.24834493
[INFO] [stdout] Epoch 389, Loss: 0.251678
[INFO] [stdout] Epoch 389, Loss: 0.24772336
[INFO] [stdout] Epoch 389, Loss: 0.25223053
[INFO] [stdout] Epoch 389, Loss: 0.24834672
[INFO] [stdout] Epoch 390, Loss: 0.2516759
[INFO] [stdout] Epoch 390, Loss: 0.24771832
[INFO] [stdout] Epoch 390, Loss: 0.25223574
[INFO] [stdout] Epoch 390, Loss: 0.24834847
[INFO] [stdout] Epoch 391, Loss: 0.2516737
[INFO] [stdout] Epoch 391, Loss: 0.24771328
[INFO] [stdout] Epoch 391, Loss: 0.25224102
[INFO] [stdout] Epoch 391, Loss: 0.24835025
[INFO] [stdout] Epoch 392, Loss: 0.25167164
[INFO] [stdout] Epoch 392, Loss: 0.24770817
[INFO] [stdout] Epoch 392, Loss: 0.25224617
[INFO] [stdout] Epoch 392, Loss: 0.24835207
[INFO] [stdout] Epoch 393, Loss: 0.2516695
[INFO] [stdout] Epoch 393, Loss: 0.24770314
[INFO] [stdout] Epoch 393, Loss: 0.25225142
[INFO] [stdout] Epoch 393, Loss: 0.24835378
[INFO] [stdout] Epoch 394, Loss: 0.2516674
[INFO] [stdout] Epoch 394, Loss: 0.24769808
[INFO] [stdout] Epoch 394, Loss: 0.2522567
[INFO] [stdout] Epoch 394, Loss: 0.24835557
[INFO] [stdout] Epoch 395, Loss: 0.25166532
[INFO] [stdout] Epoch 395, Loss: 0.24769305
[INFO] [stdout] Epoch 395, Loss: 0.25226197
[INFO] [stdout] Epoch 395, Loss: 0.24835727
[INFO] [stdout] Epoch 396, Loss: 0.2516633
[INFO] [stdout] Epoch 396, Loss: 0.24768794
[INFO] [stdout] Epoch 396, Loss: 0.25226724
[INFO] [stdout] Epoch 396, Loss: 0.24835904
[INFO] [stdout] Epoch 397, Loss: 0.25166124
[INFO] [stdout] Epoch 397, Loss: 0.24768284
[INFO] [stdout] Epoch 397, Loss: 0.25227237
[INFO] [stdout] Epoch 397, Loss: 0.24836077
[INFO] [stdout] Epoch 398, Loss: 0.25165915
[INFO] [stdout] Epoch 398, Loss: 0.2476778
[INFO] [stdout] Epoch 398, Loss: 0.2522777
[INFO] [stdout] Epoch 398, Loss: 0.2483624
[INFO] [stdout] Epoch 399, Loss: 0.25165713
[INFO] [stdout] Epoch 399, Loss: 0.24767275
[INFO] [stdout] Epoch 399, Loss: 0.25228298
[INFO] [stdout] Epoch 399, Loss: 0.24836418
[INFO] [stdout] Epoch 400, Loss: 0.25165504
[INFO] [stdout] Epoch 400, Loss: 0.24766766
[INFO] [stdout] Epoch 400, Loss: 0.2522882
[INFO] [stdout] Epoch 400, Loss: 0.24836582
[INFO] [stdout] Epoch 401, Loss: 0.25165305
[INFO] [stdout] Epoch 401, Loss: 0.24766254
[INFO] [stdout] Epoch 401, Loss: 0.25229347
[INFO] [stdout] Epoch 401, Loss: 0.24836753
[INFO] [stdout] Epoch 402, Loss: 0.25165108
[INFO] [stdout] Epoch 402, Loss: 0.24765745
[INFO] [stdout] Epoch 402, Loss: 0.2522987
[INFO] [stdout] Epoch 402, Loss: 0.24836926
[INFO] [stdout] Epoch 403, Loss: 0.25164905
[INFO] [stdout] Epoch 403, Loss: 0.24765235
[INFO] [stdout] Epoch 403, Loss: 0.252304
[INFO] [stdout] Epoch 403, Loss: 0.2483709
[INFO] [stdout] Epoch 404, Loss: 0.25164703
[INFO] [stdout] Epoch 404, Loss: 0.24764724
[INFO] [stdout] Epoch 404, Loss: 0.25230926
[INFO] [stdout] Epoch 404, Loss: 0.24837255
[INFO] [stdout] Epoch 405, Loss: 0.25164506
[INFO] [stdout] Epoch 405, Loss: 0.24764214
[INFO] [stdout] Epoch 405, Loss: 0.25231454
[INFO] [stdout] Epoch 405, Loss: 0.24837422
[INFO] [stdout] Epoch 406, Loss: 0.25164306
[INFO] [stdout] Epoch 406, Loss: 0.24763703
[INFO] [stdout] Epoch 406, Loss: 0.2523198
[INFO] [stdout] Epoch 406, Loss: 0.24837586
[INFO] [stdout] Epoch 407, Loss: 0.25164115
[INFO] [stdout] Epoch 407, Loss: 0.24763194
[INFO] [stdout] Epoch 407, Loss: 0.2523251
[INFO] [stdout] Epoch 407, Loss: 0.24837752
[INFO] [stdout] Epoch 408, Loss: 0.2516392
[INFO] [stdout] Epoch 408, Loss: 0.24762684
[INFO] [stdout] Epoch 408, Loss: 0.25233045
[INFO] [stdout] Epoch 408, Loss: 0.24837904
[INFO] [stdout] Epoch 409, Loss: 0.25163722
[INFO] [stdout] Epoch 409, Loss: 0.24762167
[INFO] [stdout] Epoch 409, Loss: 0.25233567
[INFO] [stdout] Epoch 409, Loss: 0.2483807
[INFO] [stdout] Epoch 410, Loss: 0.25163528
[INFO] [stdout] Epoch 410, Loss: 0.24761651
[INFO] [stdout] Epoch 410, Loss: 0.252341
[INFO] [stdout] Epoch 410, Loss: 0.2483823
[INFO] [stdout] Epoch 411, Loss: 0.25163338
[INFO] [stdout] Epoch 411, Loss: 0.24761142
[INFO] [stdout] Epoch 411, Loss: 0.25234628
[INFO] [stdout] Epoch 411, Loss: 0.24838388
[INFO] [stdout] Epoch 412, Loss: 0.25163147
[INFO] [stdout] Epoch 412, Loss: 0.24760625
[INFO] [stdout] Epoch 412, Loss: 0.25235155
[INFO] [stdout] Epoch 412, Loss: 0.24838547
[INFO] [stdout] Epoch 413, Loss: 0.25162956
[INFO] [stdout] Epoch 413, Loss: 0.24760115
[INFO] [stdout] Epoch 413, Loss: 0.25235695
[INFO] [stdout] Epoch 413, Loss: 0.24838708
[INFO] [stdout] Epoch 414, Loss: 0.2516276
[INFO] [stdout] Epoch 414, Loss: 0.247596
[INFO] [stdout] Epoch 414, Loss: 0.25236225
[INFO] [stdout] Epoch 414, Loss: 0.2483886
[INFO] [stdout] Epoch 415, Loss: 0.25162578
[INFO] [stdout] Epoch 415, Loss: 0.24759077
[INFO] [stdout] Epoch 415, Loss: 0.25236747
[INFO] [stdout] Epoch 415, Loss: 0.24839026
[INFO] [stdout] Epoch 416, Loss: 0.25162387
[INFO] [stdout] Epoch 416, Loss: 0.24758567
[INFO] [stdout] Epoch 416, Loss: 0.2523728
[INFO] [stdout] Epoch 416, Loss: 0.24839175
[INFO] [stdout] Epoch 417, Loss: 0.25162196
[INFO] [stdout] Epoch 417, Loss: 0.24758051
[INFO] [stdout] Epoch 417, Loss: 0.2523782
[INFO] [stdout] Epoch 417, Loss: 0.24839321
[INFO] [stdout] Epoch 418, Loss: 0.25162017
[INFO] [stdout] Epoch 418, Loss: 0.24757528
[INFO] [stdout] Epoch 418, Loss: 0.25238353
[INFO] [stdout] Epoch 418, Loss: 0.24839486
[INFO] [stdout] Epoch 419, Loss: 0.25161827
[INFO] [stdout] Epoch 419, Loss: 0.24757013
[INFO] [stdout] Epoch 419, Loss: 0.2523888
[INFO] [stdout] Epoch 419, Loss: 0.24839635
[INFO] [stdout] Epoch 420, Loss: 0.25161645
[INFO] [stdout] Epoch 420, Loss: 0.24756497
[INFO] [stdout] Epoch 420, Loss: 0.25239417
[INFO] [stdout] Epoch 420, Loss: 0.24839781
[INFO] [stdout] Epoch 421, Loss: 0.2516146
[INFO] [stdout] Epoch 421, Loss: 0.2475597
[INFO] [stdout] Epoch 421, Loss: 0.2523995
[INFO] [stdout] Epoch 421, Loss: 0.24839935
[INFO] [stdout] Epoch 422, Loss: 0.2516128
[INFO] [stdout] Epoch 422, Loss: 0.24755453
[INFO] [stdout] Epoch 422, Loss: 0.2524049
[INFO] [stdout] Epoch 422, Loss: 0.2484009
[INFO] [stdout] Epoch 423, Loss: 0.25161096
[INFO] [stdout] Epoch 423, Loss: 0.24754931
[INFO] [stdout] Epoch 423, Loss: 0.2524103
[INFO] [stdout] Epoch 423, Loss: 0.2484023
[INFO] [stdout] Epoch 424, Loss: 0.25160918
[INFO] [stdout] Epoch 424, Loss: 0.24754415
[INFO] [stdout] Epoch 424, Loss: 0.25241563
[INFO] [stdout] Epoch 424, Loss: 0.24840385
[INFO] [stdout] Epoch 425, Loss: 0.25160736
[INFO] [stdout] Epoch 425, Loss: 0.24753888
[INFO] [stdout] Epoch 425, Loss: 0.25242102
[INFO] [stdout] Epoch 425, Loss: 0.24840532
[INFO] [stdout] Epoch 426, Loss: 0.25160557
[INFO] [stdout] Epoch 426, Loss: 0.24753365
[INFO] [stdout] Epoch 426, Loss: 0.2524263
[INFO] [stdout] Epoch 426, Loss: 0.24840678
[INFO] [stdout] Epoch 427, Loss: 0.25160378
[INFO] [stdout] Epoch 427, Loss: 0.24752843
[INFO] [stdout] Epoch 427, Loss: 0.25243178
[INFO] [stdout] Epoch 427, Loss: 0.24840821
[INFO] [stdout] Epoch 428, Loss: 0.2516021
[INFO] [stdout] Epoch 428, Loss: 0.24752316
[INFO] [stdout] Epoch 428, Loss: 0.25243706
[INFO] [stdout] Epoch 428, Loss: 0.24840969
[INFO] [stdout] Epoch 429, Loss: 0.25160027
[INFO] [stdout] Epoch 429, Loss: 0.24751793
[INFO] [stdout] Epoch 429, Loss: 0.25244257
[INFO] [stdout] Epoch 429, Loss: 0.24841106
[INFO] [stdout] Epoch 430, Loss: 0.2515985
[INFO] [stdout] Epoch 430, Loss: 0.24751265
[INFO] [stdout] Epoch 430, Loss: 0.2524479
[INFO] [stdout] Epoch 430, Loss: 0.24841252
[INFO] [stdout] Epoch 431, Loss: 0.25159678
[INFO] [stdout] Epoch 431, Loss: 0.24750738
[INFO] [stdout] Epoch 431, Loss: 0.25245336
[INFO] [stdout] Epoch 431, Loss: 0.24841394
[INFO] [stdout] Epoch 432, Loss: 0.25159505
[INFO] [stdout] Epoch 432, Loss: 0.2475021
[INFO] [stdout] Epoch 432, Loss: 0.25245875
[INFO] [stdout] Epoch 432, Loss: 0.2484153
[INFO] [stdout] Epoch 433, Loss: 0.25159338
[INFO] [stdout] Epoch 433, Loss: 0.24749683
[INFO] [stdout] Epoch 433, Loss: 0.25246415
[INFO] [stdout] Epoch 433, Loss: 0.2484167
[INFO] [stdout] Epoch 434, Loss: 0.2515916
[INFO] [stdout] Epoch 434, Loss: 0.24749154
[INFO] [stdout] Epoch 434, Loss: 0.25246966
[INFO] [stdout] Epoch 434, Loss: 0.24841812
[INFO] [stdout] Epoch 435, Loss: 0.25158992
[INFO] [stdout] Epoch 435, Loss: 0.24748626
[INFO] [stdout] Epoch 435, Loss: 0.25247505
[INFO] [stdout] Epoch 435, Loss: 0.2484195
[INFO] [stdout] Epoch 436, Loss: 0.25158823
[INFO] [stdout] Epoch 436, Loss: 0.24748093
[INFO] [stdout] Epoch 436, Loss: 0.25248054
[INFO] [stdout] Epoch 436, Loss: 0.24842083
[INFO] [stdout] Epoch 437, Loss: 0.25158656
[INFO] [stdout] Epoch 437, Loss: 0.2474756
[INFO] [stdout] Epoch 437, Loss: 0.25248593
[INFO] [stdout] Epoch 437, Loss: 0.24842227
[INFO] [stdout] Epoch 438, Loss: 0.2515849
[INFO] [stdout] Epoch 438, Loss: 0.24747026
[INFO] [stdout] Epoch 438, Loss: 0.25249144
[INFO] [stdout] Epoch 438, Loss: 0.24842356
[INFO] [stdout] Epoch 439, Loss: 0.25158328
[INFO] [stdout] Epoch 439, Loss: 0.24746491
[INFO] [stdout] Epoch 439, Loss: 0.2524969
[INFO] [stdout] Epoch 439, Loss: 0.24842499
[INFO] [stdout] Epoch 440, Loss: 0.25158155
[INFO] [stdout] Epoch 440, Loss: 0.24745958
[INFO] [stdout] Epoch 440, Loss: 0.25250235
[INFO] [stdout] Epoch 440, Loss: 0.24842627
[INFO] [stdout] Epoch 441, Loss: 0.2515799
[INFO] [stdout] Epoch 441, Loss: 0.2474543
[INFO] [stdout] Epoch 441, Loss: 0.2525078
[INFO] [stdout] Epoch 441, Loss: 0.24842757
[INFO] [stdout] Epoch 442, Loss: 0.2515783
[INFO] [stdout] Epoch 442, Loss: 0.2474489
[INFO] [stdout] Epoch 442, Loss: 0.25251332
[INFO] [stdout] Epoch 442, Loss: 0.24842888
[INFO] [stdout] Epoch 443, Loss: 0.25157663
[INFO] [stdout] Epoch 443, Loss: 0.24744351
[INFO] [stdout] Epoch 443, Loss: 0.25251883
[INFO] [stdout] Epoch 443, Loss: 0.24843022
[INFO] [stdout] Epoch 444, Loss: 0.25157502
[INFO] [stdout] Epoch 444, Loss: 0.24743812
[INFO] [stdout] Epoch 444, Loss: 0.25252435
[INFO] [stdout] Epoch 444, Loss: 0.24843147
[INFO] [stdout] Epoch 445, Loss: 0.2515734
[INFO] [stdout] Epoch 445, Loss: 0.24743278
[INFO] [stdout] Epoch 445, Loss: 0.25252986
[INFO] [stdout] Epoch 445, Loss: 0.24843277
[INFO] [stdout] Epoch 446, Loss: 0.2515718
[INFO] [stdout] Epoch 446, Loss: 0.24742731
[INFO] [stdout] Epoch 446, Loss: 0.25253543
[INFO] [stdout] Epoch 446, Loss: 0.24843408
[INFO] [stdout] Epoch 447, Loss: 0.25157017
[INFO] [stdout] Epoch 447, Loss: 0.24742192
[INFO] [stdout] Epoch 447, Loss: 0.25254095
[INFO] [stdout] Epoch 447, Loss: 0.24843536
[INFO] [stdout] Epoch 448, Loss: 0.25156862
[INFO] [stdout] Epoch 448, Loss: 0.24741653
[INFO] [stdout] Epoch 448, Loss: 0.25254643
[INFO] [stdout] Epoch 448, Loss: 0.24843661
[INFO] [stdout] Epoch 449, Loss: 0.25156707
[INFO] [stdout] Epoch 449, Loss: 0.24741107
[INFO] [stdout] Epoch 449, Loss: 0.25255206
[INFO] [stdout] Epoch 449, Loss: 0.24843785
[INFO] [stdout] Epoch 450, Loss: 0.25156552
[INFO] [stdout] Epoch 450, Loss: 0.24740562
[INFO] [stdout] Epoch 450, Loss: 0.25255758
[INFO] [stdout] Epoch 450, Loss: 0.24843916
[INFO] [stdout] Epoch 451, Loss: 0.25156397
[INFO] [stdout] Epoch 451, Loss: 0.24740022
[INFO] [stdout] Epoch 451, Loss: 0.2525632
[INFO] [stdout] Epoch 451, Loss: 0.24844033
[INFO] [stdout] Epoch 452, Loss: 0.25156242
[INFO] [stdout] Epoch 452, Loss: 0.24739471
[INFO] [stdout] Epoch 452, Loss: 0.25256872
[INFO] [stdout] Epoch 452, Loss: 0.24844162
[INFO] [stdout] Epoch 453, Loss: 0.25156084
[INFO] [stdout] Epoch 453, Loss: 0.24738932
[INFO] [stdout] Epoch 453, Loss: 0.25257435
[INFO] [stdout] Epoch 453, Loss: 0.24844275
[INFO] [stdout] Epoch 454, Loss: 0.25155935
[INFO] [stdout] Epoch 454, Loss: 0.2473838
[INFO] [stdout] Epoch 454, Loss: 0.25257987
[INFO] [stdout] Epoch 454, Loss: 0.24844398
[INFO] [stdout] Epoch 455, Loss: 0.2515578
[INFO] [stdout] Epoch 455, Loss: 0.24737829
[INFO] [stdout] Epoch 455, Loss: 0.2525855
[INFO] [stdout] Epoch 455, Loss: 0.24844517
[INFO] [stdout] Epoch 456, Loss: 0.25155625
[INFO] [stdout] Epoch 456, Loss: 0.24737284
[INFO] [stdout] Epoch 456, Loss: 0.25259113
[INFO] [stdout] Epoch 456, Loss: 0.24844635
[INFO] [stdout] Epoch 457, Loss: 0.25155482
[INFO] [stdout] Epoch 457, Loss: 0.24736726
[INFO] [stdout] Epoch 457, Loss: 0.25259688
[INFO] [stdout] Epoch 457, Loss: 0.24844754
[INFO] [stdout] Epoch 458, Loss: 0.25155327
[INFO] [stdout] Epoch 458, Loss: 0.24736175
[INFO] [stdout] Epoch 458, Loss: 0.2526024
[INFO] [stdout] Epoch 458, Loss: 0.24844873
[INFO] [stdout] Epoch 459, Loss: 0.25155178
[INFO] [stdout] Epoch 459, Loss: 0.24735624
[INFO] [stdout] Epoch 459, Loss: 0.25260815
[INFO] [stdout] Epoch 459, Loss: 0.24844989
[INFO] [stdout] Epoch 460, Loss: 0.25155038
[INFO] [stdout] Epoch 460, Loss: 0.2473506
[INFO] [stdout] Epoch 460, Loss: 0.25261372
[INFO] [stdout] Epoch 460, Loss: 0.24845108
[INFO] [stdout] Epoch 461, Loss: 0.2515489
[INFO] [stdout] Epoch 461, Loss: 0.24734509
[INFO] [stdout] Epoch 461, Loss: 0.25261942
[INFO] [stdout] Epoch 461, Loss: 0.2484522
[INFO] [stdout] Epoch 462, Loss: 0.2515474
[INFO] [stdout] Epoch 462, Loss: 0.24733952
[INFO] [stdout] Epoch 462, Loss: 0.2526251
[INFO] [stdout] Epoch 462, Loss: 0.24845333
[INFO] [stdout] Epoch 463, Loss: 0.25154597
[INFO] [stdout] Epoch 463, Loss: 0.24733394
[INFO] [stdout] Epoch 463, Loss: 0.2526308
[INFO] [stdout] Epoch 463, Loss: 0.24845444
[INFO] [stdout] Epoch 464, Loss: 0.2515446
[INFO] [stdout] Epoch 464, Loss: 0.24732831
[INFO] [stdout] Epoch 464, Loss: 0.2526365
[INFO] [stdout] Epoch 464, Loss: 0.24845557
[INFO] [stdout] Epoch 465, Loss: 0.2515431
[INFO] [stdout] Epoch 465, Loss: 0.24732274
[INFO] [stdout] Epoch 465, Loss: 0.25264218
[INFO] [stdout] Epoch 465, Loss: 0.24845663
[INFO] [stdout] Epoch 466, Loss: 0.25154167
[INFO] [stdout] Epoch 466, Loss: 0.24731717
[INFO] [stdout] Epoch 466, Loss: 0.25264794
[INFO] [stdout] Epoch 466, Loss: 0.24845776
[INFO] [stdout] Epoch 467, Loss: 0.25154027
[INFO] [stdout] Epoch 467, Loss: 0.24731153
[INFO] [stdout] Epoch 467, Loss: 0.2526537
[INFO] [stdout] Epoch 467, Loss: 0.24845886
[INFO] [stdout] Epoch 468, Loss: 0.25153884
[INFO] [stdout] Epoch 468, Loss: 0.24730584
[INFO] [stdout] Epoch 468, Loss: 0.25265944
[INFO] [stdout] Epoch 468, Loss: 0.24845994
[INFO] [stdout] Epoch 469, Loss: 0.25153747
[INFO] [stdout] Epoch 469, Loss: 0.24730021
[INFO] [stdout] Epoch 469, Loss: 0.2526652
[INFO] [stdout] Epoch 469, Loss: 0.248461
[INFO] [stdout] Epoch 470, Loss: 0.2515361
[INFO] [stdout] Epoch 470, Loss: 0.24729452
[INFO] [stdout] Epoch 470, Loss: 0.25267094
[INFO] [stdout] Epoch 470, Loss: 0.24846207
[INFO] [stdout] Epoch 471, Loss: 0.25153473
[INFO] [stdout] Epoch 471, Loss: 0.24728882
[INFO] [stdout] Epoch 471, Loss: 0.2526768
[INFO] [stdout] Epoch 471, Loss: 0.24846311
[INFO] [stdout] Epoch 472, Loss: 0.25153336
[INFO] [stdout] Epoch 472, Loss: 0.24728313
[INFO] [stdout] Epoch 472, Loss: 0.25268257
[INFO] [stdout] Epoch 472, Loss: 0.24846418
[INFO] [stdout] Epoch 473, Loss: 0.25153205
[INFO] [stdout] Epoch 473, Loss: 0.24727744
[INFO] [stdout] Epoch 473, Loss: 0.25268832
[INFO] [stdout] Epoch 473, Loss: 0.24846525
[INFO] [stdout] Epoch 474, Loss: 0.25153065
[INFO] [stdout] Epoch 474, Loss: 0.24727169
[INFO] [stdout] Epoch 474, Loss: 0.2526942
[INFO] [stdout] Epoch 474, Loss: 0.24846625
[INFO] [stdout] Epoch 475, Loss: 0.25152934
[INFO] [stdout] Epoch 475, Loss: 0.247266
[INFO] [stdout] Epoch 475, Loss: 0.25270006
[INFO] [stdout] Epoch 475, Loss: 0.24846727
[INFO] [stdout] Epoch 476, Loss: 0.25152802
[INFO] [stdout] Epoch 476, Loss: 0.24726026
[INFO] [stdout] Epoch 476, Loss: 0.2527058
[INFO] [stdout] Epoch 476, Loss: 0.24846825
[INFO] [stdout] Epoch 477, Loss: 0.25152665
[INFO] [stdout] Epoch 477, Loss: 0.2472545
[INFO] [stdout] Epoch 477, Loss: 0.25271174
[INFO] [stdout] Epoch 477, Loss: 0.24846926
[INFO] [stdout] Epoch 478, Loss: 0.2515254
[INFO] [stdout] Epoch 478, Loss: 0.24724875
[INFO] [stdout] Epoch 478, Loss: 0.2527176
[INFO] [stdout] Epoch 478, Loss: 0.24847022
[INFO] [stdout] Epoch 479, Loss: 0.25152403
[INFO] [stdout] Epoch 479, Loss: 0.24724294
[INFO] [stdout] Epoch 479, Loss: 0.25272352
[INFO] [stdout] Epoch 479, Loss: 0.24847122
[INFO] [stdout] Epoch 480, Loss: 0.25152278
[INFO] [stdout] Epoch 480, Loss: 0.24723707
[INFO] [stdout] Epoch 480, Loss: 0.2527294
[INFO] [stdout] Epoch 480, Loss: 0.24847223
[INFO] [stdout] Epoch 481, Loss: 0.25152144
[INFO] [stdout] Epoch 481, Loss: 0.24723132
[INFO] [stdout] Epoch 481, Loss: 0.25273538
[INFO] [stdout] Epoch 481, Loss: 0.24847315
[INFO] [stdout] Epoch 482, Loss: 0.25152025
[INFO] [stdout] Epoch 482, Loss: 0.24722545
[INFO] [stdout] Epoch 482, Loss: 0.2527412
[INFO] [stdout] Epoch 482, Loss: 0.2484741
[INFO] [stdout] Epoch 483, Loss: 0.25151893
[INFO] [stdout] Epoch 483, Loss: 0.24721965
[INFO] [stdout] Epoch 483, Loss: 0.25274718
[INFO] [stdout] Epoch 483, Loss: 0.24847506
[INFO] [stdout] Epoch 484, Loss: 0.25151768
[INFO] [stdout] Epoch 484, Loss: 0.24721378
[INFO] [stdout] Epoch 484, Loss: 0.25275317
[INFO] [stdout] Epoch 484, Loss: 0.248476
[INFO] [stdout] Epoch 485, Loss: 0.2515165
[INFO] [stdout] Epoch 485, Loss: 0.24720785
[INFO] [stdout] Epoch 485, Loss: 0.25275904
[INFO] [stdout] Epoch 485, Loss: 0.2484769
[INFO] [stdout] Epoch 486, Loss: 0.25151518
[INFO] [stdout] Epoch 486, Loss: 0.24720204
[INFO] [stdout] Epoch 486, Loss: 0.25276515
[INFO] [stdout] Epoch 486, Loss: 0.24847776
[INFO] [stdout] Epoch 487, Loss: 0.251514
[INFO] [stdout] Epoch 487, Loss: 0.24719612
[INFO] [stdout] Epoch 487, Loss: 0.25277102
[INFO] [stdout] Epoch 487, Loss: 0.24847871
[INFO] [stdout] Epoch 488, Loss: 0.25151274
[INFO] [stdout] Epoch 488, Loss: 0.24719019
[INFO] [stdout] Epoch 488, Loss: 0.25277707
[INFO] [stdout] Epoch 488, Loss: 0.2484796
[INFO] [stdout] Epoch 489, Loss: 0.2515115
[INFO] [stdout] Epoch 489, Loss: 0.24718426
[INFO] [stdout] Epoch 489, Loss: 0.25278312
[INFO] [stdout] Epoch 489, Loss: 0.24848048
[INFO] [stdout] Epoch 490, Loss: 0.25151038
[INFO] [stdout] Epoch 490, Loss: 0.24717827
[INFO] [stdout] Epoch 490, Loss: 0.2527892
[INFO] [stdout] Epoch 490, Loss: 0.24848138
[INFO] [stdout] Epoch 491, Loss: 0.25150913
[INFO] [stdout] Epoch 491, Loss: 0.24717236
[INFO] [stdout] Epoch 491, Loss: 0.25279525
[INFO] [stdout] Epoch 491, Loss: 0.24848227
[INFO] [stdout] Epoch 492, Loss: 0.251508
[INFO] [stdout] Epoch 492, Loss: 0.24716637
[INFO] [stdout] Epoch 492, Loss: 0.25280124
[INFO] [stdout] Epoch 492, Loss: 0.24848308
[INFO] [stdout] Epoch 493, Loss: 0.2515068
[INFO] [stdout] Epoch 493, Loss: 0.24716032
[INFO] [stdout] Epoch 493, Loss: 0.25280735
[INFO] [stdout] Epoch 493, Loss: 0.24848391
[INFO] [stdout] Epoch 494, Loss: 0.25150567
[INFO] [stdout] Epoch 494, Loss: 0.24715434
[INFO] [stdout] Epoch 494, Loss: 0.25281346
[INFO] [stdout] Epoch 494, Loss: 0.24848475
[INFO] [stdout] Epoch 495, Loss: 0.25150442
[INFO] [stdout] Epoch 495, Loss: 0.24714835
[INFO] [stdout] Epoch 495, Loss: 0.25281957
[INFO] [stdout] Epoch 495, Loss: 0.24848557
[INFO] [stdout] Epoch 496, Loss: 0.25150335
[INFO] [stdout] Epoch 496, Loss: 0.24714224
[INFO] [stdout] Epoch 496, Loss: 0.25282568
[INFO] [stdout] Epoch 496, Loss: 0.2484864
[INFO] [stdout] Epoch 497, Loss: 0.2515022
[INFO] [stdout] Epoch 497, Loss: 0.2471362
[INFO] [stdout] Epoch 497, Loss: 0.25283188
[INFO] [stdout] Epoch 497, Loss: 0.24848723
[INFO] [stdout] Epoch 498, Loss: 0.25150105
[INFO] [stdout] Epoch 498, Loss: 0.24713016
[INFO] [stdout] Epoch 498, Loss: 0.25283805
[INFO] [stdout] Epoch 498, Loss: 0.24848804
[INFO] [stdout] Epoch 499, Loss: 0.25149998
[INFO] [stdout] Epoch 499, Loss: 0.24712399
[INFO] [stdout] Epoch 499, Loss: 0.25284415
[INFO] [stdout] Epoch 499, Loss: 0.24848881
[INFO] [stdout] 
[INFO] [stdout] thread 'network_tests::test_network_training_simple' (42) panicked at tests/core_tests.rs:344:9:
[INFO] [stdout] assertion failed: final_loss < initial_loss * 0.9
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5c2184998582 - std[3b51380354919863]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5c2184998582 - std[3b51380354919863]::backtrace_rs::backtrace::trace_unsynchronized::<std[3b51380354919863]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5c2184998582 - std[3b51380354919863]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5c2184998582 - <<std[3b51380354919863]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[27de1724e4349be2]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5c21849ae05a - <core[27de1724e4349be2]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5c21849ae05a - core[27de1724e4349be2]::fmt::write
[INFO] [stdout]    6:     0x5c218499d386 - std[3b51380354919863]::io::default_write_fmt::<alloc[a57f19327c0ad893]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x5c218499d386 - <alloc[a57f19327c0ad893]::vec::Vec<u8> as std[3b51380354919863]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x5c2184976d1f - <std[3b51380354919863]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5c2184976d1f - std[3b51380354919863]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5c2184990869 - std[3b51380354919863]::panicking::default_hook
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x5c21848d294e - <alloc[a57f19327c0ad893]::boxed::Box<dyn for<'a, 'b> core[27de1724e4349be2]::ops::function::Fn<(&'a std[3b51380354919863]::panic::PanicHookInfo<'b>,), Output = ()> + core[27de1724e4349be2]::marker::Sync + core[27de1724e4349be2]::marker::Send> as core[27de1724e4349be2]::ops::function::Fn<(&std[3b51380354919863]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   12:     0x5c21848d294e - test[182b2e79ecd7bbd9]::test_main_with_exit_callback::<test[182b2e79ecd7bbd9]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x5c2184990a22 - <alloc[a57f19327c0ad893]::boxed::Box<dyn for<'a, 'b> core[27de1724e4349be2]::ops::function::Fn<(&'a std[3b51380354919863]::panic::PanicHookInfo<'b>,), Output = ()> + core[27de1724e4349be2]::marker::Sync + core[27de1724e4349be2]::marker::Send> as core[27de1724e4349be2]::ops::function::Fn<(&std[3b51380354919863]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   14:     0x5c2184990a22 - std[3b51380354919863]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x5c2184976e0a - std[3b51380354919863]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:691:13
[INFO] [stdout]   16:     0x5c218496c059 - std[3b51380354919863]::sys::backtrace::__rust_end_short_backtrace::<std[3b51380354919863]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5c2184977c2d - __rustc[d79c0ace40940972]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x5c21849ae72c - core[27de1724e4349be2]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5c21849ae6f2 - core[27de1724e4349be2]::panicking::panic
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/panicking.rs:150:5
[INFO] [stdout]   20:     0x5c21848c427c - core_tests[8ce71a9177ed1e3d]::network_tests::test_network_training_simple
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/core_tests.rs:344:9
[INFO] [stdout]   21:     0x5c21848bece7 - core_tests[8ce71a9177ed1e3d]::network_tests::test_network_training_simple::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/core_tests.rs:273:38
[INFO] [stdout]   22:     0x5c21848c6a96 - <core_tests[8ce71a9177ed1e3d]::network_tests::test_network_training_simple::{closure#0} as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   23:     0x5c21848c6cfb - <fn() -> core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String> as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x5c21848c6cfb - test[182b2e79ecd7bbd9]::__rust_begin_short_backtrace::<core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String>, fn() -> core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:663:18
[INFO] [stdout]   25:     0x5c21848d355a - test[182b2e79ecd7bbd9]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:686:74
[INFO] [stdout]   26:     0x5c21848d355a - <core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<test[182b2e79ecd7bbd9]::run_test_in_process::{closure#0}> as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   27:     0x5c21848d355a - std[3b51380354919863]::panicking::catch_unwind::do_call::<core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<test[182b2e79ecd7bbd9]::run_test_in_process::{closure#0}>, core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:581:40
[INFO] [stdout]   28:     0x5c21848d355a - std[3b51380354919863]::panicking::catch_unwind::<core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String>, core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<test[182b2e79ecd7bbd9]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:544:19
[INFO] [stdout]   29:     0x5c21848d355a - std[3b51380354919863]::panic::catch_unwind::<core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<test[182b2e79ecd7bbd9]::run_test_in_process::{closure#0}>, core[27de1724e4349be2]::result::Result<(), alloc[a57f19327c0ad893]::string::String>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panic.rs:359:14
[INFO] [stdout]   30:     0x5c21848d355a - test[182b2e79ecd7bbd9]::run_test_in_process
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:686:27
[INFO] [stdout]   31:     0x5c21848d355a - test[182b2e79ecd7bbd9]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:607:43
[INFO] [stdout]   32:     0x5c21848ceb04 - test[182b2e79ecd7bbd9]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/test/src/lib.rs:637:41
[INFO] [stdout]   33:     0x5c21848ceb04 - std[3b51380354919863]::sys::backtrace::__rust_begin_short_backtrace::<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   34:     0x5c21848d6052 - std[3b51380354919863]::thread::lifecycle::spawn_unchecked::<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   35:     0x5c21848d6052 - <core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<std[3b51380354919863]::thread::lifecycle::spawn_unchecked<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   36:     0x5c21848d6052 - std[3b51380354919863]::panicking::catch_unwind::do_call::<core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<std[3b51380354919863]::thread::lifecycle::spawn_unchecked<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:581:40
[INFO] [stdout]   37:     0x5c21848d6052 - std[3b51380354919863]::panicking::catch_unwind::<(), core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<std[3b51380354919863]::thread::lifecycle::spawn_unchecked<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panicking.rs:544:19
[INFO] [stdout]   38:     0x5c21848d6052 - std[3b51380354919863]::panic::catch_unwind::<core[27de1724e4349be2]::panic::unwind_safe::AssertUnwindSafe<std[3b51380354919863]::thread::lifecycle::spawn_unchecked<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/panic.rs:359:14
[INFO] [stdout]   39:     0x5c21848d6052 - std[3b51380354919863]::thread::lifecycle::spawn_unchecked::<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   40:     0x5c21848d6052 - <std[3b51380354919863]::thread::lifecycle::spawn_unchecked<test[182b2e79ecd7bbd9]::run_test::{closure#1}, ()>::{closure#1} as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   41:     0x5c2184997e2f - <alloc[a57f19327c0ad893]::boxed::Box<dyn core[27de1724e4349be2]::ops::function::FnOnce<(), Output = ()> + core[27de1724e4349be2]::marker::Send> as core[27de1724e4349be2]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/alloc/src/boxed.rs:2206:9
[INFO] [stdout]   42:     0x5c2184997e2f - <std[3b51380354919863]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/0d162b25edd5bf0dba9a22e83b614f1113e90474/library/std/src/sys/thread/unix.rs:119:17
[INFO] [stdout]   43:     0x7ce5596b6aa4 - <unknown>
[INFO] [stdout]   44:     0x7ce559743a64 - clone
[INFO] [stdout]   45:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     network_tests::test_network_training_simple
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 32 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.17s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "af58a9519f2bfa4d1d0d2fc187639d2f9e948a3376d1e8d2752647db962f268d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "af58a9519f2bfa4d1d0d2fc187639d2f9e948a3376d1e8d2752647db962f268d", kill_on_drop: false }`
[INFO] [stdout] af58a9519f2bfa4d1d0d2fc187639d2f9e948a3376d1e8d2752647db962f268d
