Обучить автоэнкодер в режиме скрипта на AWS sagemaker

#keras #amazon-sagemaker #autoencoder

#keras #amazon-sagemaker #автоэнкодер

Вопрос:

Я хочу обучить автоэнкодер с использованием keras, где X_train — это матрица mxn, а y_train — это также матрица mxn. например

 X_train = np.array(([1, 2], 
               [3, 4]))
y_train = np.array(([5, 6], 
               [7, 8]))
  

Я объединяю две матрицы train_set и сохраняю в один файл training.npy

 train_set = np.concatenate([X_train, y_train], axis=1)
print(train_set)
array([[1, 2, 5, 6],
       [3, 4, 7, 8]])
  

Позже я сохраняю его в S3

 training_path_input = sess.upload_data('/tmp/training.npy', key_prefix=prefix '/training')
  

Теперь, когда я подхожу к модели

 model.fit({'train': training_path_input })
  

Интересно, как оценщик найдет индекс для X_train и y_train поскольку y_train не является вектором, в отличие от других случаев. Есть ли какой-либо способ указать это в fit() методе.

Или есть какой-либо альтернативный способ сделать это?

Ответ №1:

Метод fit выполняет 2 действия: (1) копирует ваши данные из training_path_input (на S3) /opt/ml/input/data/<channel> в обучающий экземпляр SageMaker ( /opt/ml/input/data/train в вашем случае) и (2) запускает код с любым указанным вами гиперпараметром. Необходимо убедиться, что ваш обучающий код знает, как считывать файлы того типа, которые вы копируете на компьютер. Ваш обучающий код должен включать код, который будет локально считывать скопированные файлы.