" Input: {
(host_os) - host OS (detect, if ommitted)
(target_os) - target OS (detect, if ommitted)
(target_device_id) - target device ID (detect, if omitted)
or
(device_id)
(repo_uoa) - repo where to limit search
deps - dependencies dict
(reuse_deps) - if 'yes' reuse all deps if found in cache by tags
(deps_cache) - list with resolved deps
(dep_add_tags) - a dictionary that maps extra tags to be added to specific subdictionaries of deps{}
for this particular resolution
(dep_add_tags.{KEY}) - extra tags added to specific subdictionary of deps{} for this particular resolution session
(env) - env
(install_env) - env during installation
(add_customize) - if 'yes', add to deps customize field from the environment
(useful for program compilation)
(skip_dict) - if 'yes', do not add to deps dict field from the environment
(useful for program compilation)
(skip_auto_resolution) - if 'yes', do not check if deps are already resolved
(random) - if 'yes' and there is a choice, select random
(useful for quiet experiment crowdsourcing such as sw/hw crowdtuning)
(quiet) - if 'yes', automatically provide default answer to all questions when resolving dependencies ...
(install_to_env) - install dependencies to env instead of CK-TOOLS (to keep it clean)!
(safe) - safe mode when searching packages first instead of detecting already installed soft
(to have more deterministic build)
(rebuild) - if 'yes', attempt to set env to avoid downloading package again, just rebuild (if supported)
}
Output: {
return - return code = 0, if successful
> 0, if error
(error) - error text if return > 0
bat - string for bat file calling all bats ...
cut_bat - string for bat file calling all bats (does not include deps that are explicitly excluded) ...
deps - updated deps (with uoa)
env - updated env
}
Test:
cat deps_only.json
{
"deps": {
"weights": {
"force_target_as_host": "yes",
"local": "yes",
"name": "TensorFlow Lite model and weights",
"no_tags": "mobilenet-all",
"sort": 30,
"tags": "model,tflite,image-classification"
},
...
}
ck resolve env @deps_only.json "@@@{'dep_add_tags': {'weights':'resnet'}}" --out=json
ck resolve env @deps_only.json --dep_add_tags.weights=mobilenet --out=json
"