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, ...)
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 都提供了简便且高效的解决方案。它与主流深度学习和机器学习框架的集成,进一步增强了其在复杂项目中的实用性。