首页 文章

AWS Sagemaker:可以修改现有的train_image演示吗?

提问于
浏览
0

我在AWS Sagemaker上尝试演示“DeepAR-Electricity.ipynb” .

但是在运行“estimator.fit”进行训练之后,我只能在每个时代得到avg_epoch_loss的日志,由一些我找不到的函数打印出来 . 如何绘制训练和验证损失曲线?

可以修改现有的train_image演示吗?如果不是,如何绘制训练和验证损失曲线?如果是,如何访问源培训功能?

enter image description here

1 回答

  • 0

    正如Praneeth所指出的,DeepAR的容器图像无法修改 . 如果要绘制学习曲线,一种可能性是解析日志 . 我附上了一个示例,显示了如何解析下载到'deepar-log.txt'中的日志 .

    import re
    import matplotlib.pyplot as plt
    
    with open('deepar-log.txt', 'r') as f:
        lines = '\n'.join(f.readlines())
        avg_loss_re = re.compile("Epoch\[(\d+)\].*Batch.*\[(\d+)\].*avg_epoch_loss=(-?\d+\.?\d*)")
        avg_losses = [(int(epoch), int(batch), float(loss)) for epoch, batch, loss in avg_loss_re.findall(lines)]
        plt.plot([loss for _, _, loss in avg_losses])
        plt.show()
    

相关问题