sagemaker common data formats

在aws上导入数据对模型进行训练和推理需要进行数据的序列化、反序列化,模型的序列化、反序列化 (数据流和结构化数据之间的转换)其中数据的反序列化和模型的序列化直接有程序完成,模型的反序列化是可选操作。主要需要用户设置的是数据的序列化。

training data formats

在训练时,使用protobuf recordIO结构能够优化训练过程,这是因为讲结构化的数据转换成了流式数据,能够使用pipe mode。

sagemaker训练时支持file mode和pipe mode。file mode 将所有数据一次性加载到节点上需要大量内存。pipe mode 持续的直接从s3导入数据到程序。

所谓recordIO即为序列化的二进制数据流

 

 

讲数据转换为record以后,每个文件中将保存多个record,这样可以持续的从文件中读取数据。

以float32tensor 的schema为例:

message Float32Tensor{

repeated float values =1

repeated uint64 keys =2

repeated uint64 shape =3

}

 

 

在推理阶段,需要请求的序列化、反序列化、结果的序列化、反序列化。其中请求的反序列化和结构的序列化由程序自动完成。用户需要关注请求的序列化和结果响应的反序列化

响应的序列化支持txt/csv、json、recordIO-protobuf

protobuf

// An array containing numeric values is treated as an instance containing a
// single dense vector.
let dataElement = [1.5, 16.0, 14.0, 23.0]

// It will be converted to the following representation by the SDK.
let converted = {
  "features": {
    "values": dataElement
  }
}

 

响应的结构

let response = {
  "predictions": [{
    "closest_cluster": 5,
    "distance_to_cluster": 36.5
  }]
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值