在SageMaker上将AWS Glue输出文件读取为TensorFlow批处理转换的正确方法是什么



我有一个Glue作业,它将.out文件输出到S3中。这个文件的格式适合在SageMaker上训练TensorFlow模型(使用脚本模式(,但在运行批处理转换时,我很难解析这些数据。

我按照推荐的首选推理.py脚本方法使用input_handler和output_handler函数,但我不确定是否应该将.out文件完全视为application/json、text/csv或其他文件。

推理.py文件示例:https://github.com/awslabs/amazon-sagemaker-examples/blob/master/sagemaker_batch_transform/tensorflow_cifar-10_with_inference_script/code/inference.py

input_handler应该做什么取决于.out文件的数据格式。

Batch Transform获取.out文件中的数据,将其放入HTTP请求的请求负载中,并将该请求发送到input_handler。例如,如果.out文件是行分隔的JSON,那么input_handler应该从请求中读取数据,就像从文件中读取相同的数据一样。

Batch还可以按特定字符分割数据,并将块或单个记录发送到模型服务器,在这种情况下,您的input_handler将处理这些单个块或记录。

如果您知道.out格式的数据格式,则可以省略处理程序中的内容类型。内容类型是Batch Transform添加到请求中的字符串,以允许模型服务器根据数据格式切换其操作,但该字符串的含义(无论是"application/json"还是"application/foo"(不会改变Batch或模型服务器的行为。

相关内容

最新更新