操作模型和数据集的分支、tag 和 commit
本教程演示如何通过多种方式操作模型的分支、tag 和 commit,包括创建、查看和删除分支,创建、查看和删除 tag,以及查看 commit。
数据集同理。
准备工作
- 完成教程操作文件夹、模型和数据集。
通过命令行工具
切换到你的工作路径下:
$ cd /your/workpath
操作 tag 和 commit 的方式对于模型和数据集都是相同的,只有模型允许操作分支。下面将以模型为例进行演示(这里假设用户名为 demo
)。
依次创建模型文件夹和模型:
$ ah create model/llm
AH INFO: Folder /demo/t9k-assethub/model/llm created
$ ah create model/llm/gpt2
AH INFO: Model gpt2 created for Folder /demo/t9k-assethub/model/llm
继续使用 ah create
命令为模型创建一个分支:
$ ah create model/llm/gpt2:v1
AH INFO: Branch v1 created for Model /demo/t9k-assethub/model/llm/gpt2
使用 ah ls --branch
命令查看模型的所有分支:
$ ah ls model/llm/gpt2 --branch
NAME COMMIT_ID
main fe46da7e
v1 fe46da7e
继续使用 ah create
命令为模型创建一个 tag:
$ ah create model/llm/gpt2:20230101 --tag --source v1
AH INFO: Tag 20230101 created from branch v1 for Model /demo/t9k-assethub/model/llm/gpt2
使用 ah ls --tag
命令查看模型的所有 tag:
$ ah ls model/llm/gpt2 --tag
NAME COMMIT_ID
20230101 fe46da7e
使用 ah ls --commit
命令查看模型的一个分支下的所有 commit:
$ ah ls model/llm/gpt2:v1 --commit
COMMIT_ID MESSAGE CREATED
fe46da7e Repository created 3m16s ago
最后使用 ah delete
命令删除所有创建的分支和 tag:
$ ah delete model/llm/gpt2:v1
AH INFO: Branch v1 deleted for Model /demo/t9k-assethub/model/llm/gpt2
$ ah delete model/llm/gpt2:20230101
AH INFO: Tag 20230101 deleted for Model /demo/t9k-assethub/model/llm/gpt2
通过 Python SDK
切换到你的工作路径下,然后以任意方式执行下面的 Python 代码。
导入 t9k.ah
模块,使用 ah.login()
函数登录到 Asset Hub 服务器(如果配置文件中的凭据仍有效,则无需提供参数):
from t9k import ah
ah.login(host='<asset-hub-server-url>',
api_key='<your-api-key>')
AH INFO: Logged in to Asset Hub server and AIStore server as user <your-user-name>
操作 tag 和 commit 的方式对于模型和数据集都是相同的,只有模型允许操作分支。下面将以模型为例进行演示(这里假设用户名为 demo
)。
依次创建模型文件夹和模型:
model_folder = ah.create('model/llm')
model = ah.create('model/llm/gpt2')
AH INFO: Folder /demo/t9k-assethub/model/llm created
AH INFO: Model gpt2 created for Folder /demo/t9k-assethub/model/llm
继续使用 ah.create()
函数为模型创建一个分支:
branch = ah.create('model/llm/gpt2:v1')
AH INFO: Branch v1 created for Model /demo/t9k-assethub/model/llm/gpt2
使用 ah.list()
函数查看模型的所有分支:
from pprint import pprint
pprint(ah.list('model/llm/gpt2', resource='branch'))
[{'commit_id': 'a15799f8f601d514a1a385a57b3078f8e178614a66aa920217175f6dcac2b083',
'id': 'main'},
{'commit_id': 'a15799f8f601d514a1a385a57b3078f8e178614a66aa920217175f6dcac2b083',
'id': 'v1'}]
继续使用 ah.create()
函数为模型创建一个 tag:
tag = ah.create('model/llm/gpt2:20230101', create_tag=True, source='v1')
AH INFO: Tag 20230101 created from branch v1 for Model /demo/t9k-assethub/model/llm/gpt2
使用 ah.list()
函数查看模型的所有 tag:
pprint(ah.list('model/llm/gpt2', resource='tag'))
[{'commit_id': 'a15799f8f601d514a1a385a57b3078f8e178614a66aa920217175f6dcac2b083',
'id': '20230101'}]
最后使用 ah.delete()
函数删除所有创建的分支和 tag:
ah.delete('model/llm/gpt2:v1')
ah.delete('model/llm/gpt2:20230101')
AH INFO: Branch v1 deleted for Model /demo/t9k-assethub/model/llm/gpt2
AH INFO: Tag 20230101 deleted for Model /demo/t9k-assethub/model/llm/gpt2