[INFO] fetching crate nevermind-neu 0.2.1... [INFO] checking nevermind-neu-0.2.1 against master#ab869e094a907cc5d19b4080f22eccaf347f1f95 for pr-129604 [INFO] extracting crate nevermind-neu 0.2.1 into /workspace/builds/worker-3-tc1/source [INFO] validating manifest of crates.io crate nevermind-neu 0.2.1 on toolchain ab869e094a907cc5d19b4080f22eccaf347f1f95 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ab869e094a907cc5d19b4080f22eccaf347f1f95" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking crates.io crate nevermind-neu 0.2.1 [INFO] removed 3 missing examples [INFO] finished tweaking crates.io crate nevermind-neu 0.2.1 [INFO] tweaked toml for crates.io crate nevermind-neu 0.2.1 written to /workspace/builds/worker-3-tc1/source/Cargo.toml [INFO] crate crates.io crate nevermind-neu 0.2.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" "+ab869e094a907cc5d19b4080f22eccaf347f1f95" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded qutex v0.2.4 [INFO] [stderr] Downloaded thread-id v4.2.0 [INFO] [stderr] Downloaded rust-mnist v0.1.4 [INFO] [stderr] Downloaded tui v0.19.0 [INFO] [stderr] Downloaded ocl v0.19.5 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+ab869e094a907cc5d19b4080f22eccaf347f1f95" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 8bcbd3b6996ad97fc39cf110e1d79ec8ff98c841db0641171c71bf60311decc6 [INFO] running `Command { std: "docker" "start" "-a" "8bcbd3b6996ad97fc39cf110e1d79ec8ff98c841db0641171c71bf60311decc6", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "8bcbd3b6996ad97fc39cf110e1d79ec8ff98c841db0641171c71bf60311decc6", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "8bcbd3b6996ad97fc39cf110e1d79ec8ff98c841db0641171c71bf60311decc6", kill_on_drop: false }` [INFO] [stdout] 8bcbd3b6996ad97fc39cf110e1d79ec8ff98c841db0641171c71bf60311decc6 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+ab869e094a907cc5d19b4080f22eccaf347f1f95" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 341511490a6988f508d10e715952c872376d54101618c4f494bd1350a6b6d67d [INFO] running `Command { std: "docker" "start" "-a" "341511490a6988f508d10e715952c872376d54101618c4f494bd1350a6b6d67d", kill_on_drop: false }` [INFO] [stderr] Compiling autocfg v1.1.0 [INFO] [stderr] Compiling proc-macro2 v1.0.67 [INFO] [stderr] Compiling libc v0.2.148 [INFO] [stderr] Compiling libm v0.2.7 [INFO] [stderr] Checking scopeguard v1.2.0 [INFO] [stderr] Compiling serde v1.0.188 [INFO] [stderr] Compiling crossbeam-utils v0.8.16 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Compiling anyhow v1.0.75 [INFO] [stderr] Compiling either v1.9.0 [INFO] [stderr] Compiling semver v1.0.19 [INFO] [stderr] Compiling rustix v0.38.15 [INFO] [stderr] Compiling linux-raw-sys v0.4.8 [INFO] [stderr] Checking memchr v2.6.4 [INFO] [stderr] Compiling parking_lot_core v0.9.8 [INFO] [stderr] Compiling bitflags v2.4.0 [INFO] [stderr] Compiling rayon-core v1.12.0 [INFO] [stderr] Compiling itertools v0.10.5 [INFO] [stderr] Compiling equivalent v1.0.1 [INFO] [stderr] Compiling crossbeam-queue v0.3.8 [INFO] [stderr] Compiling prettyplease v0.1.25 [INFO] [stderr] Checking ppv-lite86 v0.2.17 [INFO] [stderr] Compiling regex-syntax v0.7.5 [INFO] [stderr] Compiling thiserror v1.0.48 [INFO] [stderr] Compiling num-traits v0.2.16 [INFO] [stderr] Compiling memoffset v0.9.0 [INFO] [stderr] Compiling crossbeam-epoch v0.9.15 [INFO] [stderr] Compiling indexmap v1.9.3 [INFO] [stderr] Compiling lock_api v0.4.10 [INFO] [stderr] Compiling matrixmultiply v0.3.8 [INFO] [stderr] Compiling num-integer v0.1.45 [INFO] [stderr] Compiling bytes v1.5.0 [INFO] [stderr] Compiling signal-hook v0.3.17 [INFO] [stderr] Compiling quote v1.0.33 [INFO] [stderr] Checking smallvec v1.11.1 [INFO] [stderr] Compiling hashbrown v0.14.1 [INFO] [stderr] Compiling rustc_version v0.4.0 [INFO] [stderr] Compiling cl-sys v0.4.3 [INFO] [stderr] Compiling cfg-if v1.0.0 [INFO] [stderr] Compiling syn v2.0.37 [INFO] [stderr] Compiling fastrand v2.0.1 [INFO] [stderr] Compiling home v0.5.5 [INFO] [stderr] Compiling fixedbitset v0.4.2 [INFO] [stderr] Checking ryu v1.0.15 [INFO] [stderr] Checking rawpointer v0.2.1 [INFO] [stderr] Compiling ocl-core v0.11.5 [INFO] [stderr] Checking crossbeam-channel v0.5.8 [INFO] [stderr] Checking crossbeam-deque v0.8.3 [INFO] [stderr] Checking aho-corasick v1.1.1 [INFO] [stderr] Compiling memoffset v0.7.1 [INFO] [stderr] Checking itoa v1.0.9 [INFO] [stderr] Compiling heck v0.4.1 [INFO] [stderr] Checking linked-hash-map v0.5.6 [INFO] [stderr] Compiling log v0.4.20 [INFO] [stderr] Compiling serde_json v1.0.107 [INFO] [stderr] Compiling multimap v0.8.3 [INFO] [stderr] Checking getrandom v0.2.10 [INFO] [stderr] Checking signal-hook-registry v1.4.1 [INFO] [stderr] Compiling indexmap v2.0.2 [INFO] [stderr] Checking destructure_traitobject v0.2.0 [INFO] [stderr] Compiling lazy_static v1.4.0 [INFO] [stderr] Checking crossbeam v0.8.2 [INFO] [stderr] Checking rand_core v0.6.4 [INFO] [stderr] Checking parking_lot v0.12.1 [INFO] [stderr] Checking yaml-rust v0.4.5 [INFO] [stderr] Checking unsafe-any-ors v1.0.0 [INFO] [stderr] Checking rand v0.4.6 [INFO] [stderr] Checking rayon v1.8.0 [INFO] [stderr] Checking atty v0.2.14 [INFO] [stderr] Checking futures v0.1.31 [INFO] [stderr] Checking iana-time-zone v0.1.57 [INFO] [stderr] Compiling regex-automata v0.3.9 [INFO] [stderr] Checking termcolor v1.3.0 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Checking num-complex v0.4.4 [INFO] [stderr] Checking num-traits v0.1.43 [INFO] [stderr] Checking ocl-core-vector v0.1.1 [INFO] [stderr] Checking ordered-float v2.10.0 [INFO] [stderr] Checking enum_primitive v0.1.1 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Checking os_str_bytes v6.5.1 [INFO] [stderr] Compiling petgraph v0.6.4 [INFO] [stderr] Checking rand v0.3.23 [INFO] [stderr] Checking chrono v0.4.31 [INFO] [stderr] Checking clap_lex v0.2.4 [INFO] [stderr] Checking noisy_float v0.2.0 [INFO] [stderr] Checking rand_core v0.3.1 [INFO] [stderr] Checking typemap-ors v1.0.0 [INFO] [stderr] Checking thread-id v4.2.0 [INFO] [stderr] Checking csv-core v0.1.10 [INFO] [stderr] Checking unicode-width v0.1.11 [INFO] [stderr] Checking log-mdc v0.1.0 [INFO] [stderr] Checking fnv v1.0.7 [INFO] [stderr] Compiling tempfile v3.8.0 [INFO] [stderr] Compiling which v4.4.2 [INFO] [stderr] Checking rand_distr v0.4.3 [INFO] [stderr] Checking pin-utils v0.1.0 [INFO] [stderr] Checking cassowary v0.3.0 [INFO] [stderr] Checking qutex v0.2.4 [INFO] [stderr] Checking strsim v0.10.0 [INFO] [stderr] Checking unicode-segmentation v1.10.1 [INFO] [stderr] Checking textwrap v0.16.0 [INFO] [stderr] Checking arc-swap v1.6.0 [INFO] [stderr] Checking nodrop v0.1.14 [INFO] [stderr] Checking nix v0.26.4 [INFO] [stderr] Checking rand v0.5.6 [INFO] [stderr] Compiling serde_derive v1.0.188 [INFO] [stderr] Compiling thiserror-impl v1.0.48 [INFO] [stderr] Checking clap v3.2.25 [INFO] [stderr] Compiling regex v1.9.6 [INFO] [stderr] Checking ndarray v0.15.6 [INFO] [stderr] Compiling prost-derive v0.11.9 [INFO] [stderr] Compiling derivative v2.2.0 [INFO] [stderr] Checking ocl v0.19.5 [INFO] [stderr] Compiling prost v0.11.9 [INFO] [stderr] Compiling prost-types v0.11.9 [INFO] [stderr] Checking ndarray-rand v0.14.0 [INFO] [stderr] Checking ndarray-stats v0.5.1 [INFO] [stderr] Compiling prost-build v0.11.9 [INFO] [stderr] Checking serde-value v0.7.0 [INFO] [stderr] Checking serde_yaml v0.8.26 [INFO] [stderr] Checking csv v1.2.2 [INFO] [stderr] Checking mio v0.8.8 [INFO] [stderr] Checking rust-mnist v0.1.4 [INFO] [stderr] Checking env_logger v0.9.3 [INFO] [stderr] Compiling nevermind-neu v0.2.1 (/opt/rustwide/workdir) [INFO] [stderr] Checking signal-hook-mio v0.2.3 [INFO] [stderr] Checking crossterm v0.25.0 [INFO] [stderr] Checking log4rs v1.2.0 [INFO] [stderr] Checking tui v0.19.0 [INFO] [stdout] warning: unused import: `info` [INFO] [stdout] --> src/layers/euclidean_loss_layer.rs:6:18 [INFO] [stdout] | [INFO] [stdout] 6 | use log::{debug, info}; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Array1` [INFO] [stdout] --> src/layers/softmax_loss_layer.rs:11:15 [INFO] [stdout] | [INFO] [stdout] 11 | use ndarray::{Array1, Axis, Zip, indices}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `info` and `warn` [INFO] [stdout] --> src/layers/softmax_loss_layer.rs:13:18 [INFO] [stdout] | [INFO] [stdout] 13 | use log::{debug, info, warn}; [INFO] [stdout] | ^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Buffer`, `MemFlags`, and `ProQue` [INFO] [stdout] --> src/layers/abstract_layer_ocl.rs:3:11 [INFO] [stdout] | [INFO] [stdout] 3 | use ocl::{Buffer, Context, Device, MemFlags, ProQue, Queue}; [INFO] [stdout] | ^^^^^^ ^^^^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `MemFlags` [INFO] [stdout] --> src/layers/fc_layer_ocl.rs:10:44 [INFO] [stdout] | [INFO] [stdout] 10 | use ocl::{Buffer, Context, Device, Kernel, MemFlags, Program, Queue}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `debug` [INFO] [stdout] --> src/layers/input_layer_ocl.rs:3:11 [INFO] [stdout] | [INFO] [stdout] 3 | use log::{debug, error}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `DerefMut` [INFO] [stdout] --> src/layers/euclidean_loss_layer_ocl.rs:13:18 [INFO] [stdout] | [INFO] [stdout] 13 | ops::{Deref, DerefMut}, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `warn` [INFO] [stdout] --> src/layers/softmax_loss_layer_ocl.rs:6:18 [INFO] [stdout] | [INFO] [stdout] 6 | use log::{debug, warn}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `error::Error`, `fs::File`, `io::ErrorKind`, and `io::prelude::*` [INFO] [stdout] --> src/optimizers/optim_ocl.rs:1:11 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{error::Error, fs::File, io::prelude::*, io::ErrorKind}; [INFO] [stdout] | ^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Serializer` [INFO] [stdout] --> src/util/util.rs:2:18 [INFO] [stdout] | [INFO] [stdout] 2 | use serde::ser::{Serializer}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `hash::Hash` [INFO] [stdout] --> src/util/with_params.rs:1:33 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{collections::HashMap, hash::Hash}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::sync::Arc` [INFO] [stdout] --> src/models/sequential.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | use std::sync::Arc; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `cell::RefCell` [INFO] [stdout] --> src/models/sequential.rs:13:11 [INFO] [stdout] | [INFO] [stdout] 13 | use std::{cell::RefCell, fs}; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `info` [INFO] [stdout] --> src/models/sequential.rs:15:25 [INFO] [stdout] | [INFO] [stdout] 15 | use log::{debug, error, info}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/models/model_helper.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ndarray::Array2` [INFO] [stdout] --> src/models/model_helper.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use ndarray::Array2; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `str::FromStr` [INFO] [stdout] --> src/models/model_helper.rs:4:11 [INFO] [stdout] | [INFO] [stdout] 4 | use std::{str::FromStr, sync::Arc, cell::RefCell}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `TypeBuffer` [INFO] [stdout] --> src/models/model_helper.rs:6:42 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::cpu_params::{VariantParamArc, TypeBuffer}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `PbBufBlob` [INFO] [stdout] --> src/models/model_helper.rs:7:32 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::models::pb::{PbBuf, PbBufBlob}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `DerefMut` and `Deref` [INFO] [stdout] --> src/models/sequential_ocl.rs:7:11 [INFO] [stdout] | [INFO] [stdout] 7 | ops::{Deref, DerefMut}, [INFO] [stdout] | ^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `CommandQueueProperties` and `MapFlags` [INFO] [stdout] --> src/models/sequential_ocl.rs:23:18 [INFO] [stdout] | [INFO] [stdout] 23 | use ocl::flags::{CommandQueueProperties, MapFlags, MemFlags}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Event`, `Kernel`, `Program`, and `Result as OclResult` [INFO] [stdout] --> src/models/sequential_ocl.rs:24:36 [INFO] [stdout] | [INFO] [stdout] 24 | use ocl::{Buffer, Context, Device, Event, Kernel, Platform, Program, Queue, Result as OclResult}; [INFO] [stdout] | ^^^^^ ^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `cell::RefCell` and `rc::Rc` [INFO] [stdout] --> src/models/mod.rs:6:25 [INFO] [stdout] | [INFO] [stdout] 6 | use std::{error::Error, rc::Rc, cell::RefCell}; [INFO] [stdout] | ^^^^^^ ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `layers_storage::SerdeLayersStorage` [INFO] [stdout] --> src/models/mod.rs:7:60 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::{util::*, layers::AbstractLayer, cpu_params::*, layers_storage::SerdeLayersStorage}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::util::*` [INFO] [stdout] --> src/layer_fabric.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::util::*; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `log::debug` [INFO] [stdout] --> src/cpu_params.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use log::debug; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ndarray_rand::rand::rngs::SmallRng` [INFO] [stdout] --> src/cpu_params.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use ndarray_rand::rand::rngs::SmallRng; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ndarray_rand::rand::SeedableRng` [INFO] [stdout] --> src/cpu_params.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use ndarray_rand::rand::SeedableRng; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Distribution` [INFO] [stdout] --> src/cpu_params.rs:12:32 [INFO] [stdout] | [INFO] [stdout] 12 | use ndarray_rand::rand_distr::{Distribution, Uniform}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Float` and `WsBlob` [INFO] [stdout] --> src/cpu_params.rs:15:37 [INFO] [stdout] | [INFO] [stdout] 15 | use super::util::{Array1D, Array2D, Float, WsBlob, WsMat}; [INFO] [stdout] | ^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `debug` [INFO] [stdout] --> src/orchestra.rs:8:11 [INFO] [stdout] | [INFO] [stdout] 8 | use log::{debug, error, info, warn}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Axis` [INFO] [stdout] --> src/orchestra.rs:17:15 [INFO] [stdout] | [INFO] [stdout] 17 | use ndarray::{Axis, Zip}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `tui::widgets::canvas::Shape` [INFO] [stdout] --> src/ocl.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use tui::widgets::canvas::Shape; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Context`, `Device`, and `ProQue` [INFO] [stdout] --> src/ocl.rs:6:19 [INFO] [stdout] | [INFO] [stdout] 6 | use ocl::{Buffer, Context, Device, MemFlags, ProQue, Queue}; [INFO] [stdout] | ^^^^^^^ ^^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `info` [INFO] [stdout] --> src/layers/euclidean_loss_layer.rs:6:18 [INFO] [stdout] | [INFO] [stdout] 6 | use log::{debug, info}; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Array1` [INFO] [stdout] --> src/layers/softmax_loss_layer.rs:11:15 [INFO] [stdout] | [INFO] [stdout] 11 | use ndarray::{Array1, Axis, Zip, indices}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `info` and `warn` [INFO] [stdout] --> src/layers/softmax_loss_layer.rs:13:18 [INFO] [stdout] | [INFO] [stdout] 13 | use log::{debug, info, warn}; [INFO] [stdout] | ^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Buffer`, `MemFlags`, and `ProQue` [INFO] [stdout] --> src/layers/abstract_layer_ocl.rs:3:11 [INFO] [stdout] | [INFO] [stdout] 3 | use ocl::{Buffer, Context, Device, MemFlags, ProQue, Queue}; [INFO] [stdout] | ^^^^^^ ^^^^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `MemFlags` [INFO] [stdout] --> src/layers/fc_layer_ocl.rs:10:44 [INFO] [stdout] | [INFO] [stdout] 10 | use ocl::{Buffer, Context, Device, Kernel, MemFlags, Program, Queue}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `debug` [INFO] [stdout] --> src/layers/input_layer_ocl.rs:3:11 [INFO] [stdout] | [INFO] [stdout] 3 | use log::{debug, error}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `DerefMut` [INFO] [stdout] --> src/layers/euclidean_loss_layer_ocl.rs:13:18 [INFO] [stdout] | [INFO] [stdout] 13 | ops::{Deref, DerefMut}, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `warn` [INFO] [stdout] --> src/layers/softmax_loss_layer_ocl.rs:6:18 [INFO] [stdout] | [INFO] [stdout] 6 | use log::{debug, warn}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `error::Error`, `fs::File`, `io::ErrorKind`, and `io::prelude::*` [INFO] [stdout] --> src/optimizers/optim_ocl.rs:1:11 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{error::Error, fs::File, io::prelude::*, io::ErrorKind}; [INFO] [stdout] | ^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Serializer` [INFO] [stdout] --> src/util/util.rs:2:18 [INFO] [stdout] | [INFO] [stdout] 2 | use serde::ser::{Serializer}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `hash::Hash` [INFO] [stdout] --> src/util/with_params.rs:1:33 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{collections::HashMap, hash::Hash}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::sync::Arc` [INFO] [stdout] --> src/models/sequential.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | use std::sync::Arc; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `cell::RefCell` [INFO] [stdout] --> src/models/sequential.rs:13:11 [INFO] [stdout] | [INFO] [stdout] 13 | use std::{cell::RefCell, fs}; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `info` [INFO] [stdout] --> src/models/sequential.rs:15:25 [INFO] [stdout] | [INFO] [stdout] 15 | use log::{debug, error, info}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/models/model_helper.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ndarray::Array2` [INFO] [stdout] --> src/models/model_helper.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use ndarray::Array2; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `str::FromStr` [INFO] [stdout] --> src/models/model_helper.rs:4:11 [INFO] [stdout] | [INFO] [stdout] 4 | use std::{str::FromStr, sync::Arc, cell::RefCell}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `TypeBuffer` [INFO] [stdout] --> src/models/model_helper.rs:6:42 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::cpu_params::{VariantParamArc, TypeBuffer}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `PbBufBlob` [INFO] [stdout] --> src/models/model_helper.rs:7:32 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::models::pb::{PbBuf, PbBufBlob}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `DerefMut` and `Deref` [INFO] [stdout] --> src/models/sequential_ocl.rs:7:11 [INFO] [stdout] | [INFO] [stdout] 7 | ops::{Deref, DerefMut}, [INFO] [stdout] | ^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `CommandQueueProperties` and `MapFlags` [INFO] [stdout] --> src/models/sequential_ocl.rs:23:18 [INFO] [stdout] | [INFO] [stdout] 23 | use ocl::flags::{CommandQueueProperties, MapFlags, MemFlags}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Event`, `Kernel`, `Program`, and `Result as OclResult` [INFO] [stdout] --> src/models/sequential_ocl.rs:24:36 [INFO] [stdout] | [INFO] [stdout] 24 | use ocl::{Buffer, Context, Device, Event, Kernel, Platform, Program, Queue, Result as OclResult}; [INFO] [stdout] | ^^^^^ ^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `cell::RefCell` and `rc::Rc` [INFO] [stdout] --> src/models/mod.rs:6:25 [INFO] [stdout] | [INFO] [stdout] 6 | use std::{error::Error, rc::Rc, cell::RefCell}; [INFO] [stdout] | ^^^^^^ ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `layers_storage::SerdeLayersStorage` [INFO] [stdout] --> src/models/mod.rs:7:60 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::{util::*, layers::AbstractLayer, cpu_params::*, layers_storage::SerdeLayersStorage}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::util::*` [INFO] [stdout] --> src/layer_fabric.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::util::*; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `log::debug` [INFO] [stdout] --> src/cpu_params.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use log::debug; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ndarray_rand::rand::rngs::SmallRng` [INFO] [stdout] --> src/cpu_params.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use ndarray_rand::rand::rngs::SmallRng; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ndarray_rand::rand::SeedableRng` [INFO] [stdout] --> src/cpu_params.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use ndarray_rand::rand::SeedableRng; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Distribution` [INFO] [stdout] --> src/cpu_params.rs:12:32 [INFO] [stdout] | [INFO] [stdout] 12 | use ndarray_rand::rand_distr::{Distribution, Uniform}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Float` and `WsBlob` [INFO] [stdout] --> src/cpu_params.rs:15:37 [INFO] [stdout] | [INFO] [stdout] 15 | use super::util::{Array1D, Array2D, Float, WsBlob, WsMat}; [INFO] [stdout] | ^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `debug` [INFO] [stdout] --> src/orchestra.rs:8:11 [INFO] [stdout] | [INFO] [stdout] 8 | use log::{debug, error, info, warn}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Axis` [INFO] [stdout] --> src/orchestra.rs:17:15 [INFO] [stdout] | [INFO] [stdout] 17 | use ndarray::{Axis, Zip}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `tui::widgets::canvas::Shape` [INFO] [stdout] --> src/ocl.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use tui::widgets::canvas::Shape; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Context`, `Device`, and `ProQue` [INFO] [stdout] --> src/ocl.rs:6:19 [INFO] [stdout] | [INFO] [stdout] 6 | use ocl::{Buffer, Context, Device, MemFlags, ProQue, Queue}; [INFO] [stdout] | ^^^^^^^ ^^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `prev_input` [INFO] [stdout] --> src/layers/dummy_layer.rs:21:9 [INFO] [stdout] | [INFO] [stdout] 21 | prev_input: ParamsBlob, [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_prev_input` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `input` [INFO] [stdout] --> src/layers/dummy_layer.rs:22:9 [INFO] [stdout] | [INFO] [stdout] 22 | input: ParamsBlob, [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_input` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sh` [INFO] [stdout] --> src/layers/dummy_layer.rs:35:35 [INFO] [stdout] | [INFO] [stdout] 35 | fn set_input_shape(&mut self, sh: &[usize]) { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_sh` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `prev_input` [INFO] [stdout] --> src/layers/dummy_layer.rs:21:9 [INFO] [stdout] | [INFO] [stdout] 21 | prev_input: ParamsBlob, [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_prev_input` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `input` [INFO] [stdout] --> src/layers/dummy_layer.rs:22:9 [INFO] [stdout] | [INFO] [stdout] 22 | input: ParamsBlob, [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_input` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sh` [INFO] [stdout] --> src/layers/dummy_layer.rs:35:35 [INFO] [stdout] | [INFO] [stdout] 35 | fn set_input_shape(&mut self, sh: &[usize]) { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_sh` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sh` [INFO] [stdout] --> src/layers/input_layer.rs:41:35 [INFO] [stdout] | [INFO] [stdout] 41 | fn set_input_shape(&mut self, sh: &[usize]) { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_sh` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `lp` [INFO] [stdout] --> src/layers/fc_layer_ocl.rs:144:34 [INFO] [stdout] | [INFO] [stdout] 144 | fn set_cpu_params(&mut self, lp: CpuParams) {} [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_lp` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sh` [INFO] [stdout] --> src/layers/input_layer.rs:41:35 [INFO] [stdout] | [INFO] [stdout] 41 | fn set_input_shape(&mut self, sh: &[usize]) { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_sh` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `lp` [INFO] [stdout] --> src/layers/fc_layer_ocl.rs:144:34 [INFO] [stdout] | [INFO] [stdout] 144 | fn set_cpu_params(&mut self, lp: CpuParams) {} [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_lp` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `lp` [INFO] [stdout] --> src/layers/input_layer_ocl.rs:56:34 [INFO] [stdout] | [INFO] [stdout] 56 | fn set_cpu_params(&mut self, lp: CpuParams) {} [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_lp` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sh` [INFO] [stdout] --> src/layers/input_layer_ocl.rs:58:35 [INFO] [stdout] | [INFO] [stdout] 58 | fn set_input_shape(&mut self, sh: &[usize]) {} [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_sh` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `params` [INFO] [stdout] --> src/layers/input_layer_ocl.rs:102:31 [INFO] [stdout] | [INFO] [stdout] 102 | fn forward_ocl(&mut self, params: OclParamsBlob) -> LayerOclResult { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_params` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `lp` [INFO] [stdout] --> src/layers/input_layer_ocl.rs:56:34 [INFO] [stdout] | [INFO] [stdout] 56 | fn set_cpu_params(&mut self, lp: CpuParams) {} [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_lp` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sh` [INFO] [stdout] --> src/layers/input_layer_ocl.rs:58:35 [INFO] [stdout] | [INFO] [stdout] 58 | fn set_input_shape(&mut self, sh: &[usize]) {} [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_sh` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `params` [INFO] [stdout] --> src/layers/input_layer_ocl.rs:102:31 [INFO] [stdout] | [INFO] [stdout] 102 | fn forward_ocl(&mut self, params: OclParamsBlob) -> LayerOclResult { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_params` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/layers/euclidean_loss_layer_ocl.rs:209:13 [INFO] [stdout] | [INFO] [stdout] 209 | _ => todo!(), [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/layers/euclidean_loss_layer_ocl.rs:209:13 [INFO] [stdout] | [INFO] [stdout] 204 | OclActivationFunc::Sigmoid => OCL_ACTIVATION_SIGMOID, [INFO] [stdout] | -------------------------- matches some of the same values [INFO] [stdout] 205 | OclActivationFunc::Tanh => OCL_ACTIVATION_TANH, [INFO] [stdout] | ----------------------- matches some of the same values [INFO] [stdout] 206 | OclActivationFunc::ReLU => OCL_ACTIVATION_RELU, [INFO] [stdout] | ----------------------- matches some of the same values [INFO] [stdout] 207 | OclActivationFunc::Raw => OCL_ACTIVATION_RAW, [INFO] [stdout] | ---------------------- matches some of the same values [INFO] [stdout] 208 | OclActivationFunc::LeakyReLU => OCL_ACTIVATION_LEAKY_RELU, [INFO] [stdout] 209 | _ => todo!(), [INFO] [stdout] | ^ ...and 1 other patterns collectively make this unreachable [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/layers/euclidean_loss_layer_ocl.rs:218:13 [INFO] [stdout] | [INFO] [stdout] 218 | _ => todo!(), [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/layers/euclidean_loss_layer_ocl.rs:218:13 [INFO] [stdout] | [INFO] [stdout] 213 | OclActivationFunc::Sigmoid => OCL_ACTIVATION_SIGMOID_DERIV, [INFO] [stdout] | -------------------------- matches some of the same values [INFO] [stdout] 214 | OclActivationFunc::Tanh => OCL_ACTIVATION_TANH_DERIV, [INFO] [stdout] | ----------------------- matches some of the same values [INFO] [stdout] 215 | OclActivationFunc::ReLU => OCL_ACTIVATION_RELU_DERIV, [INFO] [stdout] | ----------------------- matches some of the same values [INFO] [stdout] 216 | OclActivationFunc::LeakyReLU => OCL_ACTIVATION_LEAKY_RELU_DERIV, [INFO] [stdout] | ---------------------------- matches some of the same values [INFO] [stdout] 217 | OclActivationFunc::Raw => OCL_ACTIVATION_RAW_DERIV, [INFO] [stdout] 218 | _ => todo!(), [INFO] [stdout] | ^ ...and 1 other patterns collectively make this unreachable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/layers/euclidean_loss_layer_ocl.rs:209:13 [INFO] [stdout] | [INFO] [stdout] 209 | _ => todo!(), [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/layers/euclidean_loss_layer_ocl.rs:209:13 [INFO] [stdout] | [INFO] [stdout] 204 | OclActivationFunc::Sigmoid => OCL_ACTIVATION_SIGMOID, [INFO] [stdout] | -------------------------- matches some of the same values [INFO] [stdout] 205 | OclActivationFunc::Tanh => OCL_ACTIVATION_TANH, [INFO] [stdout] | ----------------------- matches some of the same values [INFO] [stdout] 206 | OclActivationFunc::ReLU => OCL_ACTIVATION_RELU, [INFO] [stdout] | ----------------------- matches some of the same values [INFO] [stdout] 207 | OclActivationFunc::Raw => OCL_ACTIVATION_RAW, [INFO] [stdout] | ---------------------- matches some of the same values [INFO] [stdout] 208 | OclActivationFunc::LeakyReLU => OCL_ACTIVATION_LEAKY_RELU, [INFO] [stdout] 209 | _ => todo!(), [INFO] [stdout] | ^ ...and 1 other patterns collectively make this unreachable [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/layers/euclidean_loss_layer_ocl.rs:218:13 [INFO] [stdout] | [INFO] [stdout] 218 | _ => todo!(), [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/layers/euclidean_loss_layer_ocl.rs:218:13 [INFO] [stdout] | [INFO] [stdout] 213 | OclActivationFunc::Sigmoid => OCL_ACTIVATION_SIGMOID_DERIV, [INFO] [stdout] | -------------------------- matches some of the same values [INFO] [stdout] 214 | OclActivationFunc::Tanh => OCL_ACTIVATION_TANH_DERIV, [INFO] [stdout] | ----------------------- matches some of the same values [INFO] [stdout] 215 | OclActivationFunc::ReLU => OCL_ACTIVATION_RELU_DERIV, [INFO] [stdout] | ----------------------- matches some of the same values [INFO] [stdout] 216 | OclActivationFunc::LeakyReLU => OCL_ACTIVATION_LEAKY_RELU_DERIV, [INFO] [stdout] | ---------------------------- matches some of the same values [INFO] [stdout] 217 | OclActivationFunc::Raw => OCL_ACTIVATION_RAW_DERIV, [INFO] [stdout] 218 | _ => todo!(), [INFO] [stdout] | ^ ...and 1 other patterns collectively make this unreachable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `args` [INFO] [stdout] --> src/util/with_params.rs:8:27 [INFO] [stdout] | [INFO] [stdout] 8 | fn set_cfg(&mut self, args: &HashMap) { } [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_args` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `args` [INFO] [stdout] --> src/util/with_params.rs:8:27 [INFO] [stdout] | [INFO] [stdout] 8 | fn set_cfg(&mut self, args: &HashMap) { } [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_args` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `out` is never read [INFO] [stdout] --> src/models/sequential.rs:126:17 [INFO] [stdout] | [INFO] [stdout] 126 | let mut out = None; [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/models/sequential.rs:299:21 [INFO] [stdout] | [INFO] [stdout] 299 | _ => { [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/models/sequential.rs:299:21 [INFO] [stdout] | [INFO] [stdout] 285 | VariantParamArc::Array2(arr2) => { [INFO] [stdout] | ----------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 292 | VariantParamArc::Array1(arr1) => { [INFO] [stdout] | ----------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 299 | _ => { [INFO] [stdout] | ^ collectively making this unreachable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `out` is never read [INFO] [stdout] --> src/models/sequential.rs:126:17 [INFO] [stdout] | [INFO] [stdout] 126 | let mut out = None; [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/models/sequential.rs:299:21 [INFO] [stdout] | [INFO] [stdout] 299 | _ => { [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/models/sequential.rs:299:21 [INFO] [stdout] | [INFO] [stdout] 285 | VariantParamArc::Array2(arr2) => { [INFO] [stdout] | ----------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 292 | VariantParamArc::Array1(arr1) => { [INFO] [stdout] | ----------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 299 | _ => { [INFO] [stdout] | ^ collectively making this unreachable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `out` is never read [INFO] [stdout] --> src/models/sequential_ocl.rs:214:17 [INFO] [stdout] | [INFO] [stdout] 214 | let mut out = None; [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `out` is never read [INFO] [stdout] --> src/models/sequential_ocl.rs:214:17 [INFO] [stdout] | [INFO] [stdout] 214 | let mut out = None; [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `source` [INFO] [stdout] --> src/models/sequential_ocl.rs:444:30 [INFO] [stdout] | [INFO] [stdout] 444 | fn clone_from(&mut self, source: &Self) { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_source` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `source` [INFO] [stdout] --> src/models/sequential_ocl.rs:444:30 [INFO] [stdout] | [INFO] [stdout] 444 | fn clone_from(&mut self, source: &Self) { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_source` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `queue` [INFO] [stdout] --> src/ocl.rs:39:42 [INFO] [stdout] | [INFO] [stdout] 39 | pub fn only_output(buf: Buffer, queue: Queue) -> Self { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_queue` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `queue` [INFO] [stdout] --> src/ocl.rs:39:42 [INFO] [stdout] | [INFO] [stdout] 39 | pub fn only_output(buf: Buffer, queue: Queue) -> Self { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_queue` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `output` is never read [INFO] [stdout] --> src/layers/dummy_layer.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 9 | pub struct DummyLayer { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] 10 | output: DataVec, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `DummyLayer` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `output` is never read [INFO] [stdout] --> src/layers/dummy_layer.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 9 | pub struct DummyLayer { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] 10 | output: DataVec, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `DummyLayer` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 51 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 51 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ops::DerefMut` [INFO] [stdout] --> examples/mnist/main.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use std::ops::DerefMut; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `print_sample_image` [INFO] [stdout] --> examples/mnist/main.rs:14:18 [INFO] [stdout] | [INFO] [stdout] 14 | use rust_mnist::{print_sample_image, Mnist}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `error` and `warn` [INFO] [stdout] --> src/bin/tool/test.rs:1:11 [INFO] [stdout] | [INFO] [stdout] 1 | use log::{error, info, warn}; [INFO] [stdout] | ^^^^^ ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::time::Instant` [INFO] [stdout] --> src/bin/tool/test.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use std::time::Instant; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 2 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Arg` [INFO] [stdout] --> src/bin/tool/train_tui.rs:1:12 [INFO] [stdout] | [INFO] [stdout] 1 | use clap::{Arg, ArgMatches}; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `error` [INFO] [stdout] --> src/bin/tool/train_tui.rs:7:11 [INFO] [stdout] | [INFO] [stdout] 7 | use log::{error, info}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Corner` and `ListState` [INFO] [stdout] --> src/bin/tool/train_tui.rs:29:26 [INFO] [stdout] | [INFO] [stdout] 29 | layout::{Constraint, Corner, Direction, Layout}, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 33 | widgets::{Axis, Block, Borders, Chart, Dataset, GraphType, List, ListItem, ListState}, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `error` and `warn` [INFO] [stdout] --> src/bin/tool/test.rs:1:11 [INFO] [stdout] | [INFO] [stdout] 1 | use log::{error, info, warn}; [INFO] [stdout] | ^^^^^ ^^^^ [INFO] [stdout] | [INFO] [stdout] help: if this is a test module, consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/bin/tool/main.rs:15:1 [INFO] [stdout] | [INFO] [stdout] 15 | pub mod test; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::time::Instant` [INFO] [stdout] --> src/bin/tool/test.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use std::time::Instant; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: if this is a test module, consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> src/bin/tool/main.rs:15:1 [INFO] [stdout] | [INFO] [stdout] 15 | pub mod test; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Arg` [INFO] [stdout] --> src/bin/tool/train_tui.rs:1:12 [INFO] [stdout] | [INFO] [stdout] 1 | use clap::{Arg, ArgMatches}; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `error` [INFO] [stdout] --> src/bin/tool/train_tui.rs:7:11 [INFO] [stdout] | [INFO] [stdout] 7 | use log::{error, info}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Corner` and `ListState` [INFO] [stdout] --> src/bin/tool/train_tui.rs:29:26 [INFO] [stdout] | [INFO] [stdout] 29 | layout::{Constraint, Corner, Direction, Layout}, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 33 | widgets::{Axis, Block, Borders, Chart, Dataset, GraphType, List, ListItem, ListState}, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Backend` [INFO] [stdout] --> src/bin/tool/train_tui.rs:28:15 [INFO] [stdout] | [INFO] [stdout] 28 | backend::{Backend, CrosstermBackend}, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Backend` [INFO] [stdout] --> src/bin/tool/train_tui.rs:28:15 [INFO] [stdout] | [INFO] [stdout] 28 | backend::{Backend, CrosstermBackend}, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/bin/tool/train_tui.rs:326:9 [INFO] [stdout] | [INFO] [stdout] 326 | sender.send(NetMsg::InitInfo(epoch_size, train_batch_size)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 326 | let _ = sender.send(NetMsg::InitInfo(epoch_size, train_batch_size)); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/bin/tool/train_tui.rs:354:13 [INFO] [stdout] | [INFO] [stdout] 354 | net.train_for_error_or_iter(*err, *max_iter); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 354 | let _ = net.train_for_error_or_iter(*err, *max_iter); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/bin/tool/train_tui.rs:357:13 [INFO] [stdout] | [INFO] [stdout] 357 | net.train_for_error(*err); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 357 | let _ = net.train_for_error(*err); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/bin/tool/train_tui.rs:360:13 [INFO] [stdout] | [INFO] [stdout] 360 | net.train_for_n_times(*max_iter); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 360 | let _ = net.train_for_n_times(*max_iter); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/bin/tool/train_tui.rs:402:5 [INFO] [stdout] | [INFO] [stdout] 402 | join_handle.join().expect("Failed to join learning thread!"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 402 | let _ = join_handle.join().expect("Failed to join learning thread!"); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 11 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/bin/tool/train_tui.rs:326:9 [INFO] [stdout] | [INFO] [stdout] 326 | sender.send(NetMsg::InitInfo(epoch_size, train_batch_size)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 326 | let _ = sender.send(NetMsg::InitInfo(epoch_size, train_batch_size)); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/bin/tool/train_tui.rs:354:13 [INFO] [stdout] | [INFO] [stdout] 354 | net.train_for_error_or_iter(*err, *max_iter); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 354 | let _ = net.train_for_error_or_iter(*err, *max_iter); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/bin/tool/train_tui.rs:357:13 [INFO] [stdout] | [INFO] [stdout] 357 | net.train_for_error(*err); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 357 | let _ = net.train_for_error(*err); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/bin/tool/train_tui.rs:360:13 [INFO] [stdout] | [INFO] [stdout] 360 | net.train_for_n_times(*max_iter); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 360 | let _ = net.train_for_n_times(*max_iter); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/bin/tool/train_tui.rs:402:5 [INFO] [stdout] | [INFO] [stdout] 402 | join_handle.join().expect("Failed to join learning thread!"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 402 | let _ = join_handle.join().expect("Failed to join learning thread!"); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 11 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 43.87s [INFO] running `Command { std: "docker" "inspect" "341511490a6988f508d10e715952c872376d54101618c4f494bd1350a6b6d67d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "341511490a6988f508d10e715952c872376d54101618c4f494bd1350a6b6d67d", kill_on_drop: false }` [INFO] [stdout] 341511490a6988f508d10e715952c872376d54101618c4f494bd1350a6b6d67d