AWS Sagemaker-培训渠道为空或迷你批次的尺寸太大

时间:2019-06-03 06:50:07

标签: boto3 amazon-sagemaker

我正在尝试在Sagemaker中训练线性学习器模型。我的训练集是422行,在AWS S3上分为4个文件。我设置的最小批量大小为50。

我一直在Sagemaker中遇到此错误。

  

客户错误:未处理任何培训数据。要么训练   通道为空或迷你批处理大小太大。验证   训练数据包含非空文件,并且最小批量较小   比每个培训主持人的记录数要多。

我正在使用此InputDataConfig

InputDataConfig=[
            {
                'ChannelName': 'train',
                'DataSource': {
                    'S3DataSource': {
                        'S3DataType': 'S3Prefix',
                        'S3Uri': 's3://MY_S3_BUCKET/REST_OF_PREFIX/exported/',
                        'S3DataDistributionType': 'FullyReplicated'
                    }
                },
                'ContentType': 'text/csv',
                'CompressionType': 'Gzip'
            }
        ],

我不确定我在做什么错。我尝试将记录数增加到5547495(分为6个文件)。同样的错误。这使我认为配置本身缺少某种东西。因此,似乎认为培训渠道不存在。我尝试将“培训”更改为“培训”,这就是erorr信息所说的。但是后来我得到了

  

客户错误:无法初始化算法。验证失败   输入数据配置。 (由ValidationError引起)

     

原因:{u'training':{u'TrainingInputMode':u'Pipe',   u'ContentType':u'text / csv',u'RecordWrapperType':u'None',   u'S3DistributionType':u'FullyReplicated'}}在以下任何情况下均无效   给定的模式

我回去训练,因为这似乎是需要的。但是我在做什么错呢?

1 个答案:

答案 0 :(得分:3)

发现了问题。提到CompressionType为'Gzip',但是我将实际文件更改为在导出时未压缩。我将其更改为“无”后,培训就顺利进行了。