Python SDK 概览
Starwhale 提供一系列的 Python SDK,帮助用户管理数据集、模型和评测等调用,使用 Starwhale Python SDK 能让您更好的完成 ML/DL 开发任务。
类
class PipelineHandler: 提供默认的模型评测过程定义,需要用户实现predict和evaluate函数。class Context: 执行模型评测过程中传入的上下文信息,包括 Project、Task ID 等。class Dataset: Starwhale 数据集类。class starwhale.api.service.Service: 在线评测的基础类。class Job: 提供 Job 相关的操作。class Evaluation: 提供 Evaluation 的 log 和 scan 相关的操作。
函数
@multi_classification: 修饰器,适用于多分类问题,用来简化 evaluate 结果的进一步计算和结果存储,能更好的呈现评测结果。@handler: 修饰器,定义一个带有资源属性(mem/cpu/gpu)的运行实体,可以控制副本数。多个Handlers可以通过依赖关系,生成DAG,便于控制执行流程。@evaluation.predict: 修饰器,定义模型评测中的推理过程,类似 MapReduce 中的 map 阶段。@evaluation.evaluate: 修饰器,定义模型评测中的评测过程,类似 MapReduce 中的 reduce 阶段。model.build: 进行 Starwhale 模型构建。@fine_tune: 修饰器,定义模型训练的微调(fine-tune)过程。init_logger: 设置日志输出级别,实现五种级别日志输出。dataset: 获取starwhale.Dataset对象,包括创建新的数据集和加载已经存在的数据集两种方式。@starwhale.api.service.api: 修饰器,提供基于 Gradio 的简易 Web Handler 输入定义,实现在线评测。login: 登录 server/cloud 实例。logout: 登出 server/cloud 实例。job: 根据Job URI获得starwhale.Job对象。@PipelineHandler.run: 修饰器,定义 PipelineHandler 子类中 predict 和 evaluate 方法的资源。
数据类型
COCOObjectAnnotation: 提供COCO类型的定义。BoundingBox: 边界框类型,目前为LTWH格式,即left_x,top_y,width和height。ClassLabel: 描述label的数量和类型。Image: 图片类型。GrayscaleImage: 灰度图类型,比如MNIST中数字手写体图片,是Image类型的一个特例。Audio: 音频类型。Video: 视频类型。Text: 文本类型,默认为utf-8格式,用来存储大文本。Binary: 二进制类型,用 bytes 存储,用来存储比较大的二进制内容。Line: 直线类型。Point: 点类型。Polygon: 多边形类型。Link: Link类型,用来制作remote-link类型的数据。MIMEType: 描述 Starwhale 支持的多媒体类型,用在Image、Video等类型的 mime_type 属性上,能更好的进行 Dataset Viewer。
其他
__version__: Starwhale Python SDK 和swcli版本,是字符串常量。
进一步阅读建议
- 如果您想构建、管理数据集,请阅读 Starwhale 数据集 SDK 和 Starwhale 数据类型。
- 如果您想编写模型评测和微调程序,请阅读 Starwhale 模型评测 SDK。
- 如果您想通过 Python Script 构建和管理 Starwhale 模型包,请阅读 Starwhale 模型 SDK。
- 如果您想获得Job信息和模型评测结果等,请阅读 Starwhale 任务 SDK。
- 如果您想了解其他功能性函数,请阅读 其他 SDK。