Skip to main content

模型

Model()

表示系统中现有的模型,通过模型ID进行搜索。 该模型将是只读的,可用于预初始化网络

根据id加载模型,返回的对象是只读的,并且可以连接到任务

注意,我们可以在远程运行时覆盖输入模型

  • 参数

    model_id – ID (字符串)


存档

archive()

归档模型。如果模型已经归档,则此操作无效

  • 返回类型

    ()


评论

属性 注释: str

模型的注释。同时,用于模型描述。

  • 返回类型

    str

  • 返回

    模型注释/描述。


config_dict

属性 config_dict: 字典

配置作为一个字典,从设计文本中解析出来。这通常代表模型配置。 例如,prototxt、ini文件或用于评估的Python代码。

  • 返回类型

    dict

  • 返回

    配置。


配置文本

属性 config_text: str

配置作为字符串。例如,prototxt、ini文件或用于评估的Python代码。

  • 返回类型

    str

  • 返回

    配置。


框架

属性框架: str

模型的机器学习框架(例如:PyTorch, TensorFlow, XGBoost 等)。

  • 返回类型

    str

  • 返回

    模型的框架


获取所有元数据

get_all_metadata()

如果您希望将值转换为其类型(如果可能),请参见 Model.get_all_metadata_casted

  • 返回类型

    Dict[str, Dict[str, str]]

  • 返回

    获取所有元数据作为格式为Dict[key, Dict[value, type]]的字典。键、值和类型条目都是字符串。请注意,每个条目可能还有一个额外的‘key’条目,重复键。


获取所有元数据转换

get_all_metadata_casted()

  • 返回类型

    Dict[str, Dict[str, Any]]

  • 返回

    获取所有元数据作为格式为Dict[key, Dict[value, type]]的字典。键和类型条目是字符串。如果可能,值会被转换为相应的类型。请注意,每个条目可能还有一个额外的‘key’条目,重复该键。


获取本地副本

get_local_copy(extract_archive=None, raise_on_error=False, force_download=False)

检索模型文件的有效链接。 如果模型URL是文件系统链接,它将直接返回。 如果模型URL指向远程位置(http/s3/gs等), 它将下载文件并返回下载模型的临时位置。

  • 参数

    • extract_archive (bool ) – 如果为True,本地副本将尽可能被解压。如果为False, 本地副本将不会被解压。如果为None(默认值),下载的文件将在模型是包的情况下被解压。

    • raise_on_error (bool ) – 如果为True,并且无法下载工件,则引发ValueError,否则在失败时返回None并输出日志警告。

    • force_download (bool ) – 如果为True,即使模型工件已被缓存,也会下载该工件。

  • 返回类型

    str

  • 返回

    模型的本地路径(或其下载副本)。


获取元数据

get_metadata(key)

根据键获取一个元数据条目值(作为字符串)。如果您希望将值转换为其类型(如果可能),请参见Model.get_metadata_casted。

  • 参数

    key (str) – 你想要获取的元数据条目的键

  • 返回类型

    Optional[str]

  • 返回

    元数据条目值的字符串表示形式,如果未找到条目则为None


get_metadata_casted

get_metadata_casted(key)

根据其键获取一个元数据条目,如果可能,将其转换为相应的类型

  • 参数

    key (str) – 你想要获取的元数据条目的键

  • 返回类型

    Optional[str]

  • 返回

    元数据条目的值,转换为它的类型(如果不可能,将返回字符串表示)或如果未找到条目则为None


获取权重

get_weights(raise_on_error=False, force_download=False, extract_archive=False)

下载基础模型并返回本地存储的文件名。

  • 参数

    • raise_on_error (bool ) – 如果为True,并且无法下载工件,则引发ValueError,否则在失败时返回None并输出日志警告。

    • force_download (bool ) – 如果为True,即使基础模型已经缓存,也会下载基础模型。

    • extract_archive (bool ) – 如果为True,下载的权重文件将尽可能被解压

  • 返回类型

    str

  • 返回

    本地存储的文件。


获取权重包

get_weights_package(return_path=False, raise_on_error=False, force_download=False, extract_archive=True)

将基础模型包下载到临时目录(解压文件),或返回本地存储的文件名列表。

  • 参数

    • return_path (bool ) – 返回模型权重或文件名列表(可选)

      • True - 将模型权重下载到一个临时目录,并返回临时目录的路径。

      • False - 返回本地存储的文件名列表。(默认)

    • raise_on_error (bool ) – 如果为True,并且无法下载工件,则引发ValueError,否则在失败时返回None并输出日志警告。

    • force_download (bool ) – 如果为True,即使工件已被缓存,基础工件也将被下载。

    • extract_archive (bool ) – 如果为True,下载的权重文件将尽可能被解压

  • 返回类型

    Union[str, List[Path], None]

  • 返回

    模型权重,或本地存储文件名的列表。如果raise_on_error=False,则在错误时返回None。


id

属性ID

模型的ID(系统UUID)。

  • 返回类型

    str

  • 返回

    模型ID。


标签

属性标签: Dict[str, int]

字符串(label)到整数(value)对的标签枚举。

  • 返回类型

    Dict[str, int]

  • 返回

    一个包含标签枚举的字典,其中键是标签,值是整数。


名称

属性名称: str

模型的名称。

  • 返回类型

    str

  • 返回

    模型名称。


原始任务

属性 original_task: str

返回创建此模型的任务的ID。

  • 返回类型

    str

  • 返回

    任务ID (str)


项目

属性项目: str

模型的project ID。

  • 返回类型

    str

  • 返回

    项目ID (str).


发布

publish()

将模型设置为published状态并供公众使用。如果模型的状态已经是published,则此方法不执行任何操作。

  • 返回类型

    ()


已发布

属性 published: bool

获取此模型的发布状态。

  • 返回类型

    bool

  • 返回


模型.query_models

classmethod query_models(project_name=None, model_name=None, tags=None, only_published=False, include_archived=False, max_results=None, metadata=None)

从项目工件库返回模型对象。 根据项目名称/模型名称/标签进行筛选。 列表始终按最后更新时间降序排列(即最新模型在列表中的第一个)。

  • 参数

    • project_name (Optional[str]) – 可选,基于项目名称字符串进行过滤,如果未提供,则从所有项目中查询模型

    • model_name (Optional[str]) – 可选的模型名称,如模型仓库中所示

    • 标签 (Optional[Sequence[str]]) – 根据请求的标签列表(字符串)进行过滤。 要排除某个标签,请在标签前添加“-”前缀。示例:["production", "verified", "-qa"]。 默认行为是使用逻辑“OR”运算符连接所有标签。 要使用逻辑“AND”运算符连接所有标签,请使用“__$all”作为第一个字符串,例如:

    ["__$all", "best", "model", "ever"]

    要使用AND连接所有标签,但排除某个标签,请在排除的标签前使用“__$not”,例如:

    ["__$all", "best", "model", "ever", "__$not", "internal", "__$not", "test"]

    “OR”和“AND”运算符适用于其后所有标签,直到指定另一个运算符为止。 NOT运算符仅适用于紧随其后的标签。 例如:

    ["__$all", "a", "b", "c", "__$or", "d", "__$not", "e", "__$and", "__$or" "f", "g"]

    这个示例的意思是(“a” 和 “b” 和 “c” 和 (“d” 或 非 “e”) 和 (“f” 或 “g”))。 详情请参见 https://clear.ml/docs/latest/docs/clearml_sdk/model_sdk#tag-filters

    • only_published (bool) – 如果为True,仅返回已发布的模型。

    • include_archived (bool) – 如果为True,返回已归档的模型。

    • max_results (Optional[int]) – 可选返回最后X个模型, 按最后更新时间排序(从最近到最早)。

    • metadata (Optional[Dict[str, str]]) – 基于元数据进行过滤。此参数是一个字典。请注意,元数据字段的类型不是必需的。

  • 返回类型

    List[Model]

  • 返回

    模型对象的模型列表


模型.移除

classmethod remove(model, delete_weights_file=True, force=False, raise_on_errors=False)

从模型仓库中移除一个模型。 可选地,从远程存储中删除模型权重文件。

  • 参数

    • model (Union[str, Model]) – 要移除的模型ID或模型对象

    • delete_weights_file (bool) – 如果为True(默认),则从远程存储中删除权重文件

    • force (bool) – 如果为True,即使其他任务正在使用此模型,也会移除该模型。默认为False。

    • raise_on_errors (bool) – 如果为True,当出现错误时抛出ValueError,默认为False。

  • 返回类型

    bool

  • 返回

    如果模型成功移除,则为True 部分移除返回False,即模型已删除但权重文件删除失败


报告混淆矩阵

report_confusion_matrix(title, series, matrix, iteration=None, xaxis=None, yaxis=None, xlabels=None, ylabels=None, yaxis_reversed=False, comment=None, extra_layout=None)

为了明确报告,绘制一个热图矩阵。

例如:

confusion = np.random.randint(10, size=(10, 10))
model.report_confusion_matrix("example confusion matrix", "ignored", iteration=1, matrix=confusion,
xaxis="title X", yaxis="title Y")
  • 参数

    • title (str ) – 图表的标题(指标)。

    • series (str ) – 报告的混淆矩阵的系列名称(变体)。

    • matrix (numpy.ndarray ) – 一个热图矩阵(例如:混淆矩阵)

    • iteration (int ) – 报告的迭代/步骤。

    • xaxis (str ) – x轴标题。(可选)

    • yaxis (str ) – y轴标题。(可选)

    • xlabels (list ( str ) ) – 矩阵每列的标签。(可选)

    • ylabels (list ( str ) ) – 矩阵每行的标签。(可选)

    • yaxis_reversed (bool ) – 如果为 False,0,0 位于左下角。如果为 True,0,0 位于左上角

    • comment (str ) – 与图表一起显示的注释,位于标题下方。

    • extra_layout (dict ) – 用于布局配置的可选字典,直接传递给 plotly 查看支持的配置的完整详细信息:https://plotly.com/javascript/reference/heatmap/ 示例:extra_layout={'xaxis': {'type': 'date', 'range': ['2020-01-01', '2020-01-31']}}


report_histogram

report_histogram(title, series, values, iteration=None, labels=None, xlabels=None, xaxis=None, yaxis=None, mode=None, data_args=None, extra_layout=None)

对于显式报告,绘制一个(默认分组的)直方图。 请注意,此函数不会计算直方图, 它假设直方图已经在值中计算完成。

例如:

vector_series = np.random.randint(10, size=10).reshape(2,5)
model.report_histogram(title='histogram example', series='histogram series',
values=vector_series, iteration=0, labels=['A','B'], xaxis='X axis label', yaxis='Y axis label')
  • 参数

    • title – 图表的标题(指标)。

    • series – 报告的直方图的系列名称(变体)。

    • values – 系列值。一个浮点数列表,或一个包含每个直方图条形数据的N维Numpy数组。

    • iteration – 报告的迭代/步骤。每个 iteration 都会创建另一个图表。

    • labels – 每个条形组的标签,用于创建图例,标注每个系列。(可选)

    • xlabels – 直方图中每个桶的每个条目的标签(向量),为x轴上的每个直方图条创建一组标签。(可选)

    • xaxis – x轴标题。(可选)

    • yaxis – y轴标题。(可选)

    • mode – 多直方图模式,堆叠 / 分组 / 相对。默认为‘分组’。

    • data_args – 可选的数据配置字典,直接传递给 plotly 查看支持的配置的完整详细信息:https://plotly.com/javascript/reference/bar/ 示例:data_args={'orientation': 'h', 'marker': {'color': 'blue'}}

    • extra_layout – 用于布局配置的可选字典,直接传递给 plotly 查看支持的配置的完整详细信息:https://plotly.com/javascript/reference/bar/ 示例:extra_layout={'xaxis': {'type': 'date', 'range': ['2020-01-01', '2020-01-31']}}


报告折线图

report_line_plot(title, series, xaxis, yaxis, mode='lines', iteration=None, reverse_xaxis=False, comment=None, extra_layout=None)

对于显式报告,将一个或多个系列绘制为线条。

  • 参数

    • title (str ) – 图表的标题(指标)。

    • series (list ) – 所有系列数据,每个列表元素对应图中的一条线。

    • iteration (int ) – 报告的迭代/步骤。

    • xaxis (str ) – x轴标题。(可选)

    • yaxis (str ) – y轴标题。(可选)

    • mode (str ) – 线条图的类型。值为:

      • lines (默认)

      • markers

      • lines+markers

    • reverse_xaxis (bool) – 反转x轴。值为:

      • True - x轴从高到低(反转)。

      • False - x轴从低到高(未反转)。(默认)

    • comment (str ) – 与图表一起显示的注释,位于标题下方。

    • extra_layout (dict ) – 用于布局配置的可选字典,直接传递给 plotly 查看支持的配置的完整详细信息:https://plotly.com/javascript/reference/scatter/ 示例:extra_layout={'xaxis': {'type': 'date', 'range': ['2020-01-01', '2020-01-31']}}


报告矩阵

report_matrix(标题, 系列, 矩阵, 迭代=None, x轴=None, y轴=None, x标签=None, y标签=None, y轴反转=False, 额外布局=None)

为了明确报告,绘制一个混淆矩阵。

info

此方法与Model.report_confusion_matrix相同。

  • 参数

    • title (str ) – 图表的标题(指标)。

    • series (str ) – 报告的混淆矩阵的系列名称(变体)。

    • matrix (numpy.ndarray ) – 一个热图矩阵(例如:混淆矩阵)

    • iteration (int ) – 报告的迭代/步骤。

    • xaxis (str ) – x轴标题。(可选)

    • yaxis (str ) – y轴标题。(可选)

    • xlabels (list ( str ) ) – 矩阵每列的标签。(可选)

    • ylabels (list ( str ) ) – 矩阵每行的标签。(可选)

    • yaxis_reversed (bool ) – 如果为False,0,0位于左下角。如果为True,0,0位于左上角

    • extra_layout (dict ) – 用于布局配置的可选字典,直接传递给 plotly 查看支持的配置的完整详细信息:https://plotly.com/javascript/reference/heatmap/ 示例:extra_layout={'xaxis': {'type': 'date', 'range': ['2020-01-01', '2020-01-31']}}


report_scalar

report_scalar(title, series, value, iteration)

为了明确报告,绘制一个标量系列。

  • 参数

    • title (str ) – 图表的标题(指标)。通过每次调用此方法时使用相同的title,可以在同一图表上绘制多个标量系列。

    • series (str ) – 报告标量的系列名称(变体)。

    • value (float ) – 每次迭代要绘制的值。

    • iteration (int ) – 报告的迭代/步骤(报告时间序列的x轴)

  • 返回类型

    None


report_scatter2d

report_scatter2d(title, series, scatter, iteration=None, xaxis=None, yaxis=None, labels=None, mode='line', comment=None, extra_layout=None)

对于显式报告,报告一个2D散点图。

例如:

scatter2d = np.hstack((np.atleast_2d(np.arange(0, 10)).T, np.random.randint(10, size=(10, 1))))
model.report_scatter2d(title="example_scatter", series="series", iteration=0, scatter=scatter2d,
xaxis="title x", yaxis="title y")

通过将相同的titleiteration值传递给此方法,在同一图表上绘制多个2D散点系列:

scatter2d_1 = np.hstack((np.atleast_2d(np.arange(0, 10)).T, np.random.randint(10, size=(10, 1))))
model.report_scatter2d(title="example_scatter", series="series_1", iteration=1, scatter=scatter2d_1,
xaxis="title x", yaxis="title y")

scatter2d_2 = np.hstack((np.atleast_2d(np.arange(0, 10)).T, np.random.randint(10, size=(10, 1))))
model.report_scatter2d("example_scatter", "series_2", iteration=1, scatter=scatter2d_2,
xaxis="title x", yaxis="title y")
  • 参数

    • title (str ) – 图表的标题(指标)。

    • series (str ) – 报告的散点图的系列名称(变体)。

    • scatter (list) – 散点数据。numpy.ndarray 或 (x,y) 对的列表:

    • iteration (int ) – 报告的迭代/步骤。

    • xaxis (str ) – x轴标题。(可选)

    • yaxis (str ) – y轴标题。(可选)

    • labels (list ( str ) ) – 分配给scatter参数的数据中每个点的标签。标签的顺序必须与数据的顺序相同。

    • mode (str ) – 散点图的类型。可选值为:

      • lines

      • markers

      • lines+markers

    • comment (str ) – 与图表一起显示的注释,位于标题下方。

    • extra_layout (dict ) – 用于布局配置的可选字典,直接传递给 plotly 查看支持的配置的完整详细信息:https://plotly.com/javascript/reference/scatter/ 示例:extra_layout={'xaxis': {'type': 'date', 'range': ['2020-01-01', '2020-01-31']}}


report_scatter3d

report_scatter3d(title, series, scatter, iteration=None, xaxis=None, yaxis=None, zaxis=None, labels=None, mode='markers', fill=False, comment=None, extra_layout=None)

为了明确报告,绘制一个3D散点图(带有标记)。

  • 参数

    • title (str ) – 图表的标题(指标)。

    • series (str ) – 报告的散点图的系列名称(变体)。

    • list **] ** scatter (Union [ numpy.ndarray , ) – 散点数据。 (x,y,z)对的列表,系列列表 [[(x1,y1,z1)…]],或 numpy.ndarray

    • iteration (int ) – 报告的迭代/步骤。

    • xaxis (str ) – x轴标题。(可选)

    • yaxis (str ) – y轴标题。(可选)

    • zaxis (str ) – z轴标题。(可选)

    • labels (list ( str ) ) – 分配给scatter参数的数据中每个点的标签。标签的顺序必须与数据的顺序相同。

    • mode (str ) – 散点图的类型。值为:lines, markers, lines+markers

    例如:

    scatter3d = np.random.randint(10, size=(10, 3))
    model.report_scatter3d(title="example_scatter_3d", series="series_xyz", iteration=1, scatter=scatter3d,
    xaxis="title x", yaxis="title y", zaxis="title z")
    • fill (bool ) – 填充曲线下的区域。值为:

      • True - 填充

      • False - 不填充(默认)

    • comment (str ) – 与图表一起显示的注释,位于标题下方。

    • extra_layout (dict ) – 可选的布局配置字典,直接传递给plotly 查看支持的配置的完整详细信息:https://plotly.com/javascript/reference/scatter3d/ 示例:extra_layout={'xaxis': {'type': 'date', 'range': ['2020-01-01', '2020-01-31']}}


report_single_value

report_single_value(name, value)

报告单个值指标(例如,总实验准确率或mAP)

  • 参数

    • name (str) – 指标的名称

    • value (float) – 指标的数值

  • 返回类型

    None


报告表面

report_surface(title, series, matrix, iteration=None, xaxis=None, yaxis=None, zaxis=None, xlabels=None, ylabels=None, camera=None, comment=None, extra_layout=None)

对于显式报告,报告一个3D表面图。

info

此方法绘制与Model.report_confusion_matrix相同的数据,但将数据呈现为表面图而非混淆矩阵。

surface_matrix = np.random.randint(10, size=(10, 10))
model.report_surface("example surface", "series", iteration=0, matrix=surface_matrix,
xaxis="title X", yaxis="title Y", zaxis="title Z")
  • 参数

    • title (str ) – 图表的标题(指标)。

    • series (str ) – 报告表面的系列名称(变体)。

    • matrix (numpy.ndarray ) – 一个热图矩阵(例如:混淆矩阵)

    • iteration (int ) – 报告的迭代/步骤。

    • xaxis (str ) – x轴标题。(可选)

    • yaxis (str ) – y轴标题。(可选)

    • zaxis (str ) – z轴标题。(可选)

    • xlabels (list ( str ) ) – 矩阵每列的标签。(可选)

    • ylabels (list ( str ) ) – 矩阵每行的标签。(可选)

    • camera (list ( float ) ) – 表示相机位置的X,Y,Z坐标。默认值为 (1,1,1)

    • comment (str ) – 与图表一起显示的注释,位于标题下方。

    • extra_layout (dict ) – 可选的布局配置字典,直接传递给plotly 查看支持的配置的完整详细信息:https://plotly.com/javascript/reference/surface/ 示例:extra_layout={'xaxis': {'type': 'date', 'range': ['2020-01-01', '2020-01-31']}}


报告表

report_table(title, series, iteration=None, table_plot=None, csv=None, url=None, extra_layout=None)

对于显式报告,报告一个表格图。

必须提供以下参数中的一个且仅一个。

  • table_plot - Pandas DataFrame 或作为行列表的表格(列表)

  • csv - CSV 文件

  • url - CSV文件的URL

例如:

df = pd.DataFrame({'num_legs': [2, 4, 8, 0],
'num_wings': [2, 0, 0, 0],
'num_specimen_seen': [10, 2, 1, 8]},
index=['falcon', 'dog', 'spider', 'fish'])

model.report_table(title='table example',series='pandas DataFrame',iteration=0,table_plot=df)
  • 参数

    • title – 表格的标题(指标)。

    • series – 报告表的系列名称(变体)。

    • iteration – 报告的迭代/步骤。

    • table_plot – 输出表格绘图对象

    • csv – 本地csv文件的路径

    • url – 指向csv文件位置的URL。

    • extra_layout – 用于布局配置的可选字典,直接传递给 plotly 查看支持的配置的完整详细信息:https://plotly.com/javascript/reference/layout/ 示例:extra_layout={'height': 600}


报告向量

report_vector(标题, 系列, 值, 迭代=None, 标签=None, x轴标签=None, x轴=None, y轴=None, 模式=None, 额外布局=None)

对于显式报告,将向量绘制为(默认堆叠)直方图。

例如:

vector_series = np.random.randint(10, size=10).reshape(2,5)
model.report_vector(title='vector example', series='vector series', values=vector_series, iteration=0,
labels=['A','B'], xaxis='X axis label', yaxis='Y axis label')
  • 参数

    • title – 图表的标题(指标)。

    • series – 报告的直方图的系列名称(变体)。

    • values – 系列值。一个浮点数列表,或一个包含每个直方图条形数据的N维Numpy数组。

    • iteration – 报告的迭代/步骤。每个 iteration 都会创建另一个图表。

    • labels – 每个条形组的标签,用于创建图例,标注每个系列。(可选)

    • xlabels – 直方图中每个桶的每个条目的标签(向量),为x轴上的每个直方图条创建一组标签。(可选)

    • xaxis – x轴标题。(可选)

    • yaxis – y轴标题。(可选)

    • mode – 多直方图模式,堆叠 / 分组 / 相对。默认为‘分组’。

    • extra_layout – 用于布局配置的可选字典,直接传递给plotly 查看支持的配置的完整详细信息:https://plotly.com/javascript/reference/layout/ 示例:extra_layout={'showlegend': False, 'plot_bgcolor': 'yellow'}


设置所有元数据

set_all_metadata(metadata, replace=True)

根据给定的参数设置元数据。允许替换所有条目或更新当前条目。

  • 参数

    • metadata (Dict[str, Dict[str, str]]) – 一个格式为 Dict[key, Dict[value, type]] 的字典,表示您想要设置的元数据

    • replace (bool) – 如果为True,则用metadata参数中的条目替换所有元数据。如果为False, 保留旧的元数据并用metadata参数中的条目更新它(添加或更改)

  • 返回类型

    bool

  • 返回

    如果设置了元数据则为True,否则为False


set_metadata

set_metadata(key, value, v_type=None)

设置一个元数据条目。所有参数必须是字符串或可转换为字符串。

  • 参数

    • key (str) – 元数据条目的键

    • value (str) – 元数据条目的值

    • v_type (Optional[str]) – 元数据条目的类型

  • 返回类型

    bool

  • 返回

    如果设置了元数据则为True,否则为False


系统标签

属性 system_tags: List[str]

描述模型的系统标签列表。

  • 返回类型

    List[str]

  • 返回

    标签列表。


标签

属性标签: 列表[str]

描述模型的标签列表。

  • 返回类型

    List[str]

  • 返回

    标签列表。


任务

属性 任务: str

返回与此模型连接的任务ID。如果没有任务连接,则返回最初创建此模型的任务ID。

  • 返回类型

    str

  • 返回

    任务ID (str)


取消归档

unarchive()

解压模型。如果模型未被归档,则此操作无效

  • 返回类型

    ()


网址

属性 url: str

返回模型文件(或归档文件)的URL

  • 返回类型

    str

  • 返回

    模型文件的URL。