aprender-train 0.41.0

Training & Optimization library with autograd, LoRA, quantization, and model merging
Documentation

Build #3543050 2026-06-11 04:37:24

# rustc version rustc 1.98.0-nightly (485ec3fbc 2026-06-10)

# docs.rs version docsrs 0.0.0 (39849b9c22c419f6b690c8d2213455bc7426a6b8 2026-06-03 )

# build log [INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "DOCS_RS=1" "-w" "/opt/rustwide/workdir" "--user" "1001:1001" "623f2c6c6646edb5f8fb41b8366bcbda5b606a6d158c29381c0468611486a37d" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "rustdoc" "--lib" "-Zrustdoc-map" "--all-features" "--config" "build.rustdocflags=[\"--cfg\", \"docsrs\", \"--generate-link-to-definition\", \"-Z\", \"unstable-options\", \"--emit=invocation-specific\", \"--resource-suffix\", \"-20260610-1.98.0-nightly-485ec3fbc\", \"--static-root-path\", \"/-/rustdoc.static/\", \"--cap-lints\", \"warn\", \"--extern-html-root-takes-precedence\"]" "--offline" "-Zunstable-options" "--config=doc.extern-map.registries.crates-io=\"https://docs.rs/{pkg_name}/{version}/x86_64-unknown-linux-gnu\"" "-Zrustdoc-scrape-examples" "-j6" "--target" "x86_64-unknown-linux-gnu", kill_on_drop: false }` [INFO] [stderr] warning: Cargo.toml: file `/opt/rustwide/workdir/src/main.rs` found to be present in multiple build targets: [INFO] [stderr] * `bin` target `aprender-train` [INFO] [stderr] * `example` target `aprender-train` [INFO] [stderr] warning: `aprender-train` (manifest) generated 1 warning [INFO] [stderr] warning: Rustdoc did not scrape the following examples because they require dev-dependencies: aprender-train [INFO] [stderr] If you want Rustdoc to scrape these examples, then add `doc-scrape-examples = true` [INFO] [stderr] to the [[example]] target configuration of at least one example. [INFO] [stderr] warning: target filter specified, but no targets matched; this is a no-op [INFO] [stderr] Compiling aprender-train v0.41.0 (/opt/rustwide/workdir) [INFO] [stderr] warning: aprender-train@0.41.0: provable-contracts binding.yaml not found at /opt/rustwide/workdir/../provable-contracts/contracts/entrenar/binding.yaml; CONTRACT_* env vars will not be set (CI/crates.io build) [INFO] [stderr] warning: aprender-train@0.41.0: [contract] Assertions: 79 preconditions, 60 postconditions from YAML [INFO] [stderr] Documenting aprender-train v0.41.0 (/opt/rustwide/workdir) [INFO] [stderr] warning: unnecessary parentheses around closure body [INFO] [stderr] --> src/autograd/wgpu_block.rs:217:34 [INFO] [stderr] | [INFO] [stderr] 217 | (0..len).map(|i| ((i as f32 * 0.013 + layer_idx as f32).sin() * std)).collect() [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 217 - (0..len).map(|i| ((i as f32 * 0.013 + layer_idx as f32).sin() * std)).collect() [INFO] [stderr] 217 + (0..len).map(|i| (i as f32 * 0.013 + layer_idx as f32).sin() * std).collect() [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around assigned value [INFO] [stderr] --> src/finetune/instruct_pipeline/wgpu.rs:164:24 [INFO] [stderr] | [INFO] [stderr] 164 | let head_dim = (hidden / num_heads); [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 164 - let head_dim = (hidden / num_heads); [INFO] [stderr] 164 + let head_dim = hidden / num_heads; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around closure body [INFO] [stderr] --> src/finetune/wgpu_pipeline.rs:406:30 [INFO] [stderr] | [INFO] [stderr] 406 | .map(|i| ((i as f32 * 0.013 + layer_idx as f32 * 7.0).sin() * std)) [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 406 - .map(|i| ((i as f32 * 0.013 + layer_idx as f32 * 7.0).sin() * std)) [INFO] [stderr] 406 + .map(|i| (i as f32 * 0.013 + layer_idx as f32 * 7.0).sin() * std) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `i` [INFO] [stderr] --> src/autograd/cuda_backward/structured.rs:85:29 [INFO] [stderr] | [INFO] [stderr] 85 | /// Computes: grad_input[r][i] = y[r][i] * (grad_output[r][i] - Σⱼ grad_output[r][j] * y[r][j]) [INFO] [stderr] | ^ no item named `i` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] = note: `#[warn(rustdoc::broken_intra_doc_links)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `i` [INFO] [stderr] --> src/autograd/cuda_backward/structured.rs:85:39 [INFO] [stderr] | [INFO] [stderr] 85 | /// Computes: grad_input[r][i] = y[r][i] * (grad_output[r][i] - Σⱼ grad_output[r][j] * y[r][j]) [INFO] [stderr] | ^ no item named `i` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `i` [INFO] [stderr] --> src/autograd/cuda_backward/structured.rs:85:60 [INFO] [stderr] | [INFO] [stderr] 85 | /// Computes: grad_input[r][i] = y[r][i] * (grad_output[r][i] - Σⱼ grad_output[r][j] * y[r][j]) [INFO] [stderr] | ^ no item named `i` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `j` [INFO] [stderr] --> src/autograd/cuda_backward/structured.rs:85:83 [INFO] [stderr] | [INFO] [stderr] 85 | /// Computes: grad_input[r][i] = y[r][i] * (grad_output[r][i] - Σⱼ grad_output[r][j] * y[r][j]) [INFO] [stderr] | ^ no item named `j` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `j` [INFO] [stderr] --> src/autograd/cuda_backward/structured.rs:85:93 [INFO] [stderr] | [INFO] [stderr] 85 | /// Computes: grad_input[r][i] = y[r][i] * (grad_output[r][i] - Σⱼ grad_output[r][j] * y[r][j]) [INFO] [stderr] | ^ no item named `j` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `i` [INFO] [stderr] --> src/autograd/cuda_backward/structured.rs:93:40 [INFO] [stderr] | [INFO] [stderr] 93 | /// - **Postcondition**: grad_input[r][i] = y[r][i] * (∂L/∂y[r][i] - dot(∂L/∂y[r], y[r])) [INFO] [stderr] | ^ no item named `i` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `i` [INFO] [stderr] --> src/autograd/cuda_backward/structured.rs:93:50 [INFO] [stderr] | [INFO] [stderr] 93 | /// - **Postcondition**: grad_input[r][i] = y[r][i] * (∂L/∂y[r][i] - dot(∂L/∂y[r], y[r])) [INFO] [stderr] | ^ no item named `i` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `i` [INFO] [stderr] --> src/autograd/cuda_backward/structured.rs:93:65 [INFO] [stderr] | [INFO] [stderr] 93 | /// - **Postcondition**: grad_input[r][i] = y[r][i] * (∂L/∂y[r][i] - dot(∂L/∂y[r], y[r])) [INFO] [stderr] | ^ no item named `i` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `r` [INFO] [stderr] --> src/autograd/cuda_backward/structured.rs:93:80 [INFO] [stderr] | [INFO] [stderr] 93 | /// - **Postcondition**: grad_input[r][i] = y[r][i] * (∂L/∂y[r][i] - dot(∂L/∂y[r], y[r])) [INFO] [stderr] | ^ no item named `r` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `r` [INFO] [stderr] --> src/autograd/cuda_backward/structured.rs:93:86 [INFO] [stderr] | [INFO] [stderr] 93 | /// - **Postcondition**: grad_input[r][i] = y[r][i] * (∂L/∂y[r][i] - dot(∂L/∂y[r], y[r])) [INFO] [stderr] | ^ no item named `r` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `i` [INFO] [stderr] --> src/autograd/cuda_forward/activations.rs:20:22 [INFO] [stderr] | [INFO] [stderr] 20 | /// Computes: output[i] = max(0, input[i]) [INFO] [stderr] | ^ no item named `i` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `i` [INFO] [stderr] --> src/autograd/cuda_forward/activations.rs:20:40 [INFO] [stderr] | [INFO] [stderr] 20 | /// Computes: output[i] = max(0, input[i]) [INFO] [stderr] | ^ no item named `i` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `i` [INFO] [stderr] --> src/autograd/cuda_forward/activations.rs:67:22 [INFO] [stderr] | [INFO] [stderr] 67 | /// Computes: output[i] = exp(input[i] - max(input)) / sum(exp(input - max(input))) [INFO] [stderr] | ^ no item named `i` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `i` [INFO] [stderr] --> src/autograd/cuda_forward/activations.rs:67:37 [INFO] [stderr] | [INFO] [stderr] 67 | /// Computes: output[i] = exp(input[i] - max(input)) / sum(exp(input - max(input))) [INFO] [stderr] | ^ no item named `i` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `j` [INFO] [stderr] --> src/autograd/cuda_forward/activations.rs:213:17 [INFO] [stderr] | [INFO] [stderr] 213 | /// output[r][j] = exp(input[r][j] - max_r) / Σ_k exp(input[r][k] - max_r) [INFO] [stderr] | ^ no item named `j` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `j` [INFO] [stderr] --> src/autograd/cuda_forward/activations.rs:213:35 [INFO] [stderr] | [INFO] [stderr] 213 | /// output[r][j] = exp(input[r][j] - max_r) / Σ_k exp(input[r][k] - max_r) [INFO] [stderr] | ^ no item named `j` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `k` [INFO] [stderr] --> src/autograd/cuda_forward/activations.rs:213:66 [INFO] [stderr] | [INFO] [stderr] 213 | /// output[r][j] = exp(input[r][j] - max_r) / Σ_k exp(input[r][k] - max_r) [INFO] [stderr] | ^ no item named `k` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `i` [INFO] [stderr] --> src/autograd/cuda_forward/bf16_cast.rs:9:34 [INFO] [stderr] | [INFO] [stderr] 9 | //! - `cast_f32_to_bf16`: output[i] == truncate(input[i]) for all i in [0, n) [INFO] [stderr] | ^ no item named `i` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `i` [INFO] [stderr] --> src/autograd/cuda_forward/bf16_cast.rs:9:55 [INFO] [stderr] | [INFO] [stderr] 9 | //! - `cast_f32_to_bf16`: output[i] == truncate(input[i]) for all i in [0, n) [INFO] [stderr] | ^ no item named `i` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `i` [INFO] [stderr] --> src/autograd/cuda_forward/bf16_cast.rs:10:34 [INFO] [stderr] | [INFO] [stderr] 10 | //! - `cast_bf16_to_f32`: output[i] == extend(input[i]) for all i in [0, n) [INFO] [stderr] | ^ no item named `i` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `i` [INFO] [stderr] --> src/autograd/cuda_forward/bf16_cast.rs:10:53 [INFO] [stderr] | [INFO] [stderr] 10 | //! - `cast_bf16_to_f32`: output[i] == extend(input[i]) for all i in [0, n) [INFO] [stderr] | ^ no item named `i` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `i` [INFO] [stderr] --> src/autograd/cuda_forward/elementwise.rs:21:22 [INFO] [stderr] | [INFO] [stderr] 21 | /// Computes: output[i] = a[i] + b[i] for i in [0, n) [INFO] [stderr] | ^ no item named `i` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `i` [INFO] [stderr] --> src/autograd/cuda_forward/elementwise.rs:21:29 [INFO] [stderr] | [INFO] [stderr] 21 | /// Computes: output[i] = a[i] + b[i] for i in [0, n) [INFO] [stderr] | ^ no item named `i` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `i` [INFO] [stderr] --> src/autograd/cuda_forward/elementwise.rs:21:36 [INFO] [stderr] | [INFO] [stderr] 21 | /// Computes: output[i] = a[i] + b[i] for i in [0, n) [INFO] [stderr] | ^ no item named `i` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `i` [INFO] [stderr] --> src/autograd/cuda_forward/elementwise.rs:26:33 [INFO] [stderr] | [INFO] [stderr] 26 | /// - **Postcondition**: output[i] == a[i] + b[i] for all i in [0, n) [INFO] [stderr] | ^ no item named `i` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `i` [INFO] [stderr] --> src/autograd/cuda_forward/elementwise.rs:26:41 [INFO] [stderr] | [INFO] [stderr] 26 | /// - **Postcondition**: output[i] == a[i] + b[i] for all i in [0, n) [INFO] [stderr] | ^ no item named `i` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `i` [INFO] [stderr] --> src/autograd/cuda_forward/elementwise.rs:26:48 [INFO] [stderr] | [INFO] [stderr] 26 | /// - **Postcondition**: output[i] == a[i] + b[i] for all i in [0, n) [INFO] [stderr] | ^ no item named `i` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `i` [INFO] [stderr] --> src/autograd/cuda_forward/elementwise.rs:75:39 [INFO] [stderr] | [INFO] [stderr] 75 | /// In-place GPU buffer addition: dst[i] += src[i] [INFO] [stderr] | ^ no item named `i` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `i` [INFO] [stderr] --> src/autograd/cuda_forward/elementwise.rs:75:49 [INFO] [stderr] | [INFO] [stderr] 75 | /// In-place GPU buffer addition: dst[i] += src[i] [INFO] [stderr] | ^ no item named `i` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `i` [INFO] [stderr] --> src/autograd/cuda_forward/elementwise.rs:80:30 [INFO] [stderr] | [INFO] [stderr] 80 | /// - **Postcondition**: dst[i] == old_dst[i] + src[i] for all i in [0, n) [INFO] [stderr] | ^ no item named `i` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `i` [INFO] [stderr] --> src/autograd/cuda_forward/elementwise.rs:80:44 [INFO] [stderr] | [INFO] [stderr] 80 | /// - **Postcondition**: dst[i] == old_dst[i] + src[i] for all i in [0, n) [INFO] [stderr] | ^ no item named `i` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `i` [INFO] [stderr] --> src/autograd/cuda_forward/elementwise.rs:80:53 [INFO] [stderr] | [INFO] [stderr] 80 | /// - **Postcondition**: dst[i] == old_dst[i] + src[i] for all i in [0, n) [INFO] [stderr] | ^ no item named `i` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `i` [INFO] [stderr] --> src/autograd/cuda_forward/elementwise.rs:133:22 [INFO] [stderr] | [INFO] [stderr] 133 | /// Computes: output[i] = a[i] * b[i] for i in [0, n) [INFO] [stderr] | ^ no item named `i` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `i` [INFO] [stderr] --> src/autograd/cuda_forward/elementwise.rs:133:29 [INFO] [stderr] | [INFO] [stderr] 133 | /// Computes: output[i] = a[i] * b[i] for i in [0, n) [INFO] [stderr] | ^ no item named `i` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `i` [INFO] [stderr] --> src/autograd/cuda_forward/elementwise.rs:133:36 [INFO] [stderr] | [INFO] [stderr] 133 | /// Computes: output[i] = a[i] * b[i] for i in [0, n) [INFO] [stderr] | ^ no item named `i` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `i` [INFO] [stderr] --> src/autograd/cuda_forward/elementwise.rs:138:33 [INFO] [stderr] | [INFO] [stderr] 138 | /// - **Postcondition**: output[i] == a[i] * b[i] for all i in [0, n) [INFO] [stderr] | ^ no item named `i` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `i` [INFO] [stderr] --> src/autograd/cuda_forward/elementwise.rs:138:41 [INFO] [stderr] | [INFO] [stderr] 138 | /// - **Postcondition**: output[i] == a[i] * b[i] for all i in [0, n) [INFO] [stderr] | ^ no item named `i` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `i` [INFO] [stderr] --> src/autograd/cuda_forward/elementwise.rs:138:48 [INFO] [stderr] | [INFO] [stderr] 138 | /// - **Postcondition**: output[i] == a[i] * b[i] for all i in [0, n) [INFO] [stderr] | ^ no item named `i` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `i` [INFO] [stderr] --> src/autograd/cuda_forward/elementwise.rs:189:22 [INFO] [stderr] | [INFO] [stderr] 189 | /// Computes: output[i] = input[i] * scale for i in [0, n) [INFO] [stderr] | ^ no item named `i` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `i` [INFO] [stderr] --> src/autograd/cuda_forward/elementwise.rs:189:33 [INFO] [stderr] | [INFO] [stderr] 189 | /// Computes: output[i] = input[i] * scale for i in [0, n) [INFO] [stderr] | ^ no item named `i` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `i` [INFO] [stderr] --> src/autograd/cuda_forward/elementwise.rs:194:33 [INFO] [stderr] | [INFO] [stderr] 194 | /// - **Postcondition**: output[i] == input[i] * scale for all i in [0, n) [INFO] [stderr] | ^ no item named `i` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `i` [INFO] [stderr] --> src/autograd/cuda_forward/elementwise.rs:194:45 [INFO] [stderr] | [INFO] [stderr] 194 | /// - **Postcondition**: output[i] == input[i] * scale for all i in [0, n) [INFO] [stderr] | ^ no item named `i` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `M,N` [INFO] [stderr] --> src/autograd/cuda_forward/matmul.rs:140:31 [INFO] [stderr] | [INFO] [stderr] 140 | /// GEMM with transposed B: C[M,N] = A[M,K] @ B[N,K]^T [INFO] [stderr] | ^^^ no item named `M,N` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `M,K` [INFO] [stderr] --> src/autograd/cuda_forward/matmul.rs:140:40 [INFO] [stderr] | [INFO] [stderr] 140 | /// GEMM with transposed B: C[M,N] = A[M,K] @ B[N,K]^T [INFO] [stderr] | ^^^ no item named `M,K` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `N,K` [INFO] [stderr] --> src/autograd/cuda_forward/matmul.rs:140:49 [INFO] [stderr] | [INFO] [stderr] 140 | /// GEMM with transposed B: C[M,N] = A[M,K] @ B[N,K]^T [INFO] [stderr] | ^^^ no item named `N,K` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `N,K` [INFO] [stderr] --> src/autograd/cuda_forward/matmul.rs:141:28 [INFO] [stderr] | [INFO] [stderr] 141 | /// B is stored row-major [N,K]. entrenar#318: GPU lm_head with embed_original. [INFO] [stderr] | ^^^ no item named `N,K` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `b,h` [INFO] [stderr] --> src/autograd/cuda_forward/matmul.rs:319:17 [INFO] [stderr] | [INFO] [stderr] 319 | /// Computes: C[b,h] = A[b,h] @ B[b,h] for each batch b and head h [INFO] [stderr] | ^^^ no item named `b,h` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `b,h` [INFO] [stderr] --> src/autograd/cuda_forward/matmul.rs:319:26 [INFO] [stderr] | [INFO] [stderr] 319 | /// Computes: C[b,h] = A[b,h] @ B[b,h] for each batch b and head h [INFO] [stderr] | ^^^ no item named `b,h` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `b,h` [INFO] [stderr] --> src/autograd/cuda_forward/matmul.rs:319:35 [INFO] [stderr] | [INFO] [stderr] 319 | /// Computes: C[b,h] = A[b,h] @ B[b,h] for each batch b and head h [INFO] [stderr] | ^^^ no item named `b,h` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `b,h` [INFO] [stderr] --> src/autograd/cuda_forward/matmul.rs:326:28 [INFO] [stderr] | [INFO] [stderr] 326 | /// - **Postcondition**: C[b,h] = A[b,h] @ B[b,h] for all (b,h) in [0,batch)×[0,heads) [INFO] [stderr] | ^^^ no item named `b,h` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `b,h` [INFO] [stderr] --> src/autograd/cuda_forward/matmul.rs:326:37 [INFO] [stderr] | [INFO] [stderr] 326 | /// - **Postcondition**: C[b,h] = A[b,h] @ B[b,h] for all (b,h) in [0,batch)×[0,heads) [INFO] [stderr] | ^^^ no item named `b,h` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `b,h` [INFO] [stderr] --> src/autograd/cuda_forward/matmul.rs:326:46 [INFO] [stderr] | [INFO] [stderr] 326 | /// - **Postcondition**: C[b,h] = A[b,h] @ B[b,h] for all (b,h) in [0,batch)×[0,heads) [INFO] [stderr] | ^^^ no item named `b,h` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `M,N` [INFO] [stderr] --> src/autograd/cuda_forward/matmul_f16.rs:28:33 [INFO] [stderr] | [INFO] [stderr] 28 | /// FP16 cuBLAS GEMM forward: C[M,N] = A[M,K] @ B[K,N] using tensor cores [INFO] [stderr] | ^^^ no item named `M,N` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `M,K` [INFO] [stderr] --> src/autograd/cuda_forward/matmul_f16.rs:28:42 [INFO] [stderr] | [INFO] [stderr] 28 | /// FP16 cuBLAS GEMM forward: C[M,N] = A[M,K] @ B[K,N] using tensor cores [INFO] [stderr] | ^^^ no item named `M,K` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `K,N` [INFO] [stderr] --> src/autograd/cuda_forward/matmul_f16.rs:28:51 [INFO] [stderr] | [INFO] [stderr] 28 | /// FP16 cuBLAS GEMM forward: C[M,N] = A[M,K] @ B[K,N] using tensor cores [INFO] [stderr] | ^^^ no item named `K,N` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `h` [INFO] [stderr] --> src/autograd/cuda_forward/normalization.rs:181:14 [INFO] [stderr] | [INFO] [stderr] 181 | /// output[h] = input[h] / sqrt(mean(input[h]^2) + eps) * gamma [INFO] [stderr] | ^ no item named `h` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `h` [INFO] [stderr] --> src/autograd/cuda_forward/normalization.rs:181:25 [INFO] [stderr] | [INFO] [stderr] 181 | /// output[h] = input[h] / sqrt(mean(input[h]^2) + eps) * gamma [INFO] [stderr] | ^ no item named `h` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `h` [INFO] [stderr] --> src/autograd/cuda_forward/normalization.rs:181:46 [INFO] [stderr] | [INFO] [stderr] 181 | /// output[h] = input[h] / sqrt(mean(input[h]^2) + eps) * gamma [INFO] [stderr] | ^ no item named `h` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `i` [INFO] [stderr] --> src/autograd/cuda_optim.rs:388:56 [INFO] [stderr] | [INFO] [stderr] 388 | /// - **Postcondition**: returned f32 = sqrt(sum(input[i]^2)) to within O(n × eps_f32) [INFO] [stderr] | ^ no item named `i` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `0` [INFO] [stderr] --> src/autograd/cuda_optim.rs:562:14 [INFO] [stderr] | [INFO] [stderr] 562 | /// - output[0] = min(1.0, max_norm / sqrt(sum(partials[0..total_n]))) [INFO] [stderr] | ^ no item named `0` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `1` [INFO] [stderr] --> src/autograd/cuda_optim.rs:563:14 [INFO] [stderr] | [INFO] [stderr] 563 | /// - output[1] = sqrt(sum(partials[0..total_n])) [INFO] [stderr] | ^ no item named `1` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `i` [INFO] [stderr] --> src/autograd/tensor.rs:99:35 [INFO] [stderr] | [INFO] [stderr] 99 | /// - **Postcondition**: grad[i] *= factor for all i [INFO] [stderr] | ^ no item named `i` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `label` [INFO] [stderr] --> src/autograd/wgpu_cross_entropy.rs:4:29 [INFO] [stderr] | [INFO] [stderr] 4 | //! Forward: loss = -logits[label] + logsumexp(logits) per token [INFO] [stderr] | ^^^^^ no item named `label` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `seq_len` [INFO] [stderr] --> src/autograd/wgpu_cross_entropy.rs:7:27 [INFO] [stderr] | [INFO] [stderr] 7 | //! Memory savings: only [seq_len] logsumexp scalars saved, not [seq_len × vocab] softmax. [INFO] [stderr] | ^^^^^^^ no item named `seq_len` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `i` [INFO] [stderr] --> src/autograd/wgpu_cross_entropy.rs:236:33 [INFO] [stderr] | [INFO] [stderr] 236 | /// After this call, logits[i] = (softmax(logits)[i] - one_hot(label)[i]) * scale [INFO] [stderr] | ^ no item named `i` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `i` [INFO] [stderr] --> src/autograd/wgpu_cross_entropy.rs:236:55 [INFO] [stderr] | [INFO] [stderr] 236 | /// After this call, logits[i] = (softmax(logits)[i] - one_hot(label)[i]) * scale [INFO] [stderr] | ^ no item named `i` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `i` [INFO] [stderr] --> src/autograd/wgpu_cross_entropy.rs:236:75 [INFO] [stderr] | [INFO] [stderr] 236 | /// After this call, logits[i] = (softmax(logits)[i] - one_hot(label)[i]) * scale [INFO] [stderr] | ^ no item named `i` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `j` [INFO] [stderr] --> src/eval/classification/confusion.rs:7:17 [INFO] [stderr] | [INFO] [stderr] 7 | /// Element [i][j] represents count of samples with true label i predicted as j [INFO] [stderr] | ^ no item named `j` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `predicted_label` [INFO] [stderr] --> src/eval/classification/confusion.rs:71:37 [INFO] [stderr] | [INFO] [stderr] 71 | /// Get element at [true_label][predicted_label] [INFO] [stderr] | ^^^^^^^^^^^^^^^ no item named `predicted_label` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `j` [INFO] [stderr] --> src/eval/classification/report.rs:14:41 [INFO] [stderr] | [INFO] [stderr] 14 | /// A ConfusionMatrix where element [i][j] is count of true label i predicted as j [INFO] [stderr] | ^ no item named `j` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `CLS` [INFO] [stderr] --> src/finetune/classification.rs:30:54 [INFO] [stderr] | [INFO] [stderr] 30 | /// Encoders use CLS pooling (bidirectional — first [CLS] token sees all context). [INFO] [stderr] | ^^^ no item named `CLS` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `CLS` [INFO] [stderr] --> src/finetune/classification.rs:37:28 [INFO] [stderr] | [INFO] [stderr] 37 | /// Use first token's [CLS] hidden state (encoder convention: BERT/RoBERTa) [INFO] [stderr] | ^^^ no item named `CLS` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `num_classes` [INFO] [stderr] --> src/finetune/classification.rs:55:18 [INFO] [stderr] | [INFO] [stderr] 55 | /// Bias shape: [num_classes]. [INFO] [stderr] | ^^^^^^^^^^^ no item named `num_classes` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `num_classes` [INFO] [stderr] --> src/finetune/classification.rs:59:15 [INFO] [stderr] | [INFO] [stderr] 59 | /// Bias [num_classes] [INFO] [stderr] | ^^^^^^^^^^^ no item named `num_classes` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `num_classes` [INFO] [stderr] --> src/finetune/classification.rs:105:24 [INFO] [stderr] | [INFO] [stderr] 105 | /// Logits tensor [num_classes] [INFO] [stderr] | ^^^^^^^^^^^ no item named `num_classes` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `hidden_size` [INFO] [stderr] --> src/finetune/classification.rs:131:51 [INFO] [stderr] | [INFO] [stderr] 131 | /// hidden_states: [seq_len * hidden_size] → [hidden_size] [INFO] [stderr] | ^^^^^^^^^^^ no item named `hidden_size` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `CLS` [INFO] [stderr] --> src/finetune/classification.rs:154:51 [INFO] [stderr] | [INFO] [stderr] 154 | /// In BERT-family models, position 0 is the [CLS] token which attends [INFO] [stderr] | ^^^ no item named `CLS` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `i` [INFO] [stderr] --> src/finetune/classification.rs:311:44 [INFO] [stderr] | [INFO] [stderr] 311 | /// Active class indices (where labels[i] > 0.5). [INFO] [stderr] | ^ no item named `i` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `num_classes` [INFO] [stderr] --> src/finetune/classification.rs:568:30 [INFO] [stderr] | [INFO] [stderr] 568 | /// * `logits` - Raw logits [num_classes] [INFO] [stderr] | ^^^^^^^^^^^ no item named `num_classes` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `ClassifyTrainer::evaluate` [INFO] [stderr] --> src/finetune/classify_eval_report.rs:13:19 [INFO] [stderr] | [INFO] [stderr] 13 | /// Produced by [`ClassifyTrainer::evaluate`] or [`evaluate_checkpoint`]. [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ no item named `ClassifyTrainer` in scope [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `train_batch` [INFO] [stderr] --> src/finetune/classify_pipeline/mod.rs:996:24 [INFO] [stderr] | [INFO] [stderr] 996 | /// Identical to [`train_batch`] but skips tokenization — token IDs are [INFO] [stderr] | ^^^^^^^^^^^ no item named `train_batch` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `accumulate_gradients` [INFO] [stderr] --> src/finetune/classify_pipeline/mod.rs:1116:24 [INFO] [stderr] | [INFO] [stderr] 1116 | /// Identical to [`accumulate_gradients`] but uses pre-tokenized IDs. [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ no item named `accumulate_gradients` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `train_step` [INFO] [stderr] --> src/finetune/classify_pipeline/training.rs:136:18 [INFO] [stderr] | [INFO] [stderr] 136 | /// Unlike [`train_step`] which processes one sample and immediately calls [INFO] [stderr] | ^^^^^^^^^^ no item named `train_step` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `apply_accumulated_gradients` [INFO] [stderr] --> src/finetune/classify_pipeline/training.rs:300:25 [INFO] [stderr] | [INFO] [stderr] 300 | /// Use this with [`apply_accumulated_gradients`] for gradient accumulation [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ no item named `apply_accumulated_gradients` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `accumulate_gradients` [INFO] [stderr] --> src/finetune/classify_pipeline/training.rs:350:39 [INFO] [stderr] | [INFO] [stderr] 350 | /// Call this after one or more [`accumulate_gradients`] calls. It: [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ no item named `accumulate_gradients` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `forward_only` [INFO] [stderr] --> src/finetune/classify_pipeline/training.rs:701:24 [INFO] [stderr] | [INFO] [stderr] 701 | /// Identical to [`forward_only`] but also returns the full probability distribution [INFO] [stderr] | ^^^^^^^^^^^^ no item named `forward_only` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `block_idx` [INFO] [stderr] --> src/finetune/distributed.rs:157:44 [INFO] [stderr] | [INFO] [stderr] 157 | /// Sent after backward pass for block[block_idx]. Contains 9 gradient [INFO] [stderr] | ^^^^^^^^^ no item named `block_idx` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `CLS` [INFO] [stderr] --> src/finetune/linear_probe.rs:4:17 [INFO] [stderr] | [INFO] [stderr] 4 | //! 1. Extract [CLS] embeddings from frozen encoder (CLF-001) [INFO] [stderr] | ^^^ no item named `CLS` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `actual` [INFO] [stderr] --> src/finetune/linear_probe.rs:36:38 [INFO] [stderr] | [INFO] [stderr] 36 | /// Confusion matrix [predicted][actual] — row=predicted, col=actual [INFO] [stderr] | ^^^^^^ no item named `actual` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `num_classes` [INFO] [stderr] --> src/finetune/linear_probe.rs:60:15 [INFO] [stderr] | [INFO] [stderr] 60 | /// Bias [num_classes] [INFO] [stderr] | ^^^^^^^^^^^ no item named `num_classes` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `CLS` [INFO] [stderr] --> src/finetune/linear_probe.rs:95:40 [INFO] [stderr] | [INFO] [stderr] 95 | /// * `embedding` - Pre-extracted [CLS] embedding [hidden_size] [INFO] [stderr] | ^^^ no item named `CLS` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `hidden_size` [INFO] [stderr] --> src/finetune/linear_probe.rs:95:56 [INFO] [stderr] | [INFO] [stderr] 95 | /// * `embedding` - Pre-extracted [CLS] embedding [hidden_size] [INFO] [stderr] | ^^^^^^^^^^^ no item named `hidden_size` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `num_classes` [INFO] [stderr] --> src/finetune/linear_probe.rs:98:24 [INFO] [stderr] | [INFO] [stderr] 98 | /// Logits tensor [num_classes] [INFO] [stderr] | ^^^^^^^^^^^ no item named `num_classes` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `CLS` [INFO] [stderr] --> src/finetune/linear_probe.rs:133:49 [INFO] [stderr] | [INFO] [stderr] 133 | /// * `embeddings` - List of pre-extracted [CLS] embeddings (each len=hidden_size) [INFO] [stderr] | ^^^ no item named `CLS` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `mlp_hidden` [INFO] [stderr] --> src/finetune/linear_probe.rs:229:27 [INFO] [stderr] | [INFO] [stderr] 229 | /// First layer bias [mlp_hidden] [INFO] [stderr] | ^^^^^^^^^^ no item named `mlp_hidden` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `num_classes` [INFO] [stderr] --> src/finetune/linear_probe.rs:233:28 [INFO] [stderr] | [INFO] [stderr] 233 | /// Second layer bias [num_classes] [INFO] [stderr] | ^^^^^^^^^^^ no item named `num_classes` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `hidden_dim` [INFO] [stderr] --> src/moe/mod.rs:71:28 [INFO] [stderr] | [INFO] [stderr] 71 | /// First layer bias: [hidden_dim] [INFO] [stderr] | ^^^^^^^^^^ no item named `hidden_dim` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `input_dim` [INFO] [stderr] --> src/moe/mod.rs:75:29 [INFO] [stderr] | [INFO] [stderr] 75 | /// Second layer bias: [input_dim] [INFO] [stderr] | ^^^^^^^^^ no item named `input_dim` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `m` [INFO] [stderr] --> src/sovereign_array.rs:79:39 [INFO] [stderr] | [INFO] [stderr] 79 | /// Vector-matrix multiply: self [m] dot other [m, n] -> [n] [INFO] [stderr] | ^ no item named `m` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `n` [INFO] [stderr] --> src/sovereign_array.rs:79:63 [INFO] [stderr] | [INFO] [stderr] 79 | /// Vector-matrix multiply: self [m] dot other [m, n] -> [n] [INFO] [stderr] | ^ no item named `n` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `m,k` [INFO] [stderr] --> src/sovereign_array.rs:375:32 [INFO] [stderr] | [INFO] [stderr] 375 | /// Matrix multiply: self [m,k] dot other [k,n] -> [m,n] [INFO] [stderr] | ^^^ no item named `m,k` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `k,n` [INFO] [stderr] --> src/sovereign_array.rs:375:48 [INFO] [stderr] | [INFO] [stderr] 375 | /// Matrix multiply: self [m,k] dot other [k,n] -> [m,n] [INFO] [stderr] | ^^^ no item named `k,n` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `m,n` [INFO] [stderr] --> src/sovereign_array.rs:375:57 [INFO] [stderr] | [INFO] [stderr] 375 | /// Matrix multiply: self [m,k] dot other [k,n] -> [m,n] [INFO] [stderr] | ^^^ no item named `m,n` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `m,k` [INFO] [stderr] --> src/sovereign_array.rs:398:39 [INFO] [stderr] | [INFO] [stderr] 398 | /// Matrix-vector multiply: self [m,k] dot vec [k] -> [m] [INFO] [stderr] | ^^^ no item named `m,k` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `k` [INFO] [stderr] --> src/sovereign_array.rs:398:53 [INFO] [stderr] | [INFO] [stderr] 398 | /// Matrix-vector multiply: self [m,k] dot vec [k] -> [m] [INFO] [stderr] | ^ no item named `k` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `m` [INFO] [stderr] --> src/sovereign_array.rs:398:60 [INFO] [stderr] | [INFO] [stderr] 398 | /// Matrix-vector multiply: self [m,k] dot vec [k] -> [m] [INFO] [stderr] | ^ no item named `m` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `target_token` [INFO] [stderr] --> src/train/loss/causal_lm.rs:14:34 [INFO] [stderr] | [INFO] [stderr] 14 | /// L = -sum(log(softmax(logits)[target_token])) / num_tokens [INFO] [stderr] | ^^^^^^^^^^^^ no item named `target_token` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `PretrainLoop::seed` [INFO] [stderr] --> src/train/pretrain.rs:29:26 [INFO] [stderr] | [INFO] [stderr] 29 | //! | GATE-TRAIN-006 | [`PretrainLoop::seed`] | Fixed RNG seed, StdRng backed | [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ the struct `PretrainLoop` has no field or associated item named `seed` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `N` [INFO] [stderr] --> src/train/pretrain.rs:37:36 [INFO] [stderr] | [INFO] [stderr] 37 | //! unconfigurable guard: val_loss[N] > 2 × val_loss[N-1] ⇒ fatal. [INFO] [stderr] | ^ no item named `N` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `0` [INFO] [stderr] --> src/train/pretrain.rs:62:47 [INFO] [stderr] | [INFO] [stderr] 62 | /// INV-TRAIN-005 special case — val_loss[0] itself is already broken [INFO] [stderr] | ^ no item named `0` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `N` [INFO] [stderr] --> src/train/pretrain.rs:231:36 [INFO] [stderr] | [INFO] [stderr] 231 | /// Maximum allowed ratio val_loss[N] / val_loss[N-1]. The contract [INFO] [stderr] | ^ no item named `N` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `PretrainConfig::from_scratch` [INFO] [stderr] --> src/train/pretrain.rs:413:11 [INFO] [stderr] | [INFO] [stderr] 413 | /// [`PretrainConfig::from_scratch`] to flip to the MODEL-2 regime. [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the struct `PretrainConfig` has no field or associated item named `from_scratch` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `hidden_size` [INFO] [stderr] --> src/train/transformer_trainer/gpu_grad_accumulator.rs:73:42 [INFO] [stderr] | [INFO] [stderr] 73 | /// Final norm gradient accumulator [hidden_size] [INFO] [stderr] | ^^^^^^^^^^^ no item named `hidden_size` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `i` [INFO] [stderr] --> src/train/transformer_trainer/gpu_grad_accumulator.rs:142:58 [INFO] [stderr] | [INFO] [stderr] 142 | /// Uses in-place GPU add (ResidualAddKernel): accum[i] += workspace[i]. [INFO] [stderr] | ^ no item named `i` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `i` [INFO] [stderr] --> src/train/transformer_trainer/gpu_grad_accumulator.rs:142:74 [INFO] [stderr] | [INFO] [stderr] 142 | /// Uses in-place GPU add (ResidualAddKernel): accum[i] += workspace[i]. [INFO] [stderr] | ^ no item named `i` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `hidden_size` [INFO] [stderr] --> src/train/transformer_trainer/grad_accumulator.rs:157:37 [INFO] [stderr] | [INFO] [stderr] 157 | /// Final norm weight gradient [hidden_size] [INFO] [stderr] | ^^^^^^^^^^^ no item named `hidden_size` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `I,H` [INFO] [stderr] --> src/train/transformer_trainer/wgpu_trainer.rs:1045:29 [INFO] [stderr] | [INFO] [stderr] 1045 | /// Weight layout: gate[I,H], up[I,H], down[H,I] (HuggingFace convention) [INFO] [stderr] | ^^^ no item named `I,H` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `I,H` [INFO] [stderr] --> src/train/transformer_trainer/wgpu_trainer.rs:1045:38 [INFO] [stderr] | [INFO] [stderr] 1045 | /// Weight layout: gate[I,H], up[I,H], down[H,I] (HuggingFace convention) [INFO] [stderr] | ^^^ no item named `I,H` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `H,I` [INFO] [stderr] --> src/train/transformer_trainer/wgpu_trainer.rs:1045:49 [INFO] [stderr] | [INFO] [stderr] 1045 | /// Weight layout: gate[I,H], up[I,H], down[H,I] (HuggingFace convention) [INFO] [stderr] | ^^^ no item named `H,I` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `head_dim` [INFO] [stderr] --> src/transformer/attention.rs:275:63 [INFO] [stderr] | [INFO] [stderr] 275 | /// Optional Q RMSNorm weight (Qwen3 uses QK-norm, shape=[head_dim]) [INFO] [stderr] | ^^^^^^^^ no item named `head_dim` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `head_dim` [INFO] [stderr] --> src/transformer/attention.rs:277:63 [INFO] [stderr] | [INFO] [stderr] 277 | /// Optional K RMSNorm weight (Qwen3 uses QK-norm, shape=[head_dim]) [INFO] [stderr] | ^^^^^^^^ no item named `head_dim` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `CLS` [INFO] [stderr] --> src/transformer/encoder.rs:169:18 [INFO] [stderr] | [INFO] [stderr] 169 | /// Extract [CLS] embedding (position 0) from hidden states. [INFO] [stderr] | ^^^ no item named `CLS` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unresolved link to `CLS` [INFO] [stderr] --> src/transformer/encoder.rs:171:34 [INFO] [stderr] | [INFO] [stderr] 171 | /// For classification, the [CLS] token at position 0 attends bidirectionally [INFO] [stderr] | ^^^ no item named `CLS` in scope [INFO] [stderr] | [INFO] [stderr] = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` [INFO] [stderr] [INFO] [stderr] warning: unclosed HTML tag `f32` [INFO] [stderr] --> src/autograd/cuda_tensor.rs:4:32 [INFO] [stderr] | [INFO] [stderr] 4 | //! It replaces ndarray::Array1<f32> with CUDA-backed storage for 100x speedup. [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(rustdoc::invalid_html_tags)]` on by default [INFO] [stderr] help: try marking as source code [INFO] [stderr] | [INFO] [stderr] 4 | //! It replaces `ndarray::Array1<f32>` with CUDA-backed storage for 100x speedup. [INFO] [stderr] | + + [INFO] [stderr] [INFO] [stderr] warning: unclosed HTML tag `f32` [INFO] [stderr] --> src/lora/qlora.rs:222:33 [INFO] [stderr] | [INFO] [stderr] 222 | /// The result is a flat Vec<f32> of shape [d_out, d_in] in row-major layout. [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] help: try marking as source code [INFO] [stderr] | [INFO] [stderr] 222 | /// The result is a flat `Vec<f32>` of shape [d_out, d_in] in row-major layout. [INFO] [stderr] | + + [INFO] [stderr] [INFO] [stderr] warning: unclosed HTML tag `f32` [INFO] [stderr] --> src/sovereign_array.rs:3:74 [INFO] [stderr] | [INFO] [stderr] 3 | //! These types provide the same API surface as ndarray but use plain Vec<f32> [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] help: try marking as source code [INFO] [stderr] | [INFO] [stderr] 3 | //! These types provide the same API surface as ndarray but use plain `Vec<f32>` [INFO] [stderr] | + + [INFO] [stderr] [INFO] [stderr] warning: redundant explicit link target [INFO] [stderr] --> src/tracking/mod.rs:5:25 [INFO] [stderr] | [INFO] [stderr] 5 | //! [`TrackingBackend`](storage::TrackingBackend) trait. [INFO] [stderr] | ----------------- ^^^^^^^^^^^^^^^^^^^^^^^^ explicit target is redundant [INFO] [stderr] | | [INFO] [stderr] | because label contains path that resolves to same destination [INFO] [stderr] | [INFO] [stderr] = note: when a link's destination is not specified, [INFO] [stderr] the label is used to resolve intra-doc links [INFO] [stderr] = note: `#[warn(rustdoc::redundant_explicit_links)]` on by default [INFO] [stderr] help: remove explicit link target [INFO] [stderr] | [INFO] [stderr] 5 - //! [`TrackingBackend`](storage::TrackingBackend) trait. [INFO] [stderr] 5 + //! [`TrackingBackend`] trait. [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: could not parse code block as Rust code [INFO] [stderr] --> src/train/pretrain_real.rs:256:5 [INFO] [stderr] | [INFO] [stderr] 256 | /// ```ignore [INFO] [stderr] | _____^ [INFO] [stderr] 257 | | /// apr stamp <pre-p0k.apr> --architecture qwen2 --hf-architecture Qwen2ForCausalLM \ [INFO] [stderr] 258 | | /// -o <stamped.apr> [INFO] [stderr] 259 | | /// ``` [INFO] [stderr] | |_______^ [INFO] [stderr] | [INFO] [stderr] help: `ignore` code blocks require valid Rust code for syntax highlighting; mark blocks that do not contain Rust code as text: ```text [INFO] [stderr] --> src/train/pretrain_real.rs:256:5 [INFO] [stderr] | [INFO] [stderr] 256 | /// ```ignore [INFO] [stderr] | ^^^ [INFO] [stderr] = note: error from rustc: unknown start of token: \ [INFO] [stderr] = note: `#[warn(rustdoc::invalid_rust_codeblocks)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unclosed HTML tag `f32` [INFO] [stderr] --> src/train/transformer_trainer/cuda_trainer.rs:2730:76 [INFO] [stderr] | [INFO] [stderr] 2730 | /// Syncs GPU weights to CPU and snapshots tensor data as Send-able Vec<f32>. [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] help: try marking as source code [INFO] [stderr] | [INFO] [stderr] 2730 | /// Syncs GPU weights to CPU and snapshots tensor data as Send-able `Vec<f32>`. [INFO] [stderr] | + + [INFO] [stderr] [INFO] [stderr] warning: unclosed HTML tag `f32` [INFO] [stderr] --> src/train/transformer_trainer/grad_accumulator.rs:73:60 [INFO] [stderr] | [INFO] [stderr] 73 | /// Flatten all components into a single contiguous Vec<f32>. [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] help: try marking as source code [INFO] [stderr] | [INFO] [stderr] 73 | /// Flatten all components into a single contiguous `Vec<f32>`. [INFO] [stderr] | + + [INFO] [stderr] [INFO] [stderr] warning: `aprender-train` (lib doc) generated 133 warnings (run `cargo fix --lib -p aprender-train` to apply 3 suggestions) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 22.35s [INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: proc-macro-error2 v2.0.1 [INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1` [INFO] [stderr] Generated /opt/rustwide/target/x86_64-unknown-linux-gnu/doc/entrenar/index.html [INFO] running `Command { std: "docker" "inspect" "623f2c6c6646edb5f8fb41b8366bcbda5b606a6d158c29381c0468611486a37d", kill_on_drop: false }`