【问题标题】:What is correct input for mxnet's linear learner in AWS SageMaker?AWS SageMaker 中 mxnet 的线性学习器的正确输入是什么?
【发布时间】:2020-05-26 13:13:59
【问题描述】:

我正在尝试使用 MXNet 在 AWS SageMaker 中创建一个简单的线性学习器。我以前从未使用过 SageMaker 或 MXNet。拟合模型会产生如下运行时错误并关闭实例:

UnexpectedStatusException:训练作业出错 线性学习者2020-02-11-06-13-22-712:失败。原因:客户端错误: 无法读取数据通道“train”。请求的内容类型是 '应用程序/x-recordio-protobuf'。请验证数据是否匹配 请求的内容类型。 (由 MXNetError 引起)

我认为在作为训练数据传递之前,应该将数据转换为 protobuf 格式。有人可以向我解释一下 MXNet 模型的正确格式是什么吗?将简单数据帧转换为 protobuf 的最佳方法是什么?

【问题讨论】:

    标签: python amazon-web-services machine-learning amazon-sagemaker mxnet


    【解决方案1】:

    This end-to-end demo 显示线性学习器的使用情况,输入数据在pandas 数据帧中预处理,然后使用 SDK 转换为 protobuf。但请注意:

    • 不需要使用protobuf,也可以在文件的第一列传递带有目标变量的csv数据,如indicated here
    • 无需了解 MXNet 即可使用 SageMaker 线性学习器,只需使用您选择的 SDK,将数据带到 S3,并协调训练和推理 :)

    【讨论】:

    • 感谢您的回复。他们不是在此处的第一个单元格中将数据转换为 RecordIO 格式。 buf = io.BytesIO() smac.write_numpy_to_dense_tensor(buf, features, labels) buf.seek(0);
    • 是的,但他们也可以执行 df.to_csv() 并将数据作为 csv 发送到 S3;使用 recordio protobufs 是可选的
    猜你喜欢
    • 2019-05-10
    • 2011-06-04
    • 2020-02-07
    • 2015-10-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-30
    相关资源
    最近更新 更多