AWS Sagemaker | Как отладить изображение докера | Какой параметр мы передаем
Мы хотим загрузить изображение Docker, которое имеет наш собственный код для tenorflow, теперь мы следуем этому стандартному коду https://github.com/awslabs/amazon-sagemaker-examples/blob/master/advanced_functionality/tensorflow_bring_your_own/tensorflow_bring_your_own.ipynb
Мы можем загрузить докер туда с нашей зависимостью, но мы не можем передать местоположение S3 их методу, теперь мы не уверены, передается ли местоположение S3 в контейнер или нет добавленной печати, которая не печатает на sagemaker. Может кто-нибудь помочь, пожалуйста, как отладить докер, так как пользовательский журнал также не доступен в cloudwatch.
018-11-30 09:55:17 Uploading - Uploading generated training model
2018-11-30 09:55:17 Failed - Training job failed
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-17-5fc1c1e7ed65> in <module>()
11 hyperparameters=hyperparameters)
12
---> 13 estimator.fit(data_location)
14
15 # predictor = estimator.deploy(1, instance_type)
~/anaconda3/envs/tensorflow_p36/lib/python3.6/site-packages/sagemaker/estimator.py in fit(self, inputs, wait, logs, job_name)
232 self.latest_training_job = _TrainingJob.start_new(self, inputs)
233 if wait:
--> 234 self.latest_training_job.wait(logs=logs)
235
236 def _compilation_job_name(self):
~/anaconda3/envs/tensorflow_p36/lib/python3.6/site-packages/sagemaker/estimator.py in wait(self, logs)
571 def wait(self, logs=True):
572 if logs:
--> 573 self.sagemaker_session.logs_for_job(self.job_name, wait=True)
574 else:
575 self.sagemaker_session.wait_for_job(self.job_name)
~/anaconda3/envs/tensorflow_p36/lib/python3.6/site-packages/sagemaker/session.py in logs_for_job(self, job_name, wait, poll)
1121
1122 if wait:
-> 1123 self._check_job_status(job_name, description, 'TrainingJobStatus')
1124 if dot:
1125 print()
~/anaconda3/envs/tensorflow_p36/lib/python3.6/site-packages/sagemaker/session.py in _check_job_status(self, job, desc, status_key_name)
821 reason = desc.get('FailureReason', '(No reason provided)')
822 job_type = status_key_name.replace('JobStatus', ' job')
--> 823 raise ValueError('Error for {} {}: {} Reason: {}'.format(job_type, job, status, reason))
824
825 def wait_for_endpoint(self, endpoint, poll=5):
ValueError: Error for Training job tensor-2018-11-30-09-52-12-964: Failed Reason: AlgorithmError: Exception during training: Return Code: 1, CMD: ['/usr/bin/python', 'cifar10.py', '--model-dir', '/opt/ml/model', '--train-steps', '100'], Err: b'/usr/local/lib/python3.5/dist-packages/h5py/__init__.py:36: FutureWarning: Conversion of the second argument of issubdtype from `float` to `np.floating` is deprecated. In future, it will be treated as `np.float64 == np.dtype(float).type`.\n from ._conv import register_converters as _register_converters\nTraceback (most recent call last):\n File "cifar10.py", line 195, in <module>\n main()\n File "cifar10.py", line 188, in main\n interactions_processed, user_meta_processed, item_meta_processed, item_feats_set = process_data(interaction_data, interaction_cols, users_meta, users_meta_cols, items_meta, items_meta_cols, user_meta_filterlist=user_meta_list)\n File "cifar10.py", line 32, in process_data\n df=pd.read_csv(interaction_data, engine=\'c\', encoding=\'latin1\', usecols=interaction_cols).astype(str)\n File "/usr/local/lib/python3.5/d
0 ответов
Глядя на ваше сообщение об ошибке, кажется, что это проблема, которой нет в исходном примере, которому вы следовали.
Для диагностики и отладки этого может потребоваться немного больше информации в отношении вашего файла cifar10.py, поскольку предоставленная трассировка стека не соответствует исходному файлу cifar10.py в примере: https://github.com/awslabs/amazon-sagemaker-examples/blob/master/advanced_functionality/tensorflow_bring_your_own/container/cifar10/cifar10.py
Кроме того, я понимаю, что итерация может быть невероятно медленной, поэтому я рекомендую использовать локальный режим для ускорения итераций перед производством в SageMaker. Приведенный выше пример записной книжки цитирует это, и это можно сделать, используя "local" в качестве значения для train_instance_type или instance_type для обучения / хостинга.
Работает ли ваш пример с вашим набором данных, предоставленным из локального каталога (file:///)?
Если это так, однако не работает в SageMaker, это может быть потому, что вы не ожидаете, что ваш набор данных будет в правильном каталоге. SageMaker отправит ваши данные в определенный канал, как указано здесь: https://docs.aws.amazon.com/sagemaker/latest/dg/your-algorithms-training-algo.html
Пожалуйста, дайте мне знать, если есть что-то, что я могу уточнить.