技能创建器
skill-creator
创建、改进和评估自定义技能,把专业流程转化为可重复使用的 AI 能力。
data-storage【数据与研究】Use ClearML Dataset, StorageManager, clearml-data CLI, storage backends, cache behavior, and HyperDataset/DataView routing for dataset versioning and retrieval.
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
Use this sub-skill when the user needs to create, version, upload, finalize, retrieve, verify, or troubleshoot ClearML datasets, build clearml-data commands, manage remote storage URIs, or reason about StorageManager caching and HyperDataset/DataView routing.
Dataset, StorageManager, clearml-data, dataset parents/versions, local copies, external links, storage credentials/extras, cache limits, and HyperDataset/DataView selection.Task.upload_artifact() usage to ../experiment-tracking/SKILL.md.clearml-task, Task.execute_remotely(), or remote job launch to ../remote-execution-cli/SKILL.md.../automation-pipelines/SKILL.md.Use a two-stage mental model: a dataset version is mutable until finalized, and after finalization it should be retrieved or used as a parent for a new version.
from clearml import Dataset
base = Dataset.create(
dataset_project="datasets/examples",
dataset_name="images",
dataset_version="1.0.0",
output_uri="s3://bucket/clearml/images",
)
base.add_files(path="data/train", dataset_path="train")
base.upload(output_url="s3://bucket/clearml/images", verbose=True)
base.finalize()
child = Dataset.create(
dataset_project="datasets/examples",
dataset_name="images",
dataset_version="1.1.0",
parent_datasets=[base.id],
)
child.sync_folder(local_path="data/train", dataset_path="train", verbose=True)
child.upload(verbose=True)
child.finalize()
Prefer explicit IDs after creation. Dataset.get() can search by project/name/version, but dataset_id avoids ambiguity when multiple semantic versions or recent updates match.
Use clearml-data when the user wants shell commands or quick dataset lifecycle operations. The CLI stores the most recent dataset ID in ~/.clearml_data.json; commands without --id may silently target the last accessed dataset, so production instructions should include --id after create unless the user intentionally wants one-shell stateful use.
clearml-data create --project datasets/examples --name images --version 1.0.0 --storage s3://bucket/clearml/images
clearml-data add --id DATASET_ID --dataset-folder train --files data/train
clearml-data upload --id DATASET_ID --storage s3://bucket/clearml/images --verbose
clearml-data close --id DATASET_ID --verbose
Use scripts/dataset_cli_plan.py to generate safe command sequences without running ClearML calls. Use scripts/validate_dataset_plan.py to check JSON plan invariants before translating a plan to Python or CLI.
Dataset.create(..., output_uri=...), Dataset.upload(output_url=...), and CLI --storage accept s3://..., gs://..., azure://..., a shared filesystem path, or the default ClearML files server.s3, gs, or azure extras when those schemes are used.StorageManager.get_local_copy() for remote file caching/downloading and StorageManager.upload_file() or upload_folder() for direct storage operations that are not dataset-versioning workflows.references/api-reference.md documents Dataset, StorageManager, and HyperDataset/DataView signatures and behavior notes.references/cli-reference.md documents clearml-data subcommands, required flags, state behavior, and safe command construction.references/workflows.md gives Python and CLI workflows for create/add/sync/upload/finalize/get/parents/external links.references/troubleshooting.md covers credentials, storage extras, stale CLI state, missing IDs, pending uploads, parent mistakes, and cache/local-copy pitfalls.scripts/dataset_cli_plan.py builds offline clearml-data command plans.scripts/validate_dataset_plan.py validates JSON dataset plan invariants with the Python standard library only.