机器学习PAI训练时如何在work节点打印auc?worker1的日志我看到只有loss。请问在哪里[阿里云机器学习PAI]

机器学习PAI训练时如何在work节点打印auc?worker1的日志我看到只有loss。请问在哪里能够看到? 还是需要在config中配置下?

「点点赞赏,手留余香」

    还没有人赞赏,快来当第一个赞赏的人吧!
=====这是一个广告位,招租中,联系qq 78315851====
4 条回复 A 作者 M 管理员
  1. stderr 里面看看。此回答整理自钉群“【EasyRec】推荐算法交流群”

  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

  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的输出。