模型
类 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)
为了明确报告,绘制一个混淆矩阵。
此方法与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")
通过将相同的title
和iteration
值传递给此方法,在同一图表上绘制多个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表面图。
此方法绘制与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。