nnapi-sys 0.1.1

FFI to the Android NNAPI
Documentation
Build #915086 2023-09-18 20:32:46
# rustc version
rustc 1.74.0-nightly (203c57dbe 2023-09-17)# docs.rs version
docsrs 0.6.0 (b2c47fa7 2023-09-08)# build log
[INFO] running `Command { std: "docker" "create" "-v" "/home/cratesfyi/workspace/builds/nnapi-sys-0.1.1/target:/opt/rustwide/target:rw,Z" "-v" "/home/cratesfyi/workspace/builds/nnapi-sys-0.1.1/source:/opt/rustwide/workdir:ro,Z" "-v" "/home/cratesfyi/workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/home/cratesfyi/workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "DOCS_RS=1" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "6442450944" "--cpus" "6" "--user" "1001:1001" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:8d77639b970c52ec67607038b3ec48894629de24504b62a68269497566821cc0" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "rustdoc" "--lib" "-Zrustdoc-map" "-Z" "unstable-options" "--config" "build.rustdocflags=[\"-Z\", \"unstable-options\", \"--emit=invocation-specific\", \"--resource-suffix\", \"-20230917-1.74.0-nightly-203c57dbe\", \"--static-root-path\", \"/-/rustdoc.static/\", \"--cap-lints\", \"warn\", \"--disable-per-crate-search\", \"--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: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] [stdout] 14bf81e5e3215706027b3279f2b861a26f0c82c8f245aff228df4c1cce50bc7a
[INFO] running `Command { std: "docker" "start" "-a" "14bf81e5e3215706027b3279f2b861a26f0c82c8f245aff228df4c1cce50bc7a", kill_on_drop: false }`
[INFO] [stderr]     Scraping nnapi-sys v0.1.1 (/opt/rustwide/workdir)
[INFO] [stderr]  Documenting nnapi-sys v0.1.1 (/opt/rustwide/workdir)
[INFO] [stderr] warning: unresolved link to `channel`
[INFO] [stderr]    --> src/neural_networks.rs:696:5
[INFO] [stderr]     |
[INFO] [stderr] 696 |     #[doc = " Performs a 2-D convolution operation.\n\n The CONV_2D op sweeps a 2-D filter that can mix channels together over a\n batch of images, applying the filter to each window of each image of the\n appropriate size.\n\n The output dimensions are functions of the filter dimensions, stride, and\n padding.\n\n The values in the output tensor are computed as:\n\n     output[b, i, j, channel] =\n         sum_{di, dj, k} (\n             input[b, strides[1] * i + di, strides[2] * j + dj, k] *\n             filter[channel, di, dj, k]\n         ) + bias[channel]\n\n Supported tensor {@link OperandCode} configurations:\n * 32 bit floating point:\n * * {@link ANEURALNETWORKS_TENSOR_FLOAT32} for input, filter, output, and bias.\n\n * Quantized:\n * * {@link ANEURALNETWORKS_TENSOR_QUANT8_ASYMM} for input, filter, and output.\n * * {@link ANEURALNETWORKS_TENSOR_INT32} for bias (with scale set to\n * * input.scale * filter.scale).\n\n Available since API level 29:\n * 16 bit floating point:\n * * {@link ANEURALNETWORKS_TENSOR_FLOAT16} for input, filter, output, and bias.\n\n * Quantized with symmetric per channel quantization for the filter:\n * * {@link ANEURALNETWORKS_TENSOR_QUANT8_ASYMM} for input, and output.\n * * {@link ANEURALNETWORKS_TENSOR_QUANT8_SYMM_PER_CHANNEL} for filter.\n * * {@link ANEURALNETWORKS_TENSOR_INT32} for bias (scale set to 0.0,\n * * each value scaling is separate and equal to input.scale * filter.scales[channel]).\n\n Available since API level 30:\n * Quantized signed (since API level 30):\n * * {@link ANEURALNETWORKS_TENSOR_QUANT8_ASYMM_SIGNED} for input, filter, and output.\n * * {@link ANEURALNETWORKS_TENSOR_INT32} for bias (with scale set to\n * * input.scale * filter.scale).\n\n * Quantized signed with filter symmetric per channel quantization (since API level 30):\n * * {@link ANEURALNETWORKS_TENSOR_QUANT8_ASYMM_SIGNED} for input, and output.\n * * {@link ANEURALNETWORKS_TENSOR_QUANT8_SYMM_PER_CHANNEL} for filter.\n * * {@link ANEURALNETWORKS_TENSOR_INT32} for bias (scale set to 0.0,\n * * each value scaling is separate and equal to input.scale * filter.scales[channel]).\n\n Supported tensor rank: 4, with \"NHWC\" or \"NCHW\" data layout.\n With the default data layout NHWC, the data is stored in the order of:\n [batch, height, width, channels]. Alternatively, the data layout could\n be NCHW, the data storage order of: [batch, channels, height, width].\n NCHW is supported since API level 29.\n\n Both explicit padding and implicit padding are supported.\n\n Inputs (explicit padding):\n * 0: A 4-D tensor, of shape [batches, height, width, depth_in],\n      specifying the input.\n      Since API level 29, zero batches is supported for this tensor.\n * 1: A 4-D tensor, of shape\n      [depth_out, filter_height, filter_width, depth_in], specifying the\n      filter.\n      For tensor of type {@link ANEURALNETWORKS_TENSOR_QUANT8_SYMM_PER_CHANNEL}\n      the channel dimension (ANeuralNetworksSymmPerChannelQuantParams::channelDim)\n      must be set to 0.\n * 2: A 1-D tensor, of shape [depth_out], specifying the bias. For input\n      tensor of type {@link ANEURALNETWORKS_TENSOR_FLOAT32}\n      or {@link ANEURALNETWORKS_TENSOR_FLOAT16} the bias must be of the same type.\n      For filter tensor of {@link ANEURALNETWORKS_TENSOR_QUANT8_ASYMM}\n      and {@link ANEURALNETWORKS_TENSOR_QUANT8_ASYMM_SIGNED},\n      the bias should be of {@link ANEURALNETWORKS_TENSOR_INT32}, with zeroPoint\n      of 0 and bias_scale == input_scale * filter_scale.\n      For filter tensor of {@link ANEURALNETWORKS_TENSOR_QUANT8_SYMM_PER_CHANNEL},\n      the bias should be of {@link ANEURALNETWORKS_TENSOR_INT32}, with zeroPoint of 0\n      and bias_scale of 0. The actual scale of each value 'i' is equal to\n      bias_scale[i] = input_scale * filter_scale[i].\n * 3: An {@link ANEURALNETWORKS_INT32} scalar, specifying the padding on\n      the left, in the ‘width’ dimension.\n * 4: An {@link ANEURALNETWORKS_INT32} scalar, specifying the padding on\n      the right, in the ‘width’ dimension.\n * 5: An {@link ANEURALNETWORKS_INT32} scalar, specifying the padding on\n      the top, in the ‘height’ dimension.\n * 6: An {@link ANEURALNETWORKS_INT32} scalar, specifying the padding on\n      the bottom, in the ‘height’ dimension.\n * 7: An {@link ANEURALNETWORKS_INT32} scalar, specifying the stride when\n      walking through input in the ‘width’ dimension.\n * 8: An {@link ANEURALNETWORKS_INT32} scalar, specifying the stride when\n      walking through input in the ‘height’ dimension.\n * 9: An {@link ANEURALNETWORKS_INT32} scalar, and has to be one of the\n      {@link FuseCode} values. Specifies the activation to\n      invoke on the result.\n * 10: An optional {@link ANEURALNETWORKS_BOOL} scalar, default to false.\n      Set to true to specify NCHW data layout for input0 and output0.\n      Available since API level 29.\n * 11: An optional {@link ANEURALNETWORKS_INT32} scalar, specifying the dilation\n      factor for width. Defaults to 1. If set to k > 1, there will be k-1 skipped\n      cells between each filter element on width dimension. If this input is set,\n      input 12 (dilation factor for height) must be specified as well.\n      Available since API level 29.\n * 12: An optional {@link ANEURALNETWORKS_INT32} scalar, specifying the dilation\n      factor for height. Defaults to 1. If set to k > 1, there will be k-1 skipped\n      cells between each filter element on height dimension. If this input is set,\n      input 11 (dilation factor for width) must be specified as well.\n      Available since API level 29.\n\n Inputs (implicit padding):\n * 0: A 4-D tensor, of shape [batches, height, width, depth_in],\n      specifying the input.\n      Since API level 29, zero batches is supported for this tensor.\n * 1: A 4-D tensor, of shape\n      [depth_out, filter_height, filter_width, depth_in], specifying the\n      filter.\n      For tensor of type {@link ANEURALNETWORKS_TENSOR_QUANT8_SYMM_PER_CHANNEL}\n      the channel dimension (ANeuralNetworksSymmPerChannelQuantParams::channelDim)\n      must be set to 0.\n * 2: A 1-D tensor, of shape [depth_out], specifying the bias. For input\n      tensor of type {@link ANEURALNETWORKS_TENSOR_FLOAT32}\n      or {@link ANEURALNETWORKS_TENSOR_FLOAT16} the bias must be of the same\n      type.\n      For filter tensor of {@link ANEURALNETWORKS_TENSOR_QUANT8_ASYMM}\n      and {@link ANEURALNETWORKS_TENSOR_QUANT8_ASYMM_SIGNED},\n      the bias should be of {@link ANEURALNETWORKS_TENSOR_INT32}, with zeroPoint\n      of 0 and bias_scale == input_scale * filter_scale.\n      For filter tensor of {@link ANEURALNETWORKS_TENSOR_QUANT8_SYMM_PER_CHANNEL},\n      the bias should be of {@link ANEURALNETWORKS_TENSOR_INT32}, with zeroPoint of 0\n      and bias_scale of 0. The actual scale of each value 'i' is equal to\n      bias_scale[i] = input_scale * filter_scale[i].\n * 3: An {@link ANEURALNETWORKS_INT32} scalar, specifying the implicit\n      padding scheme, has to be one of the\n      {@link PaddingCode} values.\n * 4: An {@link ANEURALNETWORKS_INT32} scalar, specifying the stride when\n      walking through input in the ‘width’ dimension.\n * 5: An {@link ANEURALNETWORKS_INT32} scalar, specifying the stride when\n      walking through input in the ‘height’ dimension.\n * 6: An {@link ANEURALNETWORKS_INT32} scalar, and has to be one of the\n      {@link FuseCode} values. Specifies the activation to\n      invoke on the result.\n * 7: An optional {@link ANEURALNETWORKS_BOOL} scalar, default to false.\n      Set to true to specify NCHW data layout for input0 and output0.\n      Available since API level 29.\n * 8: An optional {@link ANEURALNETWORKS_INT32} scalar, specifying the dilation\n      factor for width. Defaults to 1. If set to k > 1, there will be k-1 skipped\n      cells between each filter element on width dimension. If this input is set,\n      input 9 (dilation factor for height) must be specified as well.\n      Available since API level 29.\n * 9: An optional {@link ANEURALNETWORKS_INT32} scalar, specifying the dilation\n      factor for height. Defaults to 1. If set to k > 1, there will be k-1 skipped\n      cells between each filter element on height dimension. If this input is set,\n      input 8 (dilation factor for width) must be specified as well.\n      Available since API level 29.\n\n Outputs:\n * 0: The output 4-D tensor, of shape\n      [batches, out_height, out_width, depth_out].\n      Before API level 29, for output tensor of {@link ANEURALNETWORKS_TENSOR_QUANT8_ASYMM},\n      the following condition must be satisfied: output_scale > input_scale * filter_scale\n\n Available since API level 27...
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: the link appears in this line:
[INFO] [stderr]             
[INFO] [stderr]             * * each value scaling is separate and equal to input.scale * filter.scales[channel]).
[INFO] [stderr]                                                                                         ^^^^^^^
[INFO] [stderr]     = note: no item named `channel` in scope
[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 `depth_out`
[INFO] [stderr]    --> src/neural_networks.rs:696:5
[INFO] [stderr]     |
[INFO] [stderr] 696 |     #[doc = " Performs a 2-D convolution operation.\n\n The CONV_2D op sweeps a 2-D filter that can mix channels together over a\n batch of images, applying the filter to each window of each image of the\n appropriate size.\n\n The output dimensions are functions of the filter dimensions, stride, and\n padding.\n\n The values in the output tensor are computed as:\n\n     output[b, i, j, channel] =\n         sum_{di, dj, k} (\n             input[b, strides[1] * i + di, strides[2] * j + dj, k] *\n             filter[channel, di, dj, k]\n         ) + bias[channel]\n\n Supported tensor {@link OperandCode} configurations:\n * 32 bit floating point:\n * * {@link ANEURALNETWORKS_TENSOR_FLOAT32} for input, filter, output, and bias.\n\n * Quantized:\n * * {@link ANEURALNETWORKS_TENSOR_QUANT8_ASYMM} for input, filter, and output.\n * * {@link ANEURALNETWORKS_TENSOR_INT32} for bias (with scale set to\n * * input.scale * filter.scale).\n\n Available since API level 29:\n * 16 bit floating point:\n * * {@link ANEURALNETWORKS_TENSOR_FLOAT16} for input, filter, output, and bias.\n\n * Quantized with symmetric per channel quantization for the filter:\n * * {@link ANEURALNETWORKS_TENSOR_QUANT8_ASYMM} for input, and output.\n * * {@link ANEURALNETWORKS_TENSOR_QUANT8_SYMM_PER_CHANNEL} for filter.\n * * {@link ANEURALNETWORKS_TENSOR_INT32} for bias (scale set to 0.0,\n * * each value scaling is separate and equal to input.scale * filter.scales[channel]).\n\n Available since API level 30:\n * Quantized signed (since API level 30):\n * * {@link ANEURALNETWORKS_TENSOR_QUANT8_ASYMM_SIGNED} for input, filter, and output.\n * * {@link ANEURALNETWORKS_TENSOR_INT32} for bias (with scale set to\n * * input.scale * filter.scale).\n\n * Quantized signed with filter symmetric per channel quantization (since API level 30):\n * * {@link ANEURALNETWORKS_TENSOR_QUANT8_ASYMM_SIGNED} for input, and output.\n * * {@link ANEURALNETWORKS_TENSOR_QUANT8_SYMM_PER_CHANNEL} for filter.\n * * {@link ANEURALNETWORKS_TENSOR_INT32} for bias (scale set to 0.0,\n * * each value scaling is separate and equal to input.scale * filter.scales[channel]).\n\n Supported tensor rank: 4, with \"NHWC\" or \"NCHW\" data layout.\n With the default data layout NHWC, the data is stored in the order of:\n [batch, height, width, channels]. Alternatively, the data layout could\n be NCHW, the data storage order of: [batch, channels, height, width].\n NCHW is supported since API level 29.\n\n Both explicit padding and implicit padding are supported.\n\n Inputs (explicit padding):\n * 0: A 4-D tensor, of shape [batches, height, width, depth_in],\n      specifying the input.\n      Since API level 29, zero batches is supported for this tensor.\n * 1: A 4-D tensor, of shape\n      [depth_out, filter_height, filter_width, depth_in], specifying the\n      filter.\n      For tensor of type {@link ANEURALNETWORKS_TENSOR_QUANT8_SYMM_PER_CHANNEL}\n      the channel dimension (ANeuralNetworksSymmPerChannelQuantParams::channelDim)\n      must be set to 0.\n * 2: A 1-D tensor, of shape [depth_out], specifying the bias. For input\n      tensor of type {@link ANEURALNETWORKS_TENSOR_FLOAT32}\n      or {@link ANEURALNETWORKS_TENSOR_FLOAT16} the bias must be of the same type.\n      For filter tensor of {@link ANEURALNETWORKS_TENSOR_QUANT8_ASYMM}\n      and {@link ANEURALNETWORKS_TENSOR_QUANT8_ASYMM_SIGNED},\n      the bias should be of {@link ANEURALNETWORKS_TENSOR_INT32}, with zeroPoint\n      of 0 and bias_scale == input_scale * filter_scale.\n      For filter tensor of {@link ANEURALNETWORKS_TENSOR_QUANT8_SYMM_PER_CHANNEL},\n      the bias should be of {@link ANEURALNETWORKS_TENSOR_INT32}, with zeroPoint of 0\n      and bias_scale of 0. The actual scale of each value 'i' is equal to\n      bias_scale[i] = input_scale * filter_scale[i].\n * 3: An {@link ANEURALNETWORKS_INT32} scalar, specifying the padding on\n      the left, in the ‘width’ dimension.\n * 4: An {@link ANEURALNETWORKS_INT32} scalar, specifying the padding on\n      the right, in the ‘width’ dimension.\n * 5: An {@link ANEURALNETWORKS_INT32} scalar, specifying the padding on\n      the top, in the ‘height’ dimension.\n * 6: An {@link ANEURALNETWORKS_INT32} scalar, specifying the padding on\n      the bottom, in the ‘height’ dimension.\n * 7: An {@link ANEURALNETWORKS_INT32} scalar, specifying the stride when\n      walking through input in the ‘width’ dimension.\n * 8: An {@link ANEURALNETWORKS_INT32} scalar, specifying the stride when\n      walking through input in the ‘height’ dimension.\n * 9: An {@link ANEURALNETWORKS_INT32} scalar, and has to be one of the\n      {@link FuseCode} values. Specifies the activation to\n      invoke on the result.\n * 10: An optional {@link ANEURALNETWORKS_BOOL} scalar, default to false.\n      Set to true to specify NCHW data layout for input0 and output0.\n      Available since API level 29.\n * 11: An optional {@link ANEURALNETWORKS_INT32} scalar, specifying the dilation\n      factor for width. Defaults to 1. If set to k > 1, there will be k-1 skipped\n      cells between each filter element on width dimension. If this input is set,\n      input 12 (dilation factor for height) must be specified as well.\n      Available since API level 29.\n * 12: An optional {@link ANEURALNETWORKS_INT32} scalar, specifying the dilation\n      factor for height. Defaults to 1. If set to k > 1, there will be k-1 skipped\n      cells between each filter element on height dimension. If this input is set,\n      input 11 (dilation factor for width) must be specified as well.\n      Available since API level 29.\n\n Inputs (implicit padding):\n * 0: A 4-D tensor, of shape [batches, height, width, depth_in],\n      specifying the input.\n      Since API level 29, zero batches is supported for this tensor.\n * 1: A 4-D tensor, of shape\n      [depth_out, filter_height, filter_width, depth_in], specifying the\n      filter.\n      For tensor of type {@link ANEURALNETWORKS_TENSOR_QUANT8_SYMM_PER_CHANNEL}\n      the channel dimension (ANeuralNetworksSymmPerChannelQuantParams::channelDim)\n      must be set to 0.\n * 2: A 1-D tensor, of shape [depth_out], specifying the bias. For input\n      tensor of type {@link ANEURALNETWORKS_TENSOR_FLOAT32}\n      or {@link ANEURALNETWORKS_TENSOR_FLOAT16} the bias must be of the same\n      type.\n      For filter tensor of {@link ANEURALNETWORKS_TENSOR_QUANT8_ASYMM}\n      and {@link ANEURALNETWORKS_TENSOR_QUANT8_ASYMM_SIGNED},\n      the bias should be of {@link ANEURALNETWORKS_TENSOR_INT32}, with zeroPoint\n      of 0 and bias_scale == input_scale * filter_scale.\n      For filter tensor of {@link ANEURALNETWORKS_TENSOR_QUANT8_SYMM_PER_CHANNEL},\n      the bias should be of {@link ANEURALNETWORKS_TENSOR_INT32}, with zeroPoint of 0\n      and bias_scale of 0. The actual scale of each value 'i' is equal to\n      bias_scale[i] = input_scale * filter_scale[i].\n * 3: An {@link ANEURALNETWORKS_INT32} scalar, specifying the implicit\n      padding scheme, has to be one of the\n      {@link PaddingCode} values.\n * 4: An {@link ANEURALNETWORKS_INT32} scalar, specifying the stride when\n      walking through input in the ‘width’ dimension.\n * 5: An {@link ANEURALNETWORKS_INT32} scalar, specifying the stride when\n      walking through input in the ‘height’ dimension.\n * 6: An {@link ANEURALNETWORKS_INT32} scalar, and has to be one of the\n      {@link FuseCode} values. Specifies the activation to\n      invoke on the result.\n * 7: An optional {@link ANEURALNETWORKS_BOOL} scalar, default to false.\n      Set to true to specify NCHW data layout for input0 and output0.\n      Available since API level 29.\n * 8: An optional {@link ANEURALNETWORKS_INT32} scalar, specifying the dilation\n      factor for width. Defaults to 1. If set to k > 1, there will be k-1 skipped\n      cells between each filter element on width dimension. If this input is set,\n      input 9 (dilation factor for height) must be specified as well.\n      Available since API level 29.\n * 9: An optional {@link ANEURALNETWORKS_INT32} scalar, specifying the dilation\n      factor for height. Defaults to 1. If set to k > 1, there will be k-1 skipped\n      cells between each filter element on height dimension. If this input is set,\n      input 8 (dilation factor for width) must be specified as well.\n      Available since API level 29.\n\n Outputs:\n * 0: The output 4-D tensor, of shape\n      [batches, out_height, out_width, depth_out].\n      Before API level 29, for output tensor of {@link ANEURALNETWORKS_TENSOR_QUANT8_ASYMM},\n      the following condition must be satisfied: output_scale > input_scale * filter_scale\n\n Available since API level 27...
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: the link appears in this line:
[INFO] [stderr]             
[INFO] [stderr]             * 2: A 1-D tensor, of shape [depth_out], specifying the bias. For input
[INFO] [stderr]                                          ^^^^^^^^^
[INFO] [stderr]     = note: no item named `depth_out` in scope
[INFO] [stderr]     = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
[INFO] [stderr] 
[INFO] [stderr] warning: unresolved link to `i`
[INFO] [stderr]    --> src/neural_networks.rs:696:5
[INFO] [stderr]     |
[INFO] [stderr] 696 |     #[doc = " Performs a 2-D convolution operation.\n\n The CONV_2D op sweeps a 2-D filter that can mix channels together over a\n batch of images, applying the filter to each window of each image of the\n appropriate size.\n\n The output dimensions are functions of the filter dimensions, stride, and\n padding.\n\n The values in the output tensor are computed as:\n\n     output[b, i, j, channel] =\n         sum_{di, dj, k} (\n             input[b, strides[1] * i + di, strides[2] * j + dj, k] *\n             filter[channel, di, dj, k]\n         ) + bias[channel]\n\n Supported tensor {@link OperandCode} configurations:\n * 32 bit floating point:\n * * {@link ANEURALNETWORKS_TENSOR_FLOAT32} for input, filter, output, and bias.\n\n * Quantized:\n * * {@link ANEURALNETWORKS_TENSOR_QUANT8_ASYMM} for input, filter, and output.\n * * {@link ANEURALNETWORKS_TENSOR_INT32} for bias (with scale set to\n * * input.scale * filter.scale).\n\n Available since API level 29:\n * 16 bit floating point:\n * * {@link ANEURALNETWORKS_TENSOR_FLOAT16} for input, filter, output, and bias.\n\n * Quantized with symmetric per channel quantization for the filter:\n * * {@link ANEURALNETWORKS_TENSOR_QUANT8_ASYMM} for input, and output.\n * * {@link ANEURALNETWORKS_TENSOR_QUANT8_SYMM_PER_CHANNEL} for filter.\n * * {@link ANEURALNETWORKS_TENSOR_INT32} for bias (scale set to 0.0,\n * * each value scaling is separate and equal to input.scale * filter.scales[channel]).\n\n Available since API level 30:\n * Quantized signed (since API level 30):\n * * {@link ANEURALNETWORKS_TENSOR_QUANT8_ASYMM_SIGNED} for input, filter, and output.\n * * {@link ANEURALNETWORKS_TENSOR_INT32} for bias (with scale set to\n * * input.scale * filter.scale).\n\n * Quantized signed with filter symmetric per channel quantization (since API level 30):\n * * {@link ANEURALNETWORKS_TENSOR_QUANT8_ASYMM_SIGNED} for input, and output.\n * * {@link ANEURALNETWORKS_TENSOR_QUANT8_SYMM_PER_CHANNEL} for filter.\n * * {@link ANEURALNETWORKS_TENSOR_INT32} for bias (scale set to 0.0,\n * * each value scaling is separate and equal to input.scale * filter.scales[channel]).\n\n Supported tensor rank: 4, with \"NHWC\" or \"NCHW\" data layout.\n With the default data layout NHWC, the data is stored in the order of:\n [batch, height, width, channels]. Alternatively, the data layout could\n be NCHW, the data storage order of: [batch, channels, height, width].\n NCHW is supported since API level 29.\n\n Both explicit padding and implicit padding are supported.\n\n Inputs (explicit padding):\n * 0: A 4-D tensor, of shape [batches, height, width, depth_in],\n      specifying the input.\n      Since API level 29, zero batches is supported for this tensor.\n * 1: A 4-D tensor, of shape\n      [depth_out, filter_height, filter_width, depth_in], specifying the\n      filter.\n      For tensor of type {@link ANEURALNETWORKS_TENSOR_QUANT8_SYMM_PER_CHANNEL}\n      the channel dimension (ANeuralNetworksSymmPerChannelQuantParams::channelDim)\n      must be set to 0.\n * 2: A 1-D tensor, of shape [depth_out], specifying the bias. For input\n      tensor of type {@link ANEURALNETWORKS_TENSOR_FLOAT32}\n      or {@link ANEURALNETWORKS_TENSOR_FLOAT16} the bias must be of the same type.\n      For filter tensor of {@link ANEURALNETWORKS_TENSOR_QUANT8_ASYMM}\n      and {@link ANEURALNETWORKS_TENSOR_QUANT8_ASYMM_SIGNED},\n      the bias should be of {@link ANEURALNETWORKS_TENSOR_INT32}, with zeroPoint\n      of 0 and bias_scale == input_scale * filter_scale.\n      For filter tensor of {@link ANEURALNETWORKS_TENSOR_QUANT8_SYMM_PER_CHANNEL},\n      the bias should be of {@link ANEURALNETWORKS_TENSOR_INT32}, with zeroPoint of 0\n      and bias_scale of 0. The actual scale of each value 'i' is equal to\n      bias_scale[i] = input_scale * filter_scale[i].\n * 3: An {@link ANEURALNETWORKS_INT32} scalar, specifying the padding on\n      the left, in the ‘width’ dimension.\n * 4: An {@link ANEURALNETWORKS_INT32} scalar, specifying the padding on\n      the right, in the ‘width’ dimension.\n * 5: An {@link ANEURALNETWORKS_INT32} scalar, specifying the padding on\n      the top, in the ‘height’ dimension.\n * 6: An {@link ANEURALNETWORKS_INT32} scalar, specifying the padding on\n      the bottom, in the ‘height’ dimension.\n * 7: An {@link ANEURALNETWORKS_INT32} scalar, specifying the stride when\n      walking through input in the ‘width’ dimension.\n * 8: An {@link ANEURALNETWORKS_INT32} scalar, specifying the stride when\n      walking through input in the ‘height’ dimension.\n * 9: An {@link ANEURALNETWORKS_INT32} scalar, and has to be one of the\n      {@link FuseCode} values. Specifies the activation to\n      invoke on the result.\n * 10: An optional {@link ANEURALNETWORKS_BOOL} scalar, default to false.\n      Set to true to specify NCHW data layout for input0 and output0.\n      Available since API level 29.\n * 11: An optional {@link ANEURALNETWORKS_INT32} scalar, specifying the dilation\n      factor for width. Defaults to 1. If set to k > 1, there will be k-1 skipped\n      cells between each filter element on width dimension. If this input is set,\n      input 12 (dilation factor for height) must be specified as well.\n      Available since API level 29.\n * 12: An optional {@link ANEURALNETWORKS_INT32} scalar, specifying the dilation\n      factor for height. Defaults to 1. If set to k > 1, there will be k-1 skipped\n      cells between each filter element on height dimension. If this input is set,\n      input 11 (dilation factor for width) must be specified as well.\n      Available since API level 29.\n\n Inputs (implicit padding):\n * 0: A 4-D tensor, of shape [batches, height, width, depth_in],\n      specifying the input.\n      Since API level 29, zero batches is supported for this tensor.\n * 1: A 4-D tensor, of shape\n      [depth_out, filter_height, filter_width, depth_in], specifying the\n      filter.\n      For tensor of type {@link ANEURALNETWORKS_TENSOR_QUANT8_SYMM_PER_CHANNEL}\n      the channel dimension (ANeuralNetworksSymmPerChannelQuantParams::channelDim)\n      must be set to 0.\n * 2: A 1-D tensor, of shape [depth_out], specifying the bias. For input\n      tensor of type {@link ANEURALNETWORKS_TENSOR_FLOAT32}\n      or {@link ANEURALNETWORKS_TENSOR_FLOAT16} the bias must be of the same\n      type.\n      For filter tensor of {@link ANEURALNETWORKS_TENSOR_QUANT8_ASYMM}\n      and {@link ANEURALNETWORKS_TENSOR_QUANT8_ASYMM_SIGNED},\n      the bias should be of {@link ANEURALNETWORKS_TENSOR_INT32}, with zeroPoint\n      of 0 and bias_scale == input_scale * filter_scale.\n      For filter tensor of {@link ANEURALNETWORKS_TENSOR_QUANT8_SYMM_PER_CHANNEL},\n      the bias should be of {@link ANEURALNETWORKS_TENSOR_INT32}, with zeroPoint of 0\n      and bias_scale of 0. The actual scale of each value 'i' is equal to\n      bias_scale[i] = input_scale * filter_scale[i].\n * 3: An {@link ANEURALNETWORKS_INT32} scalar, specifying the implicit\n      padding scheme, has to be one of the\n      {@link PaddingCode} values.\n * 4: An {@link ANEURALNETWORKS_INT32} scalar, specifying the stride when\n      walking through input in the ‘width’ dimension.\n * 5: An {@link ANEURALNETWORKS_INT32} scalar, specifying the stride when\n      walking through input in the ‘height’ dimension.\n * 6: An {@link ANEURALNETWORKS_INT32} scalar, and has to be one of the\n      {@link FuseCode} values. Specifies the activation to\n      invoke on the result.\n * 7: An optional {@link ANEURALNETWORKS_BOOL} scalar, default to false.\n      Set to true to specify NCHW data layout for input0 and output0.\n      Available since API level 29.\n * 8: An optional {@link ANEURALNETWORKS_INT32} scalar, specifying the dilation\n      factor for width. Defaults to 1. If set to k > 1, there will be k-1 skipped\n      cells between each filter element on width dimension. If this input is set,\n      input 9 (dilation factor for height) must be specified as well.\n      Available since API level 29.\n * 9: An optional {@link ANEURALNETWORKS_INT32} scalar, specifying the dilation\n      factor for height. Defaults to 1. If set to k > 1, there will be k-1 skipped\n      cells between each filter element on height dimension. If this input is set,\n      input 8 (dilation factor for width) must be specified as well.\n      Available since API level 29.\n\n Outputs:\n * 0: The output 4-D tensor, of shape\n      [batches, out_height, out_width, depth_out].\n      Before API level 29, for output tensor of {@link ANEURALNETWORKS_TENSOR_QUANT8_ASYMM},\n      the following condition must be satisfied: output_scale > input_scale * filter_scale\n\n Available since API level 27...
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: the link appears in this line:
[INFO] [stderr]             
[INFO] [stderr]                  bias_scale[i] = input_scale * filter_scale[i].
[INFO] [stderr]                             ^
[INFO] [stderr]     = note: no item named `i` in scope
[INFO] [stderr]     = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
[INFO] [stderr] 
[INFO] [stderr] warning: unresolved link to `channel`
[INFO] [stderr]    --> src/neural_networks.rs:698:5
[INFO] [stderr]     |
[INFO] [stderr] 698 |     #[doc = " Performs a depthwise 2-D convolution operation.\n\n Given an input tensor of shape [batches, height, width, depth_in] and a\n filter tensor of shape [1, filter_height, filter_width, depth_out]\n containing depth_out convolutional filters of depth 1, DEPTHWISE_CONV\n applies a different filter to each input channel (expanding from 1\n channel to channel_multiplier channels for each), then concatenates the\n results together.\n\n The output has depth_out = depth_in * depth_multiplier channels.\n The output dimensions are functions of the filter dimensions, stride, and\n padding.\n\n The values in the output tensor are computed as:\n\n     output[b, i, j, k * channel_multiplier + q] =\n         sum_{di, dj} (\n             input[b, strides[1] * i + di, strides[2] * j + dj, k] *\n             filter[1, di, dj, k * channel_multiplier + q]\n         ) + bias[k * channel_multiplier + q]\n\n Supported tensor {@link OperandCode} configurations:\n * 32 bit floating point:\n * * {@link ANEURALNETWORKS_TENSOR_FLOAT32} for input, filter, output, and bias.\n\n * Quantized:\n * * {@link ANEURALNETWORKS_TENSOR_QUANT8_ASYMM} for input, filter, and output.\n * * {@link ANEURALNETWORKS_TENSOR_INT32} for bias (with scale set to\n * * input.scale * filter.scale).\n\n Available since API level 29:\n * 16 bit floating point:\n * * {@link ANEURALNETWORKS_TENSOR_FLOAT16} for input, filter, output, and bias.\n\n * Quantized with symmetric per channel quantization for the filter:\n * * {@link ANEURALNETWORKS_TENSOR_QUANT8_ASYMM} for input, and output.\n * * {@link ANEURALNETWORKS_TENSOR_QUANT8_SYMM_PER_CHANNEL} for filter.\n * * {@link ANEURALNETWORKS_TENSOR_INT32} for bias (scale set to 0.0,\n * * each value scaling is separate and equal to input.scale * filter.scales[channel]).\n\n Available since API level 30:\n * Quantized signed (since API level 30):\n * * {@link ANEURALNETWORKS_TENSOR_QUANT8_ASYMM_SIGNED} for input, filter, and output.\n * * {@link ANEURALNETWORKS_TENSOR_INT32} for bias (with scale set to\n * * input.scale * filter.scale).\n\n * Quantized signed with filter symmetric per channel quantization (since API level 30):\n * * {@link ANEURALNETWORKS_TENSOR_QUANT8_ASYMM_SIGNED} for input, and output.\n * * {@link ANEURALNETWORKS_TENSOR_QUANT8_SYMM_PER_CHANNEL} for filter.\n * * {@link ANEURALNETWORKS_TENSOR_INT32} for bias (scale set to 0.0,\n * * each value scaling is separate and equal to input.scale * filter.scales[channel]).\n\n Supported tensor rank: 4, with \"NHWC\" or \"NCHW\" data layout.\n With the default data layout NHWC, the data is stored in the order of:\n [batch, height, width, channels]. Alternatively, the data layout could\n be NCHW, the data storage order of: [batch, channels, height, width].\n NCHW is supported since API level 29.\n\n Both explicit padding and implicit padding are supported.\n\n Inputs (explicit padding):\n * 0: A 4-D tensor, of shape [batches, height, width, depth_in],\n      specifying the input.\n * 1: A 4-D tensor, of shape [1, filter_height, filter_width, depth_out],\n      specifying the filter.\n      For tensor of type {@link ANEURALNETWORKS_TENSOR_QUANT8_SYMM_PER_CHANNEL}\n      the channel dimension (ANeuralNetworksSymmPerChannelQuantParams::channelDim)\n      must be set to 3.\n * 2: A 1-D tensor, of shape [depth_out], specifying the bias. For input\n      tensor of type {@link ANEURALNETWORKS_TENSOR_FLOAT32}\n      or {@link ANEURALNETWORKS_TENSOR_FLOAT16} the bias must be of the same type.\n      For filter tensor of {@link ANEURALNETWORKS_TENSOR_QUANT8_ASYMM}\n      and {@link ANEURALNETWORKS_TENSOR_QUANT8_ASYMM_SIGNED},\n      the bias should be of {@link ANEURALNETWORKS_TENSOR_INT32}, with zeroPoint\n      of 0 and bias_scale == input_scale * filter_scale.\n      For filter tensor of {@link ANEURALNETWORKS_TENSOR_QUANT8_SYMM_PER_CHANNEL},\n      the bias should be of {@link ANEURALNETWORKS_TENSOR_INT32}, with zeroPoint of 0\n      and bias_scale of 0. The actual scale of each value 'i' is equal to\n      bias_scale[i] = input_scale * filter_scale[i].\n * 3: An {@link ANEURALNETWORKS_INT32} scalar, specifying the padding on\n      the left, in the ‘width’ dimension.\n * 4: An {@link ANEURALNETWORKS_INT32} scalar, specifying the padding on\n      the right, in the ‘width’ dimension.\n * 5: An {@link ANEURALNETWORKS_INT32} scalar, specifying the padding on\n      the top, in the ‘height’ dimension.\n * 6: An {@link ANEURALNETWORKS_INT32} scalar, specifying the padding on\n      the bottom, in the ‘height’ dimension.\n * 7: An {@link ANEURALNETWORKS_INT32} scalar, specifying the stride when\n      walking through input in the ‘width’ dimension.\n * 8: An {@link ANEURALNETWORKS_INT32} scalar, specifying the stride when\n      walking through input in the ‘height’ dimension.\n * 9: An {@link ANEURALNETWORKS_INT32} scalar, specifying the depthwise\n      multiplier.\n * 10: An {@link ANEURALNETWORKS_INT32} scalar, and has to be one of the\n       {@link FuseCode} values. Specifies the activation to\n       invoke on the result.\n * 11: An optional {@link ANEURALNETWORKS_BOOL} scalar, default to false.\n       Set to true to specify NCHW data layout for input0 and output0.\n       Available since API level 29.\n * 12: An optional {@link ANEURALNETWORKS_INT32} scalar, specifying the dilation\n      factor for width. Defaults to 1. If set to k > 1, there will be k-1 skipped\n      cells between each filter element on width dimension. If this input is set,\n      input 13 (dilation factor for height) must be specified as well.\n      Available since API level 29.\n * 13: An optional {@link ANEURALNETWORKS_INT32} scalar, specifying the dilation\n      factor for height. Defaults to 1. If set to k > 1, there will be k-1 skipped\n      cells between each filter element on height dimension. If this input is set,\n      input 12 (dilation factor for width) must be specified as well.\n      Available since API level 29.\n\n Inputs (implicit padding):\n * 0: A 4-D tensor, of shape [batches, height, width, depth_in],\n      specifying the input.\n * 1: A 4-D tensor, of shape [1, filter_height, filter_width, depth_out],\n      specifying the filter.\n * 2: A 1-D tensor, of shape [depth_out], specifying the bias. For input\n      tensor of type {@link ANEURALNETWORKS_TENSOR_FLOAT32}\n      or {@link ANEURALNETWORKS_TENSOR_FLOAT16} the bias must be of the same type.\n      For filter tensor of {@link ANEURALNETWORKS_TENSOR_QUANT8_ASYMM}\n      and {@link ANEURALNETWORKS_TENSOR_QUANT8_ASYMM_SIGNED},\n      the bias should be of {@link ANEURALNETWORKS_TENSOR_INT32}, with zeroPoint\n      of 0 and bias_scale == input_scale * filter_scale.\n      For filter tensor of {@link ANEURALNETWORKS_TENSOR_QUANT8_SYMM_PER_CHANNEL},\n      the bias should be of {@link ANEURALNETWORKS_TENSOR_INT32}, with zeroPoint of 0\n      and bias_scale of 0. The actual scale of each value 'i' is equal to\n      bias_scale[i] = input_scale * filter_scale[i].\n * 3: An {@link ANEURALNETWORKS_INT32} scalar, specifying the implicit\n      padding scheme, has to be one of the\n      {@link PaddingCode} values.\n * 4: An {@link ANEURALNETWORKS_INT32} scalar, specifying the stride when\n      walking through input in the ‘width’ dimension.\n * 5: An {@link ANEURALNETWORKS_INT32} scalar, specifying the stride when\n      walking through input in the ‘height’ dimension.\n * 6: An {@link ANEURALNETWORKS_INT32} scalar, specifying the depthwise\n      multiplier.\n * 7: An {@link ANEURALNETWORKS_INT32} scalar, and has to be one of the\n      {@link FuseCode} values. Specifies the activation to\n      invoke on the result.\n * 8: An optional {@link ANEURALNETWORKS_BOOL} scalar, default to false.\n      Set to true to specify NCHW data layout for input0 and output0.\n      Available since API level 29.\n * 9: An optional {@link ANEURALNETWORKS_INT32} scalar, specifying the dilation\n      factor for width. Defaults to 1. If set to k > 1, there will be k-1 skipped\n      cells between each filter element on width dimension. If this input is set,\n      input 10 (dilation factor for height) must be specified as well.\n      Available since API level 29.\n * 10: An optional {@link ANEURALNETWORKS_INT32} scalar, specifying the dilation\n      factor for height. Defaults to 1. If set to k > 1, there will be k-1 skipped\n      cells between each filter element on height dimension. If this input is set,\n      input 9 (dilation factor for width) must be specified as well.\n      Available since API level 29.\n\n Outputs:\n * 0: The output 4-D tensor, of shape\n      [batches, out_height, out_width, depth_out]. Before API level 29, for\n      output tensor of {@link ANEURALNETWORKS_TENSOR_QUANT8_ASYMM},\n      the following condition must be satisfied:\n      output_scale > input_scale * filter_scale\n\n Available since API level 27...
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: the link appears in this line:
[INFO] [stderr]             
[INFO] [stderr]             * * each value scaling is separate and equal to input.scale * filter.scales[channel]).
[INFO] [stderr]                                                                                         ^^^^^^^
[INFO] [stderr]     = note: no item named `channel` in scope
[INFO] [stderr]     = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
[INFO] [stderr] 
[INFO] [stderr] warning: unresolved link to `depth_out`
[INFO] [stderr]    --> src/neural_networks.rs:698:5
[INFO] [stderr]     |
[INFO] [stderr] 698 |     #[doc = " Performs a depthwise 2-D convolution operation.\n\n Given an input tensor of shape [batches, height, width, depth_in] and a\n filter tensor of shape [1, filter_height, filter_width, depth_out]\n containing depth_out convolutional filters of depth 1, DEPTHWISE_CONV\n applies a different filter to each input channel (expanding from 1\n channel to channel_multiplier channels for each), then concatenates the\n results together.\n\n The output has depth_out = depth_in * depth_multiplier channels.\n The output dimensions are functions of the filter dimensions, stride, and\n padding.\n\n The values in the output tensor are computed as:\n\n     output[b, i, j, k * channel_multiplier + q] =\n         sum_{di, dj} (\n             input[b, strides[1] * i + di, strides[2] * j + dj, k] *\n             filter[1, di, dj, k * channel_multiplier + q]\n         ) + bias[k * channel_multiplier + q]\n\n Supported tensor {@link OperandCode} configurations:\n * 32 bit floating point:\n * * {@link ANEURALNETWORKS_TENSOR_FLOAT32} for input, filter, output, and bias.\n\n * Quantized:\n * * {@link ANEURALNETWORKS_TENSOR_QUANT8_ASYMM} for input, filter, and output.\n * * {@link ANEURALNETWORKS_TENSOR_INT32} for bias (with scale set to\n * * input.scale * filter.scale).\n\n Available since API level 29:\n * 16 bit floating point:\n * * {@link ANEURALNETWORKS_TENSOR_FLOAT16} for input, filter, output, and bias.\n\n * Quantized with symmetric per channel quantization for the filter:\n * * {@link ANEURALNETWORKS_TENSOR_QUANT8_ASYMM} for input, and output.\n * * {@link ANEURALNETWORKS_TENSOR_QUANT8_SYMM_PER_CHANNEL} for filter.\n * * {@link ANEURALNETWORKS_TENSOR_INT32} for bias (scale set to 0.0,\n * * each value scaling is separate and equal to input.scale * filter.scales[channel]).\n\n Available since API level 30:\n * Quantized signed (since API level 30):\n * * {@link ANEURALNETWORKS_TENSOR_QUANT8_ASYMM_SIGNED} for input, filter, and output.\n * * {@link ANEURALNETWORKS_TENSOR_INT32} for bias (with scale set to\n * * input.scale * filter.scale).\n\n * Quantized signed with filter symmetric per channel quantization (since API level 30):\n * * {@link ANEURALNETWORKS_TENSOR_QUANT8_ASYMM_SIGNED} for input, and output.\n * * {@link ANEURALNETWORKS_TENSOR_QUANT8_SYMM_PER_CHANNEL} for filter.\n * * {@link ANEURALNETWORKS_TENSOR_INT32} for bias (scale set to 0.0,\n * * each value scaling is separate and equal to input.scale * filter.scales[channel]).\n\n Supported tensor rank: 4, with \"NHWC\" or \"NCHW\" data layout.\n With the default data layout NHWC, the data is stored in the order of:\n [batch, height, width, channels]. Alternatively, the data layout could\n be NCHW, the data storage order of: [batch, channels, height, width].\n NCHW is supported since API level 29.\n\n Both explicit padding and implicit padding are supported.\n\n Inputs (explicit padding):\n * 0: A 4-D tensor, of shape [batches, height, width, depth_in],\n      specifying the input.\n * 1: A 4-D tensor, of shape [1, filter_height, filter_width, depth_out],\n      specifying the filter.\n      For tensor of type {@link ANEURALNETWORKS_TENSOR_QUANT8_SYMM_PER_CHANNEL}\n      the channel dimension (ANeuralNetworksSymmPerChannelQuantParams::channelDim)\n      must be set to 3.\n * 2: A 1-D tensor, of shape [depth_out], specifying the bias. For input\n      tensor of type {@link ANEURALNETWORKS_TENSOR_FLOAT32}\n      or {@link ANEURALNETWORKS_TENSOR_FLOAT16} the bias must be of the same type.\n      For filter tensor of {@link ANEURALNETWORKS_TENSOR_QUANT8_ASYMM}\n      and {@link ANEURALNETWORKS_TENSOR_QUANT8_ASYMM_SIGNED},\n      the bias should be of {@link ANEURALNETWORKS_TENSOR_INT32}, with zeroPoint\n      of 0 and bias_scale == input_scale * filter_scale.\n      For filter tensor of {@link ANEURALNETWORKS_TENSOR_QUANT8_SYMM_PER_CHANNEL},\n      the bias should be of {@link ANEURALNETWORKS_TENSOR_INT32}, with zeroPoint of 0\n      and bias_scale of 0. The actual scale of each value 'i' is equal to\n      bias_scale[i] = input_scale * filter_scale[i].\n * 3: An {@link ANEURALNETWORKS_INT32} scalar, specifying the padding on\n      the left, in the ‘width’ dimension.\n * 4: An {@link ANEURALNETWORKS_INT32} scalar, specifying the padding on\n      the right, in the ‘width’ dimension.\n * 5: An {@link ANEURALNETWORKS_INT32} scalar, specifying the padding on\n      the top, in the ‘height’ dimension.\n * 6: An {@link ANEURALNETWORKS_INT32} scalar, specifying the padding on\n      the bottom, in the ‘height’ dimension.\n * 7: An {@link ANEURALNETWORKS_INT32} scalar, specifying the stride when\n      walking through input in the ‘width’ dimension.\n * 8: An {@link ANEURALNETWORKS_INT32} scalar, specifying the stride when\n      walking through input in the ‘height’ dimension.\n * 9: An {@link ANEURALNETWORKS_INT32} scalar, specifying the depthwise\n      multiplier.\n * 10: An {@link ANEURALNETWORKS_INT32} scalar, and has to be one of the\n       {@link FuseCode} values. Specifies the activation to\n       invoke on the result.\n * 11: An optional {@link ANEURALNETWORKS_BOOL} scalar, default to false.\n       Set to true to specify NCHW data layout for input0 and output0.\n       Available since API level 29.\n * 12: An optional {@link ANEURALNETWORKS_INT32} scalar, specifying the dilation\n      factor for width. Defaults to 1. If set to k > 1, there will be k-1 skipped\n      cells between each filter element on width dimension. If this input is set,\n      input 13 (dilation factor for height) must be specified as well.\n      Available since API level 29.\n * 13: An optional {@link ANEURALNETWORKS_INT32} scalar, specifying the dilation\n      factor for height. Defaults to 1. If set to k > 1, there will be k-1 skipped\n      cells between each filter element on height dimension. If this input is set,\n      input 12 (dilation factor for width) must be specified as well.\n      Available since API level 29.\n\n Inputs (implicit padding):\n * 0: A 4-D tensor, of shape [batches, height, width, depth_in],\n      specifying the input.\n * 1: A 4-D tensor, of shape [1, filter_height, filter_width, depth_out],\n      specifying the filter.\n * 2: A 1-D tensor, of shape [depth_out], specifying the bias. For input\n      tensor of type {@link ANEURALNETWORKS_TENSOR_FLOAT32}\n      or {@link ANEURALNETWORKS_TENSOR_FLOAT16} the bias must be of the same type.\n      For filter tensor of {@link ANEURALNETWORKS_TENSOR_QUANT8_ASYMM}\n      and {@link ANEURALNETWORKS_TENSOR_QUANT8_ASYMM_SIGNED},\n      the bias should be of {@link ANEURALNETWORKS_TENSOR_INT32}, with zeroPoint\n      of 0 and bias_scale == input_scale * filter_scale.\n      For filter tensor of {@link ANEURALNETWORKS_TENSOR_QUANT8_SYMM_PER_CHANNEL},\n      the bias should be of {@link ANEURALNETWORKS_TENSOR_INT32}, with zeroPoint of 0\n      and bias_scale of 0. The actual scale of each value 'i' is equal to\n      bias_scale[i] = input_scale * filter_scale[i].\n * 3: An {@link ANEURALNETWORKS_INT32} scalar, specifying the implicit\n      padding scheme, has to be one of the\n      {@link PaddingCode} values.\n * 4: An {@link ANEURALNETWORKS_INT32} scalar, specifying the stride when\n      walking through input in the ‘width’ dimension.\n * 5: An {@link ANEURALNETWORKS_INT32} scalar, specifying the stride when\n      walking through input in the ‘height’ dimension.\n * 6: An {@link ANEURALNETWORKS_INT32} scalar, specifying the depthwise\n      multiplier.\n * 7: An {@link ANEURALNETWORKS_INT32} scalar, and has to be one of the\n      {@link FuseCode} values. Specifies the activation to\n      invoke on the result.\n * 8: An optional {@link ANEURALNETWORKS_BOOL} scalar, default to false.\n      Set to true to specify NCHW data layout for input0 and output0.\n      Available since API level 29.\n * 9: An optional {@link ANEURALNETWORKS_INT32} scalar, specifying the dilation\n      factor for width. Defaults to 1. If set to k > 1, there will be k-1 skipped\n      cells between each filter element on width dimension. If this input is set,\n      input 10 (dilation factor for height) must be specified as well.\n      Available since API level 29.\n * 10: An optional {@link ANEURALNETWORKS_INT32} scalar, specifying the dilation\n      factor for height. Defaults to 1. If set to k > 1, there will be k-1 skipped\n      cells between each filter element on height dimension. If this input is set,\n      input 9 (dilation factor for width) must be specified as well.\n      Available since API level 29.\n\n Outputs:\n * 0: The output 4-D tensor, of shape\n      [batches, out_height, out_width, depth_out]. Before API level 29, for\n      output tensor of {@link ANEURALNETWORKS_TENSOR_QUANT8_ASYMM},\n      the following condition must be satisfied:\n      output_scale > input_scale * filter_scale\n\n Available since API level 27...
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: the link appears in this line:
[INFO] [stderr]             
[INFO] [stderr]             * 2: A 1-D tensor, of shape [depth_out], specifying the bias. For input
[INFO] [stderr]                                          ^^^^^^^^^
[INFO] [stderr]     = note: no item named `depth_out` in scope
[INFO] [stderr]     = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
[INFO] [stderr] 
[INFO] [stderr] warning: unresolved link to `i`
[INFO] [stderr]    --> src/neural_networks.rs:698:5
[INFO] [stderr]     |
[INFO] [stderr] 698 |     #[doc = " Performs a depthwise 2-D convolution operation.\n\n Given an input tensor of shape [batches, height, width, depth_in] and a\n filter tensor of shape [1, filter_height, filter_width, depth_out]\n containing depth_out convolutional filters of depth 1, DEPTHWISE_CONV\n applies a different filter to each input channel (expanding from 1\n channel to channel_multiplier channels for each), then concatenates the\n results together.\n\n The output has depth_out = depth_in * depth_multiplier channels.\n The output dimensions are functions of the filter dimensions, stride, and\n padding.\n\n The values in the output tensor are computed as:\n\n     output[b, i, j, k * channel_multiplier + q] =\n         sum_{di, dj} (\n             input[b, strides[1] * i + di, strides[2] * j + dj, k] *\n             filter[1, di, dj, k * channel_multiplier + q]\n         ) + bias[k * channel_multiplier + q]\n\n Supported tensor {@link OperandCode} configurations:\n * 32 bit floating point:\n * * {@link ANEURALNETWORKS_TENSOR_FLOAT32} for input, filter, output, and bias.\n\n * Quantized:\n * * {@link ANEURALNETWORKS_TENSOR_QUANT8_ASYMM} for input, filter, and output.\n * * {@link ANEURALNETWORKS_TENSOR_INT32} for bias (with scale set to\n * * input.scale * filter.scale).\n\n Available since API level 29:\n * 16 bit floating point:\n * * {@link ANEURALNETWORKS_TENSOR_FLOAT16} for input, filter, output, and bias.\n\n * Quantized with symmetric per channel quantization for the filter:\n * * {@link ANEURALNETWORKS_TENSOR_QUANT8_ASYMM} for input, and output.\n * * {@link ANEURALNETWORKS_TENSOR_QUANT8_SYMM_PER_CHANNEL} for filter.\n * * {@link ANEURALNETWORKS_TENSOR_INT32} for bias (scale set to 0.0,\n * * each value scaling is separate and equal to input.scale * filter.scales[channel]).\n\n Available since API level 30:\n * Quantized signed (since API level 30):\n * * {@link ANEURALNETWORKS_TENSOR_QUANT8_ASYMM_SIGNED} for input, filter, and output.\n * * {@link ANEURALNETWORKS_TENSOR_INT32} for bias (with scale set to\n * * input.scale * filter.scale).\n\n * Quantized signed with filter symmetric per channel quantization (since API level 30):\n * * {@link ANEURALNETWORKS_TENSOR_QUANT8_ASYMM_SIGNED} for input, and output.\n * * {@link ANEURALNETWORKS_TENSOR_QUANT8_SYMM_PER_CHANNEL} for filter.\n * * {@link ANEURALNETWORKS_TENSOR_INT32} for bias (scale set to 0.0,\n * * each value scaling is separate and equal to input.scale * filter.scales[channel]).\n\n Supported tensor rank: 4, with \"NHWC\" or \"NCHW\" data layout.\n With the default data layout NHWC, the data is stored in the order of:\n [batch, height, width, channels]. Alternatively, the data layout could\n be NCHW, the data storage order of: [batch, channels, height, width].\n NCHW is supported since API level 29.\n\n Both explicit padding and implicit padding are supported.\n\n Inputs (explicit padding):\n * 0: A 4-D tensor, of shape [batches, height, width, depth_in],\n      specifying the input.\n * 1: A 4-D tensor, of shape [1, filter_height, filter_width, depth_out],\n      specifying the filter.\n      For tensor of type {@link ANEURALNETWORKS_TENSOR_QUANT8_SYMM_PER_CHANNEL}\n      the channel dimension (ANeuralNetworksSymmPerChannelQuantParams::channelDim)\n      must be set to 3.\n * 2: A 1-D tensor, of shape [depth_out], specifying the bias. For input\n      tensor of type {@link ANEURALNETWORKS_TENSOR_FLOAT32}\n      or {@link ANEURALNETWORKS_TENSOR_FLOAT16} the bias must be of the same type.\n      For filter tensor of {@link ANEURALNETWORKS_TENSOR_QUANT8_ASYMM}\n      and {@link ANEURALNETWORKS_TENSOR_QUANT8_ASYMM_SIGNED},\n      the bias should be of {@link ANEURALNETWORKS_TENSOR_INT32}, with zeroPoint\n      of 0 and bias_scale == input_scale * filter_scale.\n      For filter tensor of {@link ANEURALNETWORKS_TENSOR_QUANT8_SYMM_PER_CHANNEL},\n      the bias should be of {@link ANEURALNETWORKS_TENSOR_INT32}, with zeroPoint of 0\n      and bias_scale of 0. The actual scale of each value 'i' is equal to\n      bias_scale[i] = input_scale * filter_scale[i].\n * 3: An {@link ANEURALNETWORKS_INT32} scalar, specifying the padding on\n      the left, in the ‘width’ dimension.\n * 4: An {@link ANEURALNETWORKS_INT32} scalar, specifying the padding on\n      the right, in the ‘width’ dimension.\n * 5: An {@link ANEURALNETWORKS_INT32} scalar, specifying the padding on\n      the top, in the ‘height’ dimension.\n * 6: An {@link ANEURALNETWORKS_INT32} scalar, specifying the padding on\n      the bottom, in the ‘height’ dimension.\n * 7: An {@link ANEURALNETWORKS_INT32} scalar, specifying the stride when\n      walking through input in the ‘width’ dimension.\n * 8: An {@link ANEURALNETWORKS_INT32} scalar, specifying the stride when\n      walking through input in the ‘height’ dimension.\n * 9: An {@link ANEURALNETWORKS_INT32} scalar, specifying the depthwise\n      multiplier.\n * 10: An {@link ANEURALNETWORKS_INT32} scalar, and has to be one of the\n       {@link FuseCode} values. Specifies the activation to\n       invoke on the result.\n * 11: An optional {@link ANEURALNETWORKS_BOOL} scalar, default to false.\n       Set to true to specify NCHW data layout for input0 and output0.\n       Available since API level 29.\n * 12: An optional {@link ANEURALNETWORKS_INT32} scalar, specifying the dilation\n      factor for width. Defaults to 1. If set to k > 1, there will be k-1 skipped\n      cells between each filter element on width dimension. If this input is set,\n      input 13 (dilation factor for height) must be specified as well.\n      Available since API level 29.\n * 13: An optional {@link ANEURALNETWORKS_INT32} scalar, specifying the dilation\n      factor for height. Defaults to 1. If set to k > 1, there will be k-1 skipped\n      cells between each filter element on height dimension. If this input is set,\n      input 12 (dilation factor for width) must be specified as well.\n      Available since API level 29.\n\n Inputs (implicit padding):\n * 0: A 4-D tensor, of shape [batches, height, width, depth_in],\n      specifying the input.\n * 1: A 4-D tensor, of shape [1, filter_height, filter_width, depth_out],\n      specifying the filter.\n * 2: A 1-D tensor, of shape [depth_out], specifying the bias. For input\n      tensor of type {@link ANEURALNETWORKS_TENSOR_FLOAT32}\n      or {@link ANEURALNETWORKS_TENSOR_FLOAT16} the bias must be of the same type.\n      For filter tensor of {@link ANEURALNETWORKS_TENSOR_QUANT8_ASYMM}\n      and {@link ANEURALNETWORKS_TENSOR_QUANT8_ASYMM_SIGNED},\n      the bias should be of {@link ANEURALNETWORKS_TENSOR_INT32}, with zeroPoint\n      of 0 and bias_scale == input_scale * filter_scale.\n      For filter tensor of {@link ANEURALNETWORKS_TENSOR_QUANT8_SYMM_PER_CHANNEL},\n      the bias should be of {@link ANEURALNETWORKS_TENSOR_INT32}, with zeroPoint of 0\n      and bias_scale of 0. The actual scale of each value 'i' is equal to\n      bias_scale[i] = input_scale * filter_scale[i].\n * 3: An {@link ANEURALNETWORKS_INT32} scalar, specifying the implicit\n      padding scheme, has to be one of the\n      {@link PaddingCode} values.\n * 4: An {@link ANEURALNETWORKS_INT32} scalar, specifying the stride when\n      walking through input in the ‘width’ dimension.\n * 5: An {@link ANEURALNETWORKS_INT32} scalar, specifying the stride when\n      walking through input in the ‘height’ dimension.\n * 6: An {@link ANEURALNETWORKS_INT32} scalar, specifying the depthwise\n      multiplier.\n * 7: An {@link ANEURALNETWORKS_INT32} scalar, and has to be one of the\n      {@link FuseCode} values. Specifies the activation to\n      invoke on the result.\n * 8: An optional {@link ANEURALNETWORKS_BOOL} scalar, default to false.\n      Set to true to specify NCHW data layout for input0 and output0.\n      Available since API level 29.\n * 9: An optional {@link ANEURALNETWORKS_INT32} scalar, specifying the dilation\n      factor for width. Defaults to 1. If set to k > 1, there will be k-1 skipped\n      cells between each filter element on width dimension. If this input is set,\n      input 10 (dilation factor for height) must be specified as well.\n      Available since API level 29.\n * 10: An optional {@link ANEURALNETWORKS_INT32} scalar, specifying the dilation\n      factor for height. Defaults to 1. If set to k > 1, there will be k-1 skipped\n      cells between each filter element on height dimension. If this input is set,\n      input 9 (dilation factor for width) must be specified as well.\n      Available since API level 29.\n\n Outputs:\n * 0: The output 4-D tensor, of shape\n      [batches, out_height, out_width, depth_out]. Before API level 29, for\n      output tensor of {@link ANEURALNETWORKS_TENSOR_QUANT8_ASYMM},\n      the following condition must be satisfied:\n      output_scale > input_scale * filter_scale\n\n Available since API level 27...
[WARN] too much data in the log, truncating it