Получение ошибок при запуске встраиваний elmo в Google colab

#python-3.x #tensorflow #google-colaboratory #tensorflow-hub

#python-3.x #tensorflow #google-colaboratory #tensorflow-концентратор

Вопрос:

Я извлекаю функции с помощью elmo. Train и Test являются текстовыми данными.Я получаю ошибки при выполнении в Google colab. Я проверил предыдущие вопросы Stackoverflow, но не смог разрешить. Точные коды с указателями будут полезны.

 elmo = hub.Module("https://tfhub.dev/google/elmo/2", trainable=True)
def elmo_vectors(x):
  embeddings = elmo(x.tolist(), signature="default", as_dict=True)["elmo"]

  with tf.Session() as sess:
  sess.run(tf.global_variables_initializer())
  sess.run(tf.tables_initializer())
  # return average of ELMo features
  return sess.run(tf.reduce_mean(embeddings,1))

import tensorflow as tf
import tensorflow_hub as hub

list_train = [train[i:i 100] for i in range(0,train.shape[0],100)]
list_test = [test[i:i 100] for i in range(0,test.shape[0],100)]

# Extract ELMo embeddings
elmo_train = [elmo_vectors(x['clean_tweet']) for x in list_train]
elmo_test = [elmo_vectors(x['clean_tweet']) for x in list_test]    
  

Я получаю следующие ошибки:
Неизвестная ошибка: не удалось получить алгоритм свертки. Вероятно, это связано с тем, что cuDNN не удалось инициализировать, поэтому попробуйте посмотреть, было ли напечатано сообщение журнала предупреждений выше.
[[модуль_узла_apply_default_1/bilm/CNN_2/Conv2D_6 узла (определен в /usr/local/lib/python3.6/dist-packages/tensorflow_hub/native_module.py:517) ]]
[[среднее значение узла (определено в:8) ]]

Ответ №1:

Я попробовал прямо сейчас на colab.research.google.com в Python 3 выполняются среды с графическим процессором и без него, и выполняется следующая адаптация вашего кода:

 import tensorflow as tf
import tensorflow_hub as hub

elmo = hub.Module("https://tfhub.dev/google/elmo/2", trainable=True)
def elmo_vectors(x):
  embeddings = elmo(x,  # Note plain x here.
                    signature="default", as_dict=True)["elmo"]
  with tf.Session() as sess:
    sess.run(tf.global_variables_initializer())
    sess.run(tf.tables_initializer())
    # return average of ELMo features
    return sess.run(tf.reduce_mean(embeddings, 1))

elmo_vectors(["Hello world"])
  

Я получаю вывод:

 array([[ 0.45319763, -0.99154925, -0.26539633, ..., -0.13455263,
         0.48878008,  0.31264588]], dtype=float32)
  

Я считаю, что это не проблема с TF-концентратором.

Ответ №2:

Это случилось и со мной. Я думаю, что речь идет о бесплатном использовании оперативной памяти, которое мы получаем в версии Google Colab Free tier. Мне пришлось уменьшить несколько слоев свертки и уменьшить размер пакета, чтобы запустить его. Кроме того, я не смог запустить его на GPU. Итак, я думаю, вы можете рассмотреть возможность использования Google Colab Pro