У меня есть блокнот Jupyter со стандартным шаблоном кода, например,
из sagemaker.tensorflow import TensorFlow
import sagemaker
from sagemaker import get_execution_role
sagemaker_session = sagemaker.Session()
role = get_execution_role()
tf_estimator = TensorFlow(entry_point='sagemaker_predict_2.py', role=role,
training_steps=10000, evaluation_steps=100,
train_instance_count=1, train_instance_type='ml.p2.xlarge',
framework_version='1.10.0')
tf_estimator.fit('s3://XXX-sagemaker/XXX')
Это нормально запускается, но в итоге выдает ошибку
2018-11-27 06:21:12 Starting - Starting the training job...
2018-11-27 06:21:15 Starting - Launching requested ML instances.........
2018-11-27 06:22:44 Starting - Preparing the instances for training...
2018-11-27 06:23:35 Downloading - Downloading input data...
2018-11-27 06:24:03 Training - Downloading the training image......
2018-11-27 06:25:12 Training - Training image download completed. Training in progress..
2018-11-27 06:25:11,813 INFO - root - running container entrypoint
2018-11-27 06:25:11,813 INFO - root - starting train task
2018-11-27 06:25:11,833 INFO - container_support.training - Training starting
2018-11-27 06:25:15,306 ERROR - container_support.training - uncaught exception during training: No module named keras
Traceback (most recent call last):
File "/usr/local/lib/python2.7/dist-packages/container_support/training.py", line 36, in start
fw.train()
File "/usr/local/lib/python2.7/dist-packages/tf_container/train_entry_point.py", line 143, in train
customer_script = env.import_user_module()
File "/usr/local/lib/python2.7/dist-packages/container_support/environment.py", line 101, in import_user_module
user_module = importlib.import_module(script)
File "/usr/lib/python2.7/importlib/__init__.py", line 37, in import_module
__import__(name)
File "/opt/ml/code/sagemaker_predict_2.py", line 7, in <module>
import keras
ImportError: No module named keras
Мой sagemaker_predict_2.py
нуждается в некоторых из этих библиотек:
import pandas as pd
import numpy as np
import sys
import keras
from keras.models import Model, Input
from keras.layers import LSTM, Embedding, Dense, TimeDistributed, Dropout, Bidirectional
from keras.wrappers.scikit_learn import KerasClassifier
from keras_contrib.layers import CRF
Я полагаю, у него нет проблем с импортом pandas
и numpy
, но он умирает при импорте keras
.Я думал, что keras
был стандартным в ноутбуке.Когда я запускаю этот скрипт, есть ли в нем какая-то другая неинициализированная среда?
Кроме того, я считаю, что keras_contrib
не является стандартным, поэтому мне понадобится способ установить его.Как мне это сделать?
Я пробовал !pip install keras
в ячейке выше, но он сообщил, что Requirement already satisfied
, так что, похоже, в моей среде jupyter есть библиотека.Но начинать с sagemaker_predict_2.py
должно быть в другой среде?