跳到内容

管理标签

Lance,与 Git 非常相似,利用 LanceDataset.tags 属性来标记数据集历史中的特定版本。

标签 对于跟踪数据集的演变特别有用,尤其是在机器学习工作流中,数据集会频繁更新。例如,您可以 创建更新删除列出 标签。

注意

创建或删除标签不会生成新的数据集版本。标签作为辅助元数据存储在单独的目录中。

import lance
ds = lance.dataset("./tags.lance")
print(len(ds.versions()))
# 2
print(ds.tags.list())
# {}
ds.tags.create("v1-prod", 1)
print(ds.tags.list())
# {'v1-prod': {'version': 1, 'manifest_size': ...}}
ds.tags.update("v1-prod", 2)
print(ds.tags.list())
# {'v1-prod': {'version': 2, 'manifest_size': ...}}
ds.tags.delete("v1-prod")
print(ds.tags.list())
# {}
print(ds.tags.list_ordered())
# []
ds.tags.create("v1-prod", 1)
print(ds.tags.list_ordered())
# [('v1-prod', {'version': 1, 'manifest_size': ...})]
ds.tags.update("v1-prod", 2)
print(ds.tags.list_ordered())
# [('v1-prod', {'version': 2, 'manifest_size': ...})]
ds.tags.delete("v1-prod")
print(ds.tags.list_ordered())
# []

注意

带标签的版本不受 LanceDataset.cleanup_old_versions() 过程的影响。

要删除已标记的版本,您必须首先 LanceDataset.tags.delete() 删除关联的标签。