Я пытаюсь извлечь вложения ELMo и запустить код на AWS SageMaker и TensorFlow. Код отлично работает на экземпляре процессора в SageMaker , но я хочу запустить его на GPU . Ниже перечислены шаги, которые я выполнил, и перечислены ошибки:
- Запущен AWS Экземпляр SageMaker: ml.p3.8xlarge - он имеет 8 графических процессоров
- Запущен JuperterLab и выбран conda_tensorflow_p36 для ноутбука
- Запустил следующий код:
! Pip3 install tenorflow-gpu == 1.15 .
! Pip3 install "тензор потока-концентратор <0.5.0 "</p>
url = "https://tfhub.dev/google/elmo/2"
embed = hub.Module(url)
def defineEmbeddings(start, end, extractions):
embeddings = embed(extractions[start:end],signature="default",as_dict=True)["default"]
return embeddings
def scoreExtractions (embeddings):
config = tf.compat.v1.ConfigProto(log_device_placement=True)
config.gpu_options.allow_growth = True
config.gpu_options.per_process_gpu_memory_fraction = 0.9
with tf.compat.v1.Session(config=config) as sess:
sess.run(tf.global_variables_initializer())
sess.run(tf.tables_initializer())
x = sess.run(embeddings)
return x
Я получаю следующую ошибку с sess.run (embeddings)
UnknownError: 2 root найдено ошибок. (0) Неизвестный: Не удалось получить алгоритм свертки. Вероятно, это связано с тем, что cuDNN не удалось инициализировать, поэтому попробуйте посмотреть, не было ли напечатано сообщение журнала предупреждений выше. [[{{node module_apply_default_1 / bilm / CNN_1 / Conv2D}}]] [[module_apply_default_1 / truediv / _155] ] (1) Неизвестно: не удалось получить алгоритм свертки. Вероятно, это связано с тем, что cuDNN не удалось инициализировать, поэтому попробуйте посмотреть, не было ли напечатано сообщение с предупреждением выше. [[{{node module_apply_default_1 / bilm / CNN_1 / Conv2D}}]] 0 успешных операций. 0 производных ошибок игнорируются.
Но следующие действия с вышеуказанной установкой:
with tf.device('/device:GPU:3'):
a = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], shape=[2, 3], name='a')
b = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], shape=[3, 2], name='b')
c = tf.matmul(a, b)
with tf.Session() as sess:
print(sess.run(c))
Основываясь на моем чтении этой проблемы в StackOverflow, я также попытался использовать tenorflow-gpu = 1.8.0 также и с этим, я получаю ошибку в тензор потока импорта как tf:
ImportError : libcublas.so.9.0: не могу открыть файл общего объекта: Нет такого файла или каталога