An open API service indexing awesome lists of open source software.

https://github.com/hide-in-code/tda-python-sdk

testindata 数据集管理sdk
https://github.com/hide-in-code/tda-python-sdk

dataset metadata python testin testindata

Last synced: 18 days ago
JSON representation

testindata 数据集管理sdk

Awesome Lists containing this project

README

          

# testindata Python SDK
[云测数据](http://ai.testin.cn/)数据集管理系统python SDK

## 准备工作

- 从私有化部署产品或者SAAS服务系统中创建好适合您需求的数据集。
- 从系统中获取您用于身份认证使用的「AccessKey」。
- 通过SDK可以对您的数据进行上传和读取的操作,并能使用数据集管理系统提供的数据格式对您的数据做可视化展示。

## 安装

```console
pip install testindata
```
>使用本SDK须Python 3.6或更高版本。

## 快速入门
### 上传文件并添加可视化数据

```python
from testindata.TDA import TDA

#AccessKey 可以从系中对应的位置获取
AccessKey = "your_AccessKey"

#datasetId 从系统对应位置获取
datasetId = "ds_yourdatasetId"

#实例化全局TDA操作对象, 如果您使用的是SAAS服务,无需设置host,如果您使用的是私有化部署产品,则您需要指明您的数据集服务ip地址
tda = TDA(AccessKey, host="https://dataset.testin.cn/")

#设置要操作的数据集
tda.SetDataset(datasetId)
```

### 上传文件并添加可视化数据
云测数据数据集管理系统提供了数据可视化的功能,您可以将数据转换为系统规定的数据格式,并由sdk上传至系统,即可从系统中查看可视化的数据。

```python
from testindata.TDA import TDA

AccessKey = "0fbe149adf07e5f4afa01a7a4e787fde"
host = "xx.xx.xx.xx"

tda = TDA(AccessKey, host=host)

#进入debug模式,该模式下sdk会打印出执行信息
tda.Debug()

dataset = tda.SetDataset("ds_******")

metaData = {
"metaKey1":"metaVal1",
"metaKey2":"metaVal2",
"metaKey3":"metaVal3",
}

#添加一个用于可视化的文件
file = tda.AddFile("/path/to/your/fileRootPath/11.jpg", referId="myTestRefId", metaData=metaData)

box = {
"x": 10,
"y": 10,
"width": 100,
"height": 100,
}

label = "myTestLabelName"

attr = {
"attrKey1":"attrVal1",
"attrKey2":"attrVal2",
"attrKey3":"attrVal3",
}

#为该文件添加一个标注结果
file.AddBox2D(box, label=label, attrs=attr)

#上传该文件
print(tda.Upload())
```

### 进入DEBUG模式
```python
tda = TDA(AccessKey, debug=True) 或者 tda.debug()
```
>在debug模式下,sdk会输出很多执行过程中的信息,以方便您监控整个程序的执行过程。

### 获取文件列表数据
```python
filesData = tda.GetData(offset=1000, limit=1000)

for file in fileData["files"]:
print(file.fid)
print(file.referId)
print(file.meta)
print(file.md5)
print(file.path)

for label in file.labeldata.labels:
print(label)
```
>offset默认从0开始,limit最大值为1000

### 获取标注结果
```python
#根据fid 获取标注结果
file = tda.GetFileAndLabel(fid="fs_N7T02AgYJGF6yxAbk75R")

#根据ref_id获取标注结果
file = tda.GetFileAndLabel(ref_id="myreferId1")

print(file.fid)
print(file.referId)
print(file.meta)
print(file.md5)
print(file.path)

for label in file.labeldata.labels:
print(label)
```
>fid 是数据集系统存储文件的唯一id,该id可以唯一定位一个上传文件;ref\_id是需要您自己维护的一个用于唯一定位资源的id,我们强烈建议您设置资源文件的ref_id,用于关联您自己的业务系统。

更多信息查看[sdk官方文档地址](https://testindata.gitbook.io/dataset/python-sdk/untitled)