项目简介:TraceML
TraceML 是一个用于机器学习和数据追踪的引擎,主要致力于数据可视化、解释性分析、漂移检测,以及特定仪表盘的构建。它特别适用于 Polyaxon 这种环境中,有效管理和优化机器学习项目。
安装指南
安装 TraceML 非常简单,只需使用 pip 命令即可:
pip install traceml
如果你计划使用追踪功能,还需同时安装 polyaxon
:
pip install polyaxon traceml
本地沙盒模式
本地沙盒模式即将推出,敬请期待。
离线使用
TraceML 支持离线模式,这使得用户可以无需 API 也能进行数据追踪。只需在环境变量中设置:
export POLYAXON_OFFLINE="true"
或者在代码中传递离线标志:
from traceml import tracking
tracking.init(..., is_offline=True, ...)
Python 脚本中的简单使用示例
TraceML 提供了一种简便的方法来追踪和记录实验数据。以下是一个使用 TraceML 进行数据追踪的简单 Python 脚本示例:
import random
import traceml as tracking
tracking.init(
is_offline=True,
project='quick-start',
name="my-new-run",
description="trying TraceML",
tags=["examples"],
artifacts_path="path/to/artifacts/repo"
)
tracking.log_data_ref(content=X_train, name='x_train')
tracking.log_data_ref(content=y_train, name='y_train')
tracking.log_inputs(
batch_size=64,
dropout=0.2,
learning_rate=0.001,
optimizer="Adam"
)
def get_loss(step):
result = 10 / (step + 1)
noise = (random.random() - 0.5) * 0.5 * result
return result + noise
for step in range(100):
loss = get_loss(step)
tracking.log_metrics(
loss=loss,
accuracy=(100 - loss) / 100.0,
)
tracking.log_outputs(validation_score=0.66)
tracking.stop()
与深度学习和机器学习库的集成
TraceML 可以与多种深度学习和机器学习库及框架无缝集成,包括但不限于 Keras、PyTorch、Tensorflow、Fastai、Pytorch Lightning 和 HuggingFace。这些集成都通过简单的配置和回调功能,帮助用户自动化追踪实验的各项指标、输出和模型。
例如,Keras 用户可以通过下述代码进行自动指标保存:
from traceml import tracking
from traceml.integrations.keras import Callback
tracking.init(
is_offline=True,
project='tracking-project',
name="keras-run",
description="trying TraceML & Keras",
tags=["examples"],
artifacts_path="path/to/artifacts/repo"
)
model.fit(
x_train,
y_train,
validation_data=(X_test, y_test),
epochs=epochs,
batch_size=100,
callbacks=[Callback()],
)
对于其他库的使用,相关用法类似。用户只需按照TraceML提供的 API 来配置即可。
追踪工件
TraceML 还支持对多种可视化工具制作的图表和工件进行追踪,包括 Matplotlib、Bokeh、Altair 和 Plotly。用户可以追踪和管理这些图表的生成和保存。
数据帧追踪
TraceML 提供的数据帧追踪工具,可以对 Pandas 数据帧进行详细的统计分析。通过 DataFrameSummary
对 Pandas 数据帧的描述功能进行扩展,用户可以获取列统计、列类型以及单个列的详细信息。
from traceml.summary.df import DataFrameSummary
dfs = DataFrameSummary(df)
小结
TraceML 是一个功能强大的工具,适用于追踪和管理机器学习项目中的各种数据。无论你是想详细分析数据帧,还是关联和比较不同的模型与结果,TraceML 都提供了简便且高效的解决方案。它与主流深度学习和机器学习框架的集成,进一步增强了其在复杂项目中的实用性。