Модуль ошибок должен быть применен в графе, для которого он был создан - PullRequest
0 голосов
/ 31 мая 2019

В настоящее время я использую Tensorflow и Tensor Hub для запуска Elmo для документов малого и среднего размера (например, новостных статей).У меня возникла проблема с OOM, поэтому, пытаясь исправить это, я отредактировал свой код так:

with tf.Graph().as_default():
    gpu_options = tf.GPUOptions(per_process_gpu_memory_fraction = 0.333)
    with tf.Session(config = tf.ConfigProto(gpu_options = gpu_options)) as sess:
        print ("1")
        sentences = nltk.sent_tokenize(text)
        search_string = topic_to_search #### param {type:"string"}
        results_returned = "1" #param [1, 2, 3]
        print ("22")
        embeddings = embed(
            sentences,
            signature="default",
            as_dict=True)["default"]
        print ("3")
        tf.reset_default_graph()

        sess.run(tf.global_variables_initializer())
        sess.run(tf.tables_initializer())
        x = sess.run(embeddings)

        embeddings2 = embed(
            [search_string],
            signature="default",
            as_dict=True)["default"]
        search_vect = sess.run(embeddings2)
        sess.close()
        print ("4")
        tf.reset_default_graph()

Однако теперь я получаю сообщение об ошибке: Модуль ошибок должен быть применен к графу, для которого он был создан.

Как и предполагалось, я переместил весь код внутри с помощью tf.Graph (). As_default (): но все равно получил ошибку.

Не уверен, где я иду не так, любая помощь будет большой.

(Если у вас есть какое-либо понимание OOM, это также будет высоко оценено!)

...