tongchenkeji 发表于:2023-5-7 17:09:540次点击 已关注取消关注 关注 私信 机器学习PAI训练时如何在work节点打印auc?worker1的日志我看到只有loss。请问在哪里[阿里云机器学习PAI] 暂停朗读为您朗读 机器学习PAI训练时如何在work节点打印auc?worker1的日志我看到只有loss。请问在哪里能够看到? 还是需要在config中配置下? 「点点赞赏,手留余香」 赞赏 还没有人赞赏,快来当第一个赞赏的人吧! 海报 机器学习PAI# 人工智能平台 PAI1410# 日志服务1139# 机器学习深度学习1219
安然ARAM 2023-11-28 2:54:18 2 在机器学习PAI训练期间,你可以使用Python的print函数在work节点打印auc。 具体步骤如下: 在你的Python代码中导入所需的模块,例如sklearn库和numpy库等。 在代码中执行模型训练,并在训练过程中计算auc值。 使用Python的print()函数将auc值打印到控制台。 在PAI上提交训练任务时,设置日志级别为DEBUG或更高级别,以便在控制台上查看训练过程中的输出。 以下是示例代码,展示了如何在PAI的work节点上打印AUC: from sklearn.metrics import roc_auc_score import numpy as np 加载数据并进行训练 X_train, X_test, y_train, y_test = load_data() model.fit(X_train, y_train) 在测试集上进行预测,并计算AUC值 y_pred_proba = model.predict_proba(X_test)[:, 1] auc = roc_auc_score(y_test, y_pred_proba) 在控制台上打印AUC值 print(“AUC: {}”.format(auc)) 提交任务时,可以将日志级别设置为DEBUG,这样就可以在PAI的控制台上实时查看训练过程中的AUC值输出。例如: pai -name tensorflow115 -project test -Dlog_level=DEBUG –k8s_gpu_type=xxx -jobtype tensorflow115 –file xxx.py
vohelonAM 2023-11-28 2:54:18 3 在机器学习PAI平台的训练任务中,您可以在训练脚本中使用fluid.metrics.Auc()函数来计算和打印Area Under Curve (AUC)并将其输出到日志中。同时,您需要将训练脚本添加到PAI中进行提交并配置好训练任务。 以下是一个简单的示例代码,演示如何在其训练过程中使用Auc()函数: import paddle.fluid as fluidtrain_program = fluid.Program()startup_program = fluid.Program()# 创建计算图with fluid.program_guard(train_program, startup_program): # 加载数据并定义网络结构 ... # 构建Auc计算节点 auc_metric = fluid.metrics.Auc() # 构建优化器 optimizer = fluid.optimizer.AdagradOptimizer( learning_rate=0.005) optimizer.minimize(cost)# 定义Executorplace = fluid.CUDAPlace(0)exe = fluid.Executor(place)exe.run(startup_program)# 定义训练循环for epoch_id in range(num_epochs): for batch_id, data in enumerate(train_reader()): loss, auc_value = exe.run( program=train_program, feed=feeder.feed(data), fetch_list=[cost] + auc_metric.metrics ) print("Epoch {:03d}, Batch {:03d}, Loss {:.04f}, AUC {:.04f}" .format(epoch_id, batch_id, loss[0], auc_value[0])) 在上面的示例代码中,使用了fluid.metrics.Auc()函数创建了一个AUC计算节点。在训练循环中,使用auc_metric.metrics获取AUC计算节点中的AUC指标并打印出来。 您可以将上面的示例代码替换为自己的训练脚本,并将其提交到PAI上进行训练。训练日志中将会包含AUC的输出。
stderr 里面看看。此回答整理自钉群“【EasyRec】推荐算法交流群”
在机器学习PAI训练期间,你可以使用Python的print函数在work节点打印auc。
具体步骤如下:
在你的Python代码中导入所需的模块,例如sklearn库和numpy库等。
在代码中执行模型训练,并在训练过程中计算auc值。
使用Python的print()函数将auc值打印到控制台。
在PAI上提交训练任务时,设置日志级别为DEBUG或更高级别,以便在控制台上查看训练过程中的输出。
以下是示例代码,展示了如何在PAI的work节点上打印AUC:
from sklearn.metrics import roc_auc_score import numpy as np
加载数据并进行训练
X_train, X_test, y_train, y_test = load_data() model.fit(X_train, y_train)
在测试集上进行预测,并计算AUC值
y_pred_proba = model.predict_proba(X_test)[:, 1] auc = roc_auc_score(y_test, y_pred_proba)
在控制台上打印AUC值
print(“AUC: {}”.format(auc)) 提交任务时,可以将日志级别设置为DEBUG,这样就可以在PAI的控制台上实时查看训练过程中的AUC值输出。例如:
pai -name tensorflow115 -project test -Dlog_level=DEBUG –k8s_gpu_type=xxx -jobtype tensorflow115 –file xxx.py
在机器学习PAI平台的训练任务中,您可以在训练脚本中使用
fluid.metrics.Auc()
函数来计算和打印Area Under Curve (AUC)并将其输出到日志中。同时,您需要将训练脚本添加到PAI中进行提交并配置好训练任务。以下是一个简单的示例代码,演示如何在其训练过程中使用Auc()函数:
在上面的示例代码中,使用了
fluid.metrics.Auc()
函数创建了一个AUC计算节点。在训练循环中,使用auc_metric.metrics
获取AUC计算节点中的AUC指标并打印出来。您可以将上面的示例代码替换为自己的训练脚本,并将其提交到PAI上进行训练。训练日志中将会包含AUC的输出。