DUB-AI: multi-task модель (тип озвучки + автор-спан + 18+), обучение/инференс/ONNX/сервис, тесты и документация
This commit is contained in:
commit
8dbca3f4a3
2873 files changed
+44479
No files matched your search
Generated
+1191
File diff suppressed because it is too large.
Load diff
@@ -0,0 +1,13 @@
|
||||
[package]
|
||||
name = "dub-ai-onnx-local"
|
||||
version = "0.1.0"
|
||||
edition = "2021"
|
||||
|
||||
# Путь Б: локальный инференс без Python — ONNX-модель из models/best-onnx.
|
||||
# cargo run --release -- "../../models/best-onnx" "Перевод: Дублированный | MovieDalen"
|
||||
# Первая сборка скачивает onnxruntime (фича download-binaries у крейта ort).
|
||||
|
||||
[dependencies]
|
||||
ort = { version = "=2.0.0-rc.15", features = ["download-binaries"] }
|
||||
tokenizers = { version = "0.21", default-features = false, features = ["onig"] }
|
||||
serde_json = "1"
|
||||
@@ -0,0 +1,27 @@
|
||||
# onnx_local — локальный инференс DUB-AI на Rust (без Python)
|
||||
|
||||
```bash
|
||||
cargo build
|
||||
# onnxruntime.dll грузится динамически; можно взять из pip-пакета onnxruntime
|
||||
# (уже есть в .venv проекта) или из официального релиза onnxruntime
|
||||
ORT_DYLIB_PATH=<путь>/onnxruntime.dll ./target/debug/dub-ai-onnx-local.exe \
|
||||
"<путь к models/best-onnx>" "Перевод: Дублированный | MovieDalen"
|
||||
```
|
||||
|
||||
Пример из корня проекта (Git Bash):
|
||||
|
||||
```bash
|
||||
cd examples/rust/onnx_local
|
||||
ORT_DYLIB_PATH="$(find ../../.venv -name onnxruntime.dll | head -1)" \
|
||||
./target/debug/dub-ai-onnx-local.exe ../../models/best-onnx \
|
||||
"Авторский (одноголосый закадровый) - Юрий Сербин"
|
||||
```
|
||||
|
||||
Модель должна быть экспортирована заранее: `python -m src.export_onnx`
|
||||
(создаст `models/best-onnx/`: model.onnx, tokenizer.json, label_maps.json,
|
||||
aliases.json).
|
||||
|
||||
Крейты: `ort 2.0.0-rc.15` (инференс), `tokenizers` (HF tokenizer.json),
|
||||
`serde_json` (метки/алиасы). Постобработка повторяет `src/predict.py`:
|
||||
argmax типа и 18+, первый B-I-прогон по offsets → текст спана →
|
||||
канонизация по aliases.json.
|
||||
@@ -0,0 +1,140 @@
|
||||
//! Локальный инференс DUB-AI без Python (путь Б: ONNX).
|
||||
//!
|
||||
//! cargo run --release -- <путь к models/best-onnx> "Перевод: Дублированный | MovieDalen"
|
||||
//!
|
||||
//! Повторяет препроцессинг/постобработку src/predict.py:
|
||||
//! токенизация -> ONNX (type_logits, bio_logits, age_logits) ->
|
||||
//! argmax типа, 18+ и первого B-I-прогона по offsets.
|
||||
|
||||
use std::collections::HashMap;
|
||||
|
||||
use ort::session::builder::GraphOptimizationLevel;
|
||||
use ort::session::Session;
|
||||
use ort::value::Tensor;
|
||||
use tokenizers::Tokenizer;
|
||||
|
||||
fn main() -> Result<(), Box<dyn std::error::Error>> {
|
||||
let args: Vec<String> = std::env::args().collect();
|
||||
if args.len() < 3 {
|
||||
eprintln!("использование: cargo run --release -- <models/best-onnx> \"текст дорожки\"");
|
||||
std::process::exit(1);
|
||||
}
|
||||
let model_dir = &args[1];
|
||||
let text = &args[2];
|
||||
|
||||
// --- метки и алиасы ---------------------------------------------------
|
||||
let maps: serde_json::Value = serde_json::from_str(&std::fs::read_to_string(
|
||||
format!("{model_dir}/label_maps.json"),
|
||||
)?)?;
|
||||
let types: Vec<String> = maps["types"]
|
||||
.as_array()
|
||||
.unwrap()
|
||||
.iter()
|
||||
.map(|v| v.as_str().unwrap().to_string())
|
||||
.collect();
|
||||
let aliases: serde_json::Value = serde_json::from_str(&std::fs::read_to_string(
|
||||
format!("{model_dir}/aliases.json"),
|
||||
)?)?;
|
||||
let alias_map: HashMap<String, String> = aliases["aliases"]
|
||||
.as_object()
|
||||
.unwrap()
|
||||
.iter()
|
||||
.map(|(k, v)| (k.clone(), v.as_str().unwrap().to_string()))
|
||||
.collect();
|
||||
|
||||
// --- токенизация -------------------------------------------------------
|
||||
let tok = Tokenizer::from_file(format!("{model_dir}/tokenizer.json"))
|
||||
.map_err(|e| e.to_string())?;
|
||||
let enc = tok.encode(text.as_str(), true).map_err(|e| e.to_string())?;
|
||||
let ids: Vec<i64> = enc.get_ids().iter().map(|&v| v as i64).collect();
|
||||
let mask: Vec<i64> = enc.get_attention_mask().iter().map(|&v| v as i64).collect();
|
||||
let type_ids: Vec<i64> = enc.get_type_ids().iter().map(|&v| v as i64).collect();
|
||||
let offsets = enc.get_offsets().to_vec();
|
||||
let seq = ids.len();
|
||||
|
||||
// --- ONNX-инференс ------------------------------------------------------
|
||||
let env = ort::init().build()?;
|
||||
let mut session = Session::builder(&env)?
|
||||
.with_optimization_level(GraphOptimizationLevel::Level3)?
|
||||
.with_intra_threads(2)?
|
||||
.commit_from_file(format!("{model_dir}/model.onnx"))?;
|
||||
|
||||
let shape = [1usize, seq];
|
||||
let outputs = session.run(ort::inputs![
|
||||
"input_ids" => Tensor::from_array((shape, ids))?,
|
||||
"attention_mask" => Tensor::from_array((shape, mask.clone()))?,
|
||||
"token_type_ids" => Tensor::from_array((shape, type_ids))?,
|
||||
])?;
|
||||
|
||||
let (_, type_logits) = outputs["type_logits"].try_extract_tensor::<f32>()?;
|
||||
let (_, age_logits) = outputs["age_logits"].try_extract_tensor::<f32>()?;
|
||||
let (_, bio_flat) = outputs["bio_logits"].try_extract_tensor::<f32>()?;
|
||||
|
||||
let type_id = argmax(type_logits.iter().copied());
|
||||
let age_id = argmax(age_logits.iter().copied());
|
||||
let label = |token: usize| -> u32 {
|
||||
let base = token * 3;
|
||||
let (mut bi, mut bv) = (0u32, bio_flat[base]);
|
||||
for (c, &v) in bio_flat[base + 1..base + 3].iter().enumerate() {
|
||||
if v > bv {
|
||||
bi = c as u32 + 1;
|
||||
bv = v;
|
||||
}
|
||||
}
|
||||
bi
|
||||
};
|
||||
|
||||
// спан: первый B-токен + цепочка I (только реальные токены)
|
||||
let mut start_tok = None;
|
||||
for t in 0..seq {
|
||||
if mask[t] == 0 {
|
||||
break;
|
||||
}
|
||||
if offsets[t].0 >= offsets[t].1 {
|
||||
continue; // спецтокены
|
||||
}
|
||||
if label(t) == 1 {
|
||||
start_tok = Some(t);
|
||||
break;
|
||||
}
|
||||
}
|
||||
let mut span_txt: Option<String> = None;
|
||||
if let Some(s) = start_tok {
|
||||
let mut e = s;
|
||||
for t in s + 1..seq {
|
||||
if mask[t] == 0 || offsets[t].0 >= offsets[t].1 || label(t) != 2 {
|
||||
break;
|
||||
}
|
||||
e = t;
|
||||
}
|
||||
span_txt = Some(text[offsets[s].0..offsets[e].1].trim().to_string());
|
||||
}
|
||||
let studio = span_txt.as_ref().map(|s| {
|
||||
alias_map
|
||||
.get(&s.to_lowercase())
|
||||
.cloned()
|
||||
.unwrap_or_else(|| s.clone())
|
||||
});
|
||||
|
||||
println!(
|
||||
"тип: {}{}",
|
||||
types[type_id],
|
||||
if age_id == 1 { " | 18+" } else { "" }
|
||||
);
|
||||
match (&studio, &span_txt) {
|
||||
(Some(s), Some(sp)) => println!("автор: {s} (спан «{sp}»)"),
|
||||
_ => println!("автор: —"),
|
||||
}
|
||||
println!("текст: {text}");
|
||||
Ok(())
|
||||
}
|
||||
|
||||
fn argmax<I: Iterator<Item = f32>>(it: I) -> usize {
|
||||
let mut best = (0usize, f32::MIN);
|
||||
for (i, v) in it.enumerate() {
|
||||
if v > best.1 {
|
||||
best = (i, v);
|
||||
}
|
||||
}
|
||||
best.0
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
{"rustc_fingerprint":7970462395228975776,"outputs":{"5414958869613609987":{"success":true,"status":"","code":0,"stdout":"rustc 1.99.1 (58cf8f9c3 2026-10-13)\nbinary: rustc\ncommit-hash: 58cf8f9c35b355199727627d07ae34a4e2846d67\ncommit-date: 2026-10-13\nhost: x86_64-pc-windows-msvc\nrelease: 1.99.1\nLLVM version: 23.1.1\n","stderr":""},"7971740275564407648":{"success":true,"status":"","code":0,"stdout":"___.exe\nlib___.rlib\n___.dll\n___.dll\n___.lib\n___.dll\nC:\\Users\\shats\\.rustup\\toolchains\\stable-x86_64-pc-windows-msvc\npacked\n___\ndebug_assertions\npanic=\"unwind\"\nproc_macro\ntarget_abi=\"\"\ntarget_arch=\"x86_64\"\ntarget_endian=\"little\"\ntarget_env=\"msvc\"\ntarget_family=\"windows\"\ntarget_feature=\"cmpxchg16b\"\ntarget_feature=\"fxsr\"\ntarget_feature=\"sse\"\ntarget_feature=\"sse2\"\ntarget_feature=\"sse3\"\ntarget_has_atomic=\"128\"\ntarget_has_atomic=\"16\"\ntarget_has_atomic=\"32\"\ntarget_has_atomic=\"64\"\ntarget_has_atomic=\"8\"\ntarget_has_atomic=\"ptr\"\ntarget_has_atomic_primitive_alignment=\"128\"\ntarget_has_atomic_primitive_alignment=\"16\"\ntarget_has_atomic_primitive_alignment=\"32\"\ntarget_has_atomic_primitive_alignment=\"64\"\ntarget_has_atomic_primitive_alignment=\"8\"\ntarget_has_atomic_primitive_alignment=\"ptr\"\ntarget_os=\"windows\"\ntarget_pointer_width=\"64\"\ntarget_vendor=\"pc\"\nwindows\n","stderr":""}},"successes":{}}
|
||||
@@ -0,0 +1,3 @@
|
||||
Signature: 8a477f597d28d172789f06886806bc55
|
||||
# This file is a cache directory tag created by cargo.
|
||||
# For information about cache directory tags see https://bford.info/cachedir/
|
||||
Whitespace-only changes.
Whitespace-only changes.
Whitespace-only changes.
+1
@@ -0,0 +1 @@
|
||||
c98a7c49397aaceb
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"rustc":222933465615791797,"features":"[\"default\", \"getrandom\", \"runtime-rng\", \"serde\", \"std\"]","declared_features":"[\"atomic-polyfill\", \"compile-time-rng\", \"const-random\", \"default\", \"getrandom\", \"nightly-arm-aes\", \"no-rng\", \"runtime-rng\", \"serde\", \"std\"]","target":17883862002600103897,"profile":11528375766455597691,"path":5568561389237078866,"deps":[[5398981501050481332,"version_check",false,17304863033590517734]],"local":[{"CheckDepInfo":{"dep_info":"debug\\.fingerprint\\ahash-d057b3106f0a9074\\dep-build-script-build-script-build","checksum":false}}],"rustflags":[],"config":9396254390672932401,"compile_kind":0}
|
||||
BIN
Binary file not shown.
+1
@@ -0,0 +1 @@
|
||||
This file has an mtime of when this was started.
|
||||
BIN
Binary file not shown.
+1
@@ -0,0 +1 @@
|
||||
This file has an mtime of when this was started.
|
||||
@@ -0,0 +1 @@
|
||||
f4d01cd5675011c2
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"rustc":222933465615791797,"features":"[\"default\", \"getrandom\", \"runtime-rng\", \"serde\", \"std\"]","declared_features":"[\"atomic-polyfill\", \"compile-time-rng\", \"const-random\", \"default\", \"getrandom\", \"nightly-arm-aes\", \"no-rng\", \"runtime-rng\", \"serde\", \"std\"]","target":8470944000320059508,"profile":11926785003450549200,"path":2146297622075330288,"deps":[[966925859616469517,"build_script_build",false,8900704671917426416],[4321869508056025743,"zerocopy",false,2632290982216189554],[5855319743879205494,"once_cell",false,9979976404232572773],[6557439603276904804,"serde",false,15624053723140773862],[15482175856213997617,"cfg_if",false,11312962490170189679],[18408407127522236545,"getrandom",false,2068034040429567513]],"local":[{"CheckDepInfo":{"dep_info":"debug\\.fingerprint\\ahash-e4e7be3254012e8c\\dep-lib-ahash","checksum":false}}],"rustflags":[],"config":9396254390672932401,"compile_kind":0}
|
||||
+1
@@ -0,0 +1 @@
|
||||
f0464cbcbda7857b
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"rustc":222933465615791797,"features":"","declared_features":"","target":0,"profile":0,"path":0,"deps":[[966925859616469517,"build_script_build",false,16982082681371921097]],"local":[{"RerunIfChanged":{"output":"debug\\build\\ahash-f8cfadea48df71a0\\output","paths":["build.rs"]}}],"rustflags":[],"config":0,"compile_kind":0}
|
||||
BIN
Binary file not shown.
+1
@@ -0,0 +1 @@
|
||||
This file has an mtime of when this was started.
|
||||
+1
@@ -0,0 +1 @@
|
||||
7f87087bf48f4731
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"rustc":222933465615791797,"features":"[\"default\", \"perf-literal\", \"std\"]","declared_features":"[\"default\", \"logging\", \"perf-literal\", \"std\"]","target":7534583537114156500,"profile":11926785003450549200,"path":6786386444582932478,"deps":[[12613788554453945248,"memchr",false,17430034668736029265]],"local":[{"CheckDepInfo":{"dep_info":"debug\\.fingerprint\\aho-corasick-ddfa93c66967a20b\\dep-lib-aho_corasick","checksum":false}}],"rustflags":[],"config":9396254390672932401,"compile_kind":0}
|
||||
BIN
Binary file not shown.
+1
@@ -0,0 +1 @@
|
||||
This file has an mtime of when this was started.
|
||||
+1
@@ -0,0 +1 @@
|
||||
f23c3af8ffe57342
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"rustc":222933465615791797,"features":"[]","declared_features":"[]","target":6962977057026645649,"profile":11528375766455597691,"path":556384679085276519,"deps":[],"local":[{"CheckDepInfo":{"dep_info":"debug\\.fingerprint\\autocfg-955d0f4e9b58a756\\dep-lib-autocfg","checksum":false}}],"rustflags":[],"config":9396254390672932401,"compile_kind":0}
|
||||
BIN
Binary file not shown.
+1
@@ -0,0 +1 @@
|
||||
This file has an mtime of when this was started.
|
||||
@@ -0,0 +1 @@
|
||||
b7a9f4a30ec98f58
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"rustc":222933465615791797,"features":"[\"default\", \"std\"]","declared_features":"[\"alloc\", \"default\", \"std\"]","target":13060062996227388079,"profile":11926785003450549200,"path":10822504554105910594,"deps":[],"local":[{"CheckDepInfo":{"dep_info":"debug\\.fingerprint\\base64-1992cf4d32c8e6d5\\dep-lib-base64","checksum":false}}],"rustflags":[],"config":9396254390672932401,"compile_kind":0}
|
||||
BIN
Binary file not shown.
+1
@@ -0,0 +1 @@
|
||||
This file has an mtime of when this was started.
|
||||
@@ -0,0 +1 @@
|
||||
6e1c3f316d2f40f2
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"rustc":222933465615791797,"features":"[\"alloc\", \"std\"]","declared_features":"[\"alloc\", \"default\", \"simd-unsafe\", \"std\"]","target":2839635746193839168,"profile":11528375766455597691,"path":9020867275284855952,"deps":[],"local":[{"CheckDepInfo":{"dep_info":"debug\\.fingerprint\\base64-220d84cd9ede7b71\\dep-lib-base64","checksum":false}}],"rustflags":[],"config":9396254390672932401,"compile_kind":0}
|
||||
BIN
Binary file not shown.
+1
@@ -0,0 +1 @@
|
||||
This file has an mtime of when this was started.
|
||||
+1
@@ -0,0 +1 @@
|
||||
f7a10d8f9584f894
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"rustc":222933465615791797,"features":"[\"alloc\"]","declared_features":"[\"alloc\", \"std\"]","target":15548948006327107948,"profile":11528375766455597691,"path":1846031690300937135,"deps":[],"local":[{"CheckDepInfo":{"dep_info":"debug\\.fingerprint\\base64ct-5bc3a2d21277c95a\\dep-lib-base64ct","checksum":false}}],"rustflags":[],"config":9396254390672932401,"compile_kind":0}
|
||||
BIN
Binary file not shown.
+1
@@ -0,0 +1 @@
|
||||
This file has an mtime of when this was started.
|
||||
+1
@@ -0,0 +1 @@
|
||||
c0e5bd3bb59a88ce
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"rustc":222933465615791797,"features":"[]","declared_features":"[\"arbitrary\", \"bytemuck\", \"example_generated\", \"serde\", \"serde_core\", \"std\"]","target":7691312148208718491,"profile":11926785003450549200,"path":16114404642494873844,"deps":[],"local":[{"CheckDepInfo":{"dep_info":"debug\\.fingerprint\\bitflags-a43b09208d5f229d\\dep-lib-bitflags","checksum":false}}],"rustflags":[],"config":9396254390672932401,"compile_kind":0}
|
||||
BIN
Binary file not shown.
+1
@@ -0,0 +1 @@
|
||||
This file has an mtime of when this was started.
|
||||
@@ -0,0 +1 @@
|
||||
2a364ff7258eff72
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"rustc":222933465615791797,"features":"[\"default\", \"std\"]","declared_features":"[\"default\", \"extra-platforms\", \"serde\", \"std\"]","target":11402411492164584411,"profile":18027924059503055824,"path":269383349828324711,"deps":[],"local":[{"CheckDepInfo":{"dep_info":"debug\\.fingerprint\\bytes-d1baaa49b0b38f27\\dep-lib-bytes","checksum":false}}],"rustflags":[],"config":9396254390672932401,"compile_kind":0}
|
||||
BIN
Binary file not shown.
+1
@@ -0,0 +1 @@
|
||||
This file has an mtime of when this was started.
|
||||
+1
@@ -0,0 +1 @@
|
||||
c4c64383b96a3a7d
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"rustc":222933465615791797,"features":"[\"alloc\"]","declared_features":"[\"alloc\", \"default\", \"std\"]","target":13710694652376480987,"profile":11926785003450549200,"path":17990092340696068860,"deps":[[16991438365634268121,"rustversion",false,15780388177985828633]],"local":[{"CheckDepInfo":{"dep_info":"debug\\.fingerprint\\castaway-9af5b8daf11f3d17\\dep-lib-castaway","checksum":false}}],"rustflags":[],"config":9396254390672932401,"compile_kind":0}
|
||||
Binary file not shown.
+1
@@ -0,0 +1 @@
|
||||
This file has an mtime of when this was started.
|
||||
@@ -0,0 +1 @@
|
||||
edcd64f3e2a0242a
|
||||
@@ -0,0 +1 @@
|
||||
{"rustc":222933465615791797,"features":"[]","declared_features":"[\"compile-commands\", \"jobserver\", \"parallel\"]","target":17166610215175470089,"profile":444002096564945121,"path":2273378291655990968,"deps":[[10927638667673843370,"find_msvc_tools",false,16744331924774281880],[12678166843757613889,"shlex",false,7219554748902096343]],"local":[{"CheckDepInfo":{"dep_info":"debug\\.fingerprint\\cc-813437cca865610b\\dep-lib-cc","checksum":false}}],"rustflags":[],"config":9396254390672932401,"compile_kind":0}
|
||||
BIN
Binary file not shown.
+1
@@ -0,0 +1 @@
|
||||
This file has an mtime of when this was started.
|
||||
@@ -0,0 +1 @@
|
||||
6fa7e93772b7ff9c
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"rustc":222933465615791797,"features":"[]","declared_features":"[\"core\", \"rustc-dep-of-std\"]","target":13840298032947503755,"profile":11926785003450549200,"path":10143533043765886058,"deps":[],"local":[{"CheckDepInfo":{"dep_info":"debug\\.fingerprint\\cfg-if-16ed30e64ce9445d\\dep-lib-cfg_if","checksum":false}}],"rustflags":[],"config":9396254390672932401,"compile_kind":0}
|
||||
BIN
Binary file not shown.
+1
@@ -0,0 +1 @@
|
||||
This file has an mtime of when this was started.
|
||||
+1
@@ -0,0 +1 @@
|
||||
9989e919e1491ce5
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"rustc":222933465615791797,"features":"[\"default\", \"serde\", \"std\"]","declared_features":"[\"arbitrary\", \"borsh\", \"bytes\", \"default\", \"diesel\", \"markup\", \"proptest\", \"quickcheck\", \"rkyv\", \"serde\", \"smallvec\", \"sqlx\", \"sqlx-mysql\", \"sqlx-postgres\", \"sqlx-sqlite\", \"std\", \"zeroize\"]","target":7968499388442294171,"profile":11926785003450549200,"path":18205700819852109508,"deps":[[1127187624154154345,"castaway",false,9023642148393961156],[5532778797167691009,"itoa",false,2234445186326701640],[6400797066282925533,"ryu",false,10416358253513125451],[6557439603276904804,"serde",false,15624053723140773862],[13785866025199020095,"static_assertions",false,16528566243345164726],[15482175856213997617,"cfg_if",false,11312962490170189679],[16991438365634268121,"rustversion",false,15780388177985828633]],"local":[{"CheckDepInfo":{"dep_info":"debug\\.fingerprint\\compact_str-6194f5ca0f98e8a1\\dep-lib-compact_str","checksum":false}}],"rustflags":[],"config":9396254390672932401,"compile_kind":0}
|
||||
+1
@@ -0,0 +1 @@
|
||||
c8ec794756af2c67
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"rustc":222933465615791797,"features":"","declared_features":"","target":0,"profile":0,"path":0,"deps":[[15481973119957668846,"build_script_build",false,16399980406255434090]],"local":[{"RerunIfChanged":{"output":"debug\\build\\crossbeam-deque-10f8f736cf35d3ac\\output","paths":["build.rs"]}}],"rustflags":[],"config":0,"compile_kind":0}
|
||||
BIN
Binary file not shown.
+1
@@ -0,0 +1 @@
|
||||
This file has an mtime of when this was started.
|
||||
+1
@@ -0,0 +1 @@
|
||||
5ffc8e65be90fbd6
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"rustc":222933465615791797,"features":"[\"default\", \"std\"]","declared_features":"[\"default\", \"std\"]","target":15353977948366730291,"profile":10580611315948247195,"path":1235065407593272532,"deps":[[2543204310390312751,"crossbeam_epoch",false,16546483238664781274],[11050506297539643678,"crossbeam_utils",false,15929384999533974312],[15481973119957668846,"build_script_build",false,7434509869983067336]],"local":[{"CheckDepInfo":{"dep_info":"debug\\.fingerprint\\crossbeam-deque-873968546b85dffd\\dep-lib-crossbeam_deque","checksum":false}}],"rustflags":[],"config":9396254390672932401,"compile_kind":0}
|
||||
+1
@@ -0,0 +1 @@
|
||||
6ab938e6496f98e3
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"rustc":222933465615791797,"features":"[\"default\", \"std\"]","declared_features":"[\"default\", \"std\"]","target":5408242616063297496,"profile":8225031023867517122,"path":14663961897241971490,"deps":[],"local":[{"CheckDepInfo":{"dep_info":"debug\\.fingerprint\\crossbeam-deque-9a02c3ae384435ff\\dep-build-script-build-script-build","checksum":false}}],"rustflags":[],"config":9396254390672932401,"compile_kind":0}
|
||||
BIN
Binary file not shown.
+1
@@ -0,0 +1 @@
|
||||
This file has an mtime of when this was started.
|
||||
BIN
Binary file not shown.
+1
@@ -0,0 +1 @@
|
||||
This file has an mtime of when this was started.
|
||||
+1
@@ -0,0 +1 @@
|
||||
dabd91aad6eaa0e5
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"rustc":222933465615791797,"features":"[\"alloc\", \"std\"]","declared_features":"[\"alloc\", \"default\", \"loom\", \"loom-crate\", \"nightly\", \"std\"]","target":16242420667881341737,"profile":10580611315948247195,"path":14467390248188748872,"deps":[[2543204310390312751,"build_script_build",false,3837106829717538774],[11050506297539643678,"crossbeam_utils",false,15929384999533974312]],"local":[{"CheckDepInfo":{"dep_info":"debug\\.fingerprint\\crossbeam-epoch-9001422d484b2bb2\\dep-lib-crossbeam_epoch","checksum":false}}],"rustflags":[],"config":9396254390672932401,"compile_kind":0}
|
||||
+1
@@ -0,0 +1 @@
|
||||
d6078aee54244035
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"rustc":222933465615791797,"features":"","declared_features":"","target":0,"profile":0,"path":0,"deps":[[2543204310390312751,"build_script_build",false,1825229041149345386]],"local":[{"RerunIfChanged":{"output":"debug\\build\\crossbeam-epoch-9df9659d344a3fd1\\output","paths":["build.rs"]}}],"rustflags":[],"config":0,"compile_kind":0}
|
||||
+1
@@ -0,0 +1 @@
|
||||
6afe6e7724845419
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"rustc":222933465615791797,"features":"[\"alloc\", \"std\"]","declared_features":"[\"alloc\", \"default\", \"loom\", \"loom-crate\", \"nightly\", \"std\"]","target":5408242616063297496,"profile":8225031023867517122,"path":6172289561691741993,"deps":[],"local":[{"CheckDepInfo":{"dep_info":"debug\\.fingerprint\\crossbeam-epoch-ea0a5cbb134fec1e\\dep-build-script-build-script-build","checksum":false}}],"rustflags":[],"config":9396254390672932401,"compile_kind":0}
|
||||
BIN
Binary file not shown.
+1
@@ -0,0 +1 @@
|
||||
This file has an mtime of when this was started.
|
||||
BIN
Binary file not shown.
+1
@@ -0,0 +1 @@
|
||||
This file has an mtime of when this was started.
|
||||
+1
@@ -0,0 +1 @@
|
||||
2893a873428b10dd
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"rustc":222933465615791797,"features":"[\"default\", \"std\"]","declared_features":"[\"default\", \"loom\", \"nightly\", \"std\"]","target":9626079250877207070,"profile":10580611315948247195,"path":8408637483422851026,"deps":[[11050506297539643678,"build_script_build",false,14147431449674590334]],"local":[{"CheckDepInfo":{"dep_info":"debug\\.fingerprint\\crossbeam-utils-0a8eb1722e42a504\\dep-lib-crossbeam_utils","checksum":false}}],"rustflags":[],"config":9396254390672932401,"compile_kind":0}
|
||||
+1
@@ -0,0 +1 @@
|
||||
47d5e1850ef4d01e
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"rustc":222933465615791797,"features":"[\"default\", \"std\"]","declared_features":"[\"default\", \"loom\", \"nightly\", \"std\"]","target":5408242616063297496,"profile":8225031023867517122,"path":14957396065231976397,"deps":[],"local":[{"CheckDepInfo":{"dep_info":"debug\\.fingerprint\\crossbeam-utils-29169bde6346354e\\dep-build-script-build-script-build","checksum":false}}],"rustflags":[],"config":9396254390672932401,"compile_kind":0}
|
||||
BIN
Binary file not shown.
+1
@@ -0,0 +1 @@
|
||||
This file has an mtime of when this was started.
|
||||
+1
@@ -0,0 +1 @@
|
||||
7e280b7af2c555c4
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"rustc":222933465615791797,"features":"","declared_features":"","target":0,"profile":0,"path":0,"deps":[[11050506297539643678,"build_script_build",false,2220542959506543943]],"local":[{"RerunIfChanged":{"output":"debug\\build\\crossbeam-utils-798e5e26f35ca096\\output","paths":["no_atomic.rs"]}}],"rustflags":[],"config":0,"compile_kind":0}
|
||||
BIN
Binary file not shown.
+1
@@ -0,0 +1 @@
|
||||
This file has an mtime of when this was started.
|
||||
+1
@@ -0,0 +1 @@
|
||||
7a1de32588fcd02f
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"rustc":222933465615791797,"features":"[\"default\", \"suggestions\"]","declared_features":"[\"default\", \"diagnostics\", \"suggestions\"]","target":10425393644641512883,"profile":3188569367139266033,"path":272311993486449850,"deps":[[391311489375721310,"darling_macro",false,7090050629657004166],[7492649247881633246,"darling_core",false,5677831891801344231]],"local":[{"CheckDepInfo":{"dep_info":"debug\\.fingerprint\\darling-cd836b7f95d2adf2\\dep-lib-darling","checksum":false}}],"rustflags":[],"config":9396254390672932401,"compile_kind":0}
|
||||
BIN
Binary file not shown.
+1
@@ -0,0 +1 @@
|
||||
This file has an mtime of when this was started.
|
||||
+1
@@ -0,0 +1 @@
|
||||
e70834ed05b6cb4e
|
||||
Loaded 100 of 2873 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user