Вы можете использовать параметр канала типа ввода следующим образом:
hyperparameters = {'save_checkpoints_secs':None,
'save_checkpoints_steps':1000}
tf_estimator = TensorFlow(entry_point='./my-training-file', role=role,
training_steps=5100, evaluation_steps=100,
train_instance_count=1, train_instance_type='ml.p3.2xlarge',
input_mode = 'Pipe',
train_volume_size=300, output_path = 's3://sagemaker-pocs/test-carlsoa/kepler/model',
framework_version = '1.12.0', hyperparameters=hyperparameters, checkpoint_path = None)
И создать канал файла манифеста в качестве ввода:
train_data = sagemaker.session.s3_input('s3://sagemaker-pocs/test-carlsoa/manifest.json',
distribution='FullyReplicated',
content_type='image/jpeg',
s3_data_type='ManifestFile',
attribute_names=['source-ref'])
#attribute_names=['source-ref', 'annotations'])
data_channels = {'train': train_data}
Обратите внимание, что вы можете использовать ManifestFile или AugmentedManifestFileв зависимости от того, есть ли у вас дополнительные данные или метки для предоставления. Теперь вы можете использовать data_channels в качестве входных данных для оценки tf:
tf_estimator.fit(inputs=data_channels, logs=True)