Как решить io.BytesIO для линейного ученика AWS SageMaker? - PullRequest
0 голосов
/ 30 декабря 2018

Я готовлю данные для линейного ученика путем преобразования в тип буфера, как показано в этом примере MNIST Linear Learner

buf = io.BytesIO
smac.write_numpy_to_dense_tensor(buf, features_train, target_train)
buf.seek(0)
print(buf)
boto3.resource('s3').Bucket(bucket).Object(os.path.join(prefix, 
                                           train_location)).upload_fileobj(buf)

Однако, когда я пытаюсь загрузить преобразованныйданные на S3, я получаю следующую ошибку:

---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-54-4ffe1a2f757c> in <module>()
      4 import boto3
      5 import os
----> 6 upload_train_data_to_s3(features_train, target_train, prefix, bucket)

<ipython-input-53-cb779ecf0f0a> in upload_train_data_to_s3(features_train, target_train, prefix, bucket, train_location, val_location)
      3     """Upload training and validation set to S3"""
      4     buf = io.BytesIO
----> 5     smac.write_numpy_to_dense_tensor(buf, features_train, target_train)
      6     buf.seek(0)
      7     print(buf)

~/anaconda3/envs/python3/lib/python3.6/site-packages/sagemaker/amazon/common.py in write_numpy_to_dense_tensor(file, array, labels)
    108         if labels is not None:
    109             _write_label_tensor(resolved_label_type, record, labels[index])
--> 110         _write_recordio(file, record.SerializeToString())
    111 
    112 

~/anaconda3/envs/python3/lib/python3.6/site-packages/sagemaker/amazon/common.py in _write_recordio(f, data)
    177     """Writes a single data point as a RecordIO record to the given file."""
    178     length = len(data)
--> 179     f.write(struct.pack('I', _kmagic))
    180     f.write(struct.pack('I', length))
    181     pad = (((length + 3) >> 2) << 2) - length

TypeError: descriptor 'write' requires a '_io.BytesIO' object but received a 'bytes'

Я следовал этим же шагам в качестве примера, включая приведение типов к float32, но не повезло.Буду признателен за помощь в решении этой проблемы.

...