API参考
本文为您介绍KSpeed提供的主要API接口参考说明和调用方法。
1. 概览
1.1 KSpeedClient接口
1.1.1 账户管理API
API | 描述 |
调用adduser创建一个KSpeed用户。 | |
调用deluser删除一个KSpeed用户。 | |
调用passwd修改账户的登录密码。 |
1.1.2 数据加载API
API | 描述 |
调用prepare_preload申请预加载数据集所需要的KSpeed存储空间。 | |
调用preload预加载数据集到KSpeed。 | |
调用load从KSpeed加载打开数据集。 | |
调用display显示登录账户KSpeed中数据集。 | |
调用rm从KSpeed删除一个或者多个数据集,多个数据集用逗号隔开。 | |
调用get_npy_meta查看KSpeed中指定array数据集的元数据信息。 |
1.2 Fileset类型的数据集对象接口
API | 描述 | |
调用get返回numpy array格式的指定数据样本。 | ||
调用getBIN返回bytes类型的指定数据样本。 | ||
调用getPIL返回PIL格式的指定数据样本。 | ||
调用size返回数据集总样本数目。 |
1.3 Array类型的数据集对象接口
API | 描述 | |
调用get返回numpy array类型的指定数据样本。 | ||
调用getbatch返回一个batch的numpy array类型的指定数据样本。 | ||
调用size返回数据集总样本数目。 |
2. API使用参考
2.1 KSpeedClient接口
Class kspeedclient(str iplist=None, str username='admin', str pwd='admin')
该类实现了KSpeed客户端,通过实例化kspeedclient类可以调用kspeed提供的API进行数据加载。
参数说明
参数名 | 类型 | 说明 |
iplist | String | 部署KSpeed server的IP地址列表,用于连接KSpeed server(注:在K8s环境中可不输入,通过自动服务发现连接)。 |
username | String | 接入使用KSpeed服务的用户名,默认admin。 |
pwd | String | 接入使用KSpeed服务的用户名密码,默认admin。 |
返回:kspeedclient对象
成功返回kspeedclient对象,否则报错退出。
Example
>>> from kspeed.kspeedcluster import kspeedclient
>>> kspeedcli = kspeedclient()
>>> iplist = "127.0.0.1"
>>> kspeedcli = kspeedclient(iplist)
>>> kspeedcli = kspeedclient(iplist, "tester", "tester")
Method kspeedclient.adduser(str username, str pwd)
创建一个KSpeed用户。
参数说明
参数名 | 类型 | 说明 |
username | String | 新建用户名。 |
pwd | String | 新建用户的密码。 |
返回: Boolean
成功返回0,否则返回错误码。
Example
>>> kspeedcli.adduser("tester", "tester")
Add User tester Successed
0
Method kspeedclient.deluser(str username)
删除一个KSpeed用户。
参数说明
参数名 | 类型 | 说明 |
username | String | 要删除的用户名。 |
返回: Boolean
成功返回0,否则返回错误码。
Example
>>> kspeedcli.deluser("tester")
Delete User tester Successed
0
Method kspeedclient.passwd(str new_pwd)
修改账户的登录密码。
参数说明
参数名 | 类型 | 说明 |
new_pwd | String | 新建用户名密码。 |
返回: Boolean
成功返回0,否则返回错误码。
Example
>>> kspeedcli.passwd("new_pwd")
User admin Changes password Successed
0
Method kspeedclient.prepare_preload(str path)
申请预加载数据集所需要的KSpeed存储空间。
参数说明
参数名 | 类型 | 说明 |
path | String | 准备向KSpeed服务中预加载的数据集的本地路径。 |
返回: 数据集对象
成功返回数据集对象pyArray或者pyFileset,否则报错退出。
Example
>>> kspeedcli.prepare_preload("/data/imagenet")
Method kspeedclient.preload(str path, str object_name = None, str mode = 'w')
预加载数据集到KSpeed。
参数说明
参数名 | 类型 | 说明 |
path | String | 要预加载的数据集的本地路径。 |
object_name | String | 数据集预加载到KSpeed服务中保存的对象名字,默认None,则在KSpeed服务中保存为数据集的目录名字。 |
mode | String | 预加载模式:"w"表示覆盖预加载,"a"表示追加预加载,默认"w"。 |
返回: 数据集对象
成功返回数据集对象pyArray或者pyFileset,否则报错退出。
Example
>>> kspeedcli.preload("/data/imagenet")
Method kspeedclient.load(str object_name)
从KSpeed加载打开数据集。
参数说明
参数名 | 类型 | 说明 |
object_name | String | 要从KSpeed服务中打开的数据集对象名字。 |
返回: 数据集对象
成功返回数据集对象pyArray或者pyFileset,否则报错退出。
Example
>>> imagenet = kspeedcli.load("imagenet")
Method kspeedclient.display()
显示登录账户KSpeed中数据集。
参数说明
无
返回: 无
无
Example
>>> kspeedcli.display()
Method kspeedclient.rm(str object_name, str username = None)
从KSpeed删除一个或者多个数据集。
参数说明
参数名 | 类型 | 说明 |
object_name | String | 要从KSpeed服务中删除的数据集对象名字或者数据集对象名字列表,多个数据集用逗号隔开。 |
返回: Boolean
成功返回0,否则返回错误码。
Example
>>> kspeedcli.rm("imagenet")
0
Method kspeedclient.get_npy_meta(str object_name)
查看KSpeed中指定npy数据集的元数据信息。
参数说明
参数名 | 类型 | 说明 |
object_name | String | 要查看的KSpeed中指定的npy数据集的对象名。 |
返回:
成功返回要查看的npy数据集的元数据信息,否则返回错误码。
Example
>>> kspeedcli.get_npy_meta("ds_4096_1024_float32.npy")
2.2 Fileset类型的数据集对象接口
Method pyFileset.get(idx)
获取numpy array格式的指定数据样本。
参数说明
参数名 | 类型 | 说明 |
idx | Integer | 获取数据集对象中序号为idx的样本数据。 |
返回: np.array
成功返回Numpy数组对象,否则报错退出。
Example
>>> from kspeed.kspeedcluster import kspeedclient
>>> kspeedcli = kspeedclient(iplist, "tester", "tester")
>>> imagenet = kspeedcli.load("imagenet")
>>> data = imagenet.get(0)
Method pyFileset.getBIN(idx)
获取bytes类型的指定数据样本。
参数说明
参数名 | 类型 | 说明 |
idx | Integer | 获取数据集对象中序号为idx的样本数据。 |
返回: Bytes
成功返回二进制数据,否则报错退出。
Example
>>> imagenet = kspeedcli.load("imagenet")
>>> data = imagenet.getBIN(0)
Method pyFileset.getPIL(idx)
获取PIL格式的指定数据样本。
参数说明
参数名 | 类型 | 说明 |
idx | Integer | 获取数据集对象中序号为idx的样本数据。 |
返回: PIL.image对象
成功返回PIL.image对象,否则报错退出。
Example
>>> imagenet = kspeedcli.load("imagenet")
>>> data = imagenet.getPIL(0)
Method pyFileset.size()
获取数据集总样本数目。
返回: Integer
成功返回数据集对象总样本数目,否则报错退出。
Example
>>> imagenet = kspeedcli.load("imagenet")
>>> imagenet.size()
1281167
2.3 Array类型的数据集对象接口
Method pyArray.get(idx)
获取numpy array类型数据集的指定数据样本。
参数说明
参数名 | 类型 | 说明 |
idx | Integer | 获取数据集对象中序号为idx的样本数据。 |
返回:np.array
成功返回Numpy数组对象,否则报错退出。
Example
>>> from kspeed.kspeedcluster import kspeedclient
>>> kspeedcli = kspeedclient(iplist, "tester", "tester")
>>> npy = kspeedcli.load("ds_4096_1024_float32.npy")
>>> data = npy.get(0)
Method pyArray.getbatch(np.ndarray batch_idxs, batch_size)
获取一个batch的numpy array类型的指定数据样本。
参数说明
参数名 | 类型 | 说明 |
batch_idxs | np.ndarray | 获取数据集对象中序号为idx的样本数据。 |
batch_size | Integer | 获取样本的batch的大小。 |
返回: np.array
成功返回Numpy数组对象,否则报错退出。
Example
>>> npy = kspeedcli.load("ds_4096_1024_float32.npy")
>>> data = npy.getbatch(batch_idxs,batch_size)
Method pyArray.size()
获取数据集总样本数目。
返回: Integer
成功返回数据集对象总样本数目,否则报错退出。
Example
>>> npy = kspeedcli.load("ds_4096_1024_float32.npy")
>>> data = npy.size()
1024