无法在Amazon SageMaker上开始训练

时间:2018-09-05 06:53:49

标签: python amazon-web-services amazon-sagemaker

def input_csv_fn():
    #filenames = np.load(file_io.FileIO(npy_file, 'r'))
    Dataset = tf.data.TextLineDataset(csv_file).skip(1).shuffle(buffer_size = 2000000).map(parser_csv, num_parallel_calls = cpu_count())
    #Dataset = Dataset.prefetch(2560)
    #Dataset = Dataset.shuffle(buffer_size = 1280)
    Dataset = Dataset.map(input_parser_plain, num_parallel_calls = cpu_count())
    Dataset = Dataset.apply(tf.contrib.data.ignore_errors())
    Dataset = Dataset.repeat(epochs)
    Dataset = Dataset.batch(batch_size)
    Dataset = Dataset.prefetch(batch_size)
    iterator = Dataset.make_one_shot_iterator()
    feats, labs = iterator.get_next()
    return feats, labs
def aggregate_csv_batches():
    features = []
    labels = []
    # add if GPU exists condition here to fit GPU and CPU data processing
    if num_gpus > 0:
        num_devices = num_gpus
    else:
        num_devices = 1
    for i in range(num_devices):
        _features, _labels = input_csv_fn()
        features.append(_features)
        labels.append(_labels)
    return features, labels
return aggregate_csv_batches 

上面是用于通过CSV从S3存储桶读取数据集的代码,但是当我尝试在AWS Sagemaker上创建培训作业时,不断出现以下错误

  

TypeError:无法将类型为<type 'function'>的对象转换为   张量内容:函数aggregate_csv_batches位于0x7f1559eeaaa0。   考虑将元素强制转换为受支持的类型。

1 个答案:

答案 0 :(得分:0)

没有更多细节很难确定问题。您是否在培训工作中使用SageMaker Tensorflow图像运行此代码?如果是这样,您在这里阅读过文档吗? https://github.com/aws/sagemaker-python-sdk/blob/master/src/sagemaker/tensorflow/README.rst

仅从错误消息中,就好像您正在将函数本身(aggregate_csv_batches)传递到期望张量的地方。

如果您可以提供正在运行的完整代码以及运行方式的说明,甚至可以提供最小限度的维修,我可以尝试提供进一步的帮助。