操作文件夹、模型和数据集
本教程演示如何通过多种方式操作文件夹、模型和数据集,包括创建、查看和删除。
准备工作
通过命令行工具
切换到你的工作路径下:
$ cd /your/workpath
假设当前用户(这里假设用户名为 demo
)没有可以访问的文件夹,使用 ah create
命令创建一个模型文件夹和一个数据集文件夹:
$ ah create model/llm
AH INFO: Folder /demo/t9k-assethub/model/llm created
$ ah create dataset/text
AH INFO: Folder /demo/t9k-assethub/dataset/text created
然后使用 ah create
命令在模型文件夹中创建一个模型,以及在数据集文件夹中创建一个数据集:
$ ah create model/llm/gpt2
AH INFO: Model gpt2 created for Folder /demo/t9k-assethub/model/llm
$ ah create dataset/text/openwebtext
AH INFO: Dataset openwebtext created for Folder /demo/t9k-assethub/dataset/text
创建完成之后,使用 ah ls
命令查看当前用户的模型文件夹和数据集文件夹:
$ ah ls model
NAME PATH LABELS PERMISSION
llm /demo/t9k-assethub/model/llm own
$ ah ls dataset
NAME PATH LABELS PERMISSION
text /demo/t9k-assethub/dataset/text own
使用 ah ls
命令查看模型文件夹下的所有模型以及数据集文件夹下的所有数据集:
$ ah ls model/llm
NAME PATH LABELS PERMISSION
gpt2 /demo/t9k-assethub/model/llm/gpt2 own
$ ah ls dataset/text
NAME PATH LABELS PERMISSION
openwebtext /demo/t9k-assethub/dataset/text/openwebtext own
最后使用 ah delete
命令删除所有创建的模型、数据集和文件夹:
$ ah delete model/llm/gpt2
AH INFO: Model /demo/t9k-assethub/model/llm/gpt2 deleted
$ ah delete dataset/text/openwebtext
AH INFO: Dataset /demo/t9k-assethub/dataset/text/openwebtext deleted
# 可以直接删除文件夹, 其中的模型或数据集都会被一并删除
$ ah delete model/llm
AH INFO: Folder /demo/t9k-assethub/model/llm deleted
$ ah delete dataset/text
AH INFO: Folder /demo/t9k-assethub/dataset/text deleted
通过 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>
假设当前用户(这里假设用户名为 demo
)没有可以访问的文件夹,使用 ah.create()
函数创建一个模型文件夹和一个数据集文件夹,各返回一个 Folder
实例:
model_folder = ah.create('model/llm')
dataset_folder = ah.create('dataset/text')
AH INFO: Folder /demo/t9k-assethub/model/llm created
AH INFO: Folder /demo/t9k-assethub/dataset/text created
继续使用 ah.create()
函数在模型文件夹中创建一个模型,以及在数据集文件夹中创建一个数据集:
model = ah.create('model/llm/gpt2')
dataset = ah.create('dataset/text/openwebtext')
AH INFO: Model gpt2 created for Folder /demo/t9k-assethub/model/llm
AH INFO: Dataset openwebtext created for Folder /demo/t9k-assethub/dataset/text
创建完成之后,使用 ah.list()
函数返回当前用户的文件夹:
from pprint import pprint
pprint(ah.list('model'))
pprint(ah.list('dataset'))
[{'description': '',
'editor': 'demo',
'extra': '{"createdTimestamp": "2023-08-17T08:05:24.044319Z"}',
'id': '967a5135-8b13-4283-9fad-ba53503612b3',
'labels': [],
'modifiedTimestamp': '2023-08-17T08:05:24.390002Z',
'name': 'llm',
'path': '/demo/t9k-assethub/model/llm',
'permission': 'own',
'storageType': 0,
'type': 'Folder'}]
[{'description': '',
'editor': 'demo',
'extra': '{"createdTimestamp": "2023-08-17T08:05:24.196610Z"}',
'id': 'd0d9f4b2-6c15-4dbb-b2d1-0619b6774c4a',
'labels': [],
'modifiedTimestamp': '2023-08-17T08:05:24.519213Z',
'name': 'text',
'path': '/demo/t9k-assethub/dataset/text',
'permission': 'own',
'storageType': 0,
'type': 'Folder'}]
继续使用 ah.list()
函数返回模型文件夹下的所有模型和数据集文件夹下的所有数据集:
pprint(ah.list('model/llm'))
pprint(ah.list('dataset/text'))
[{'description': '',
'editor': 'demo',
'extra': '{"createdTimestamp": "2023-08-17T08:11:09.948554Z"}',
'id': '2157a139-e20b-4736-9e25-d4495e287af8',
'labels': [],
'modifiedTimestamp': '2023-08-17T08:11:10.327166Z',
'name': 'gpt2',
'path': '/demo/t9k-assethub/model/llm/gpt2',
'permission': 'own',
'storageType': 3,
'type': 'Model'}]
[{'description': '',
'editor': 'demo',
'extra': '{"createdTimestamp": "2023-08-17T08:11:10.508407Z"}',
'id': '6826131c-2c88-483e-8a48-0f6d8fa59cfa',
'labels': [],
'modifiedTimestamp': '2023-08-17T08:11:10.830665Z',
'name': 'openwebtext',
'path': '/demo/t9k-assethub/dataset/text/openwebtext',
'permission': 'own',
'storageType': 3,
'type': 'Dataset'}]
最后使用 ah.delete()
函数删除所有创建的模型、数据集和文件夹:
ah.delete('model/llm/gpt2')
ah.delete('dataset/text/openwebtext')
ah.delete('model/llm') # 可以直接删除文件夹, 其中的模型或数据集都会被一并删除
ah.delete('dataset/text')
AH INFO: Model /demo/t9k-assethub/model/llm/gpt2 deleted
AH INFO: Dataset /demo/t9k-assethub/dataset/text/openwebtext deleted
AH INFO: Folder /demo/t9k-assethub/model/llm deleted
AH INFO: Folder /demo/t9k-assethub/dataset/text deleted
通过控制台
数据集文件夹、数据集的控制台操作分别和模型文件夹、模型完全一致。本教程后续仅展示模型文件夹和模型的创建、查看、删除、分享功能,你可以用同样的方式操作数据集文件夹和数据集。
在左侧的导航菜单中点击模型,选择查看范围为 My Own,查看当前用户的所有模型文件夹。然后点击右上角的 + 创建新的模型文件夹:
填写名称 image-classification
,点击创建:
接下来分享这个文件夹。点击文件夹右侧的 更多 > 分享:
点击添加分享目标,选择分享的对象为 Public(所有用户可见),分享的权限是 Edit,最后点击分享:
回到 Asset Hub 控制台,点击模型文件夹 image-classification 查看其中的模型:
新创建的模型文件夹中没有模型,点击右上角的 + 创建一个模型:
填写名称 mnist
,然后点击创建:
创建成功后,在模型文件夹中可以看到模型信息:
点击更多 > 删除,删除创建的模型,然后点击左上角的返回,返回模型文件夹的页面:
最后,返回 Asset Hub 控制台,点击更多 > 删除,删除模型文件夹: