跳到主要内容
版本:0.6.8

Python SDK 概览

Starwhale 提供一系列的 Python SDK,帮助用户管理数据集、模型和评测等调用,使用 Starwhale Python SDK 能让您更好的完成 ML/DL 开发任务。

  • class PipelineHandler: 提供默认的模型评测过程定义,需要用户实现 predictevaluate 函数。
  • 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, widthheight
  • ClassLabel: 描述label的数量和类型。
  • Image: 图片类型。
  • GrayscaleImage: 灰度图类型,比如MNIST中数字手写体图片,是 Image 类型的一个特例。
  • Audio: 音频类型。
  • Video: 视频类型。
  • Text: 文本类型,默认为 utf-8 格式,用来存储大文本。
  • Binary: 二进制类型,用 bytes 存储,用来存储比较大的二进制内容。
  • Line: 直线类型。
  • Point: 点类型。
  • Polygon: 多边形类型。
  • Link: Link类型,用来制作 remote-link 类型的数据。
  • MIMEType: 描述 Starwhale 支持的多媒体类型,用在 ImageVideo 等类型的 mime_type 属性上,能更好的进行 Dataset Viewer。

其他

  • __version__: Starwhale Python SDK 和 swcli 版本,是字符串常量。

进一步阅读建议