mirror of
https://github.com/tig-pool-nk/tig-monorepo.git
synced 2026-02-21 11:29:31 +08:00
Load hyperparameters from json string or json file.
This commit is contained in:
parent
3bb141beed
commit
aa0246b1cd
@ -34,7 +34,7 @@ fn cli() -> Command {
|
||||
.value_parser(clap::value_parser!(PathBuf)),
|
||||
)
|
||||
.arg(
|
||||
arg!(--hyperparameters [HYPERPARAMETERS] "A json string of hyperparameters")
|
||||
arg!(--hyperparameters [HYPERPARAMETERS] "Hyperparameters json string or path to json file")
|
||||
.value_parser(clap::value_parser!(String)),
|
||||
)
|
||||
.arg(
|
||||
@ -89,12 +89,7 @@ pub fn compute_solution(
|
||||
let settings = load_settings(&settings);
|
||||
let seed = settings.calc_seed(&rand_hash, nonce);
|
||||
|
||||
let hyperparameters = hyperparameters.map(|x| {
|
||||
dejsonify::<Map<String, Value>>(&x).unwrap_or_else(|_| {
|
||||
eprintln!("Failed to parse hyperparameters as JSON");
|
||||
std::process::exit(1);
|
||||
})
|
||||
});
|
||||
let hyperparameters = hyperparameters.map(|x| load_hyperparameters(&x));
|
||||
|
||||
let library = load_module(&library_path)?;
|
||||
let fuel_remaining_ptr = unsafe { *library.get::<*mut u64>(b"__fuel_remaining")? };
|
||||
@ -332,6 +327,22 @@ fn load_settings(settings: &str) -> BenchmarkSettings {
|
||||
})
|
||||
}
|
||||
|
||||
fn load_hyperparameters(hyperparameters: &str) -> Map<String, Value> {
|
||||
let hyperparameters = if hyperparameters.ends_with(".json") {
|
||||
fs::read_to_string(hyperparameters).unwrap_or_else(|_| {
|
||||
eprintln!("Failed to read hyperparameters file: {}", hyperparameters);
|
||||
std::process::exit(1);
|
||||
})
|
||||
} else {
|
||||
hyperparameters.to_string()
|
||||
};
|
||||
|
||||
dejsonify::<Map<String, Value>>(&hyperparameters).unwrap_or_else(|_| {
|
||||
eprintln!("Failed to parse hyperparameters as JSON");
|
||||
std::process::exit(1);
|
||||
})
|
||||
}
|
||||
|
||||
pub fn load_module(path: &PathBuf) -> Result<Library> {
|
||||
let res = panic::catch_unwind(|| unsafe { Library::new(path) });
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user