Как вызвать модель универсального кодировщика предложений в Python, используя тензор потока - PullRequest
1 голос
/ 19 апреля 2020

Я пытаюсь найти сходство предложений, используя универсальную модель кодирования предложений. У меня есть универсальная форма модели кодировщика предложений, сохраненная на локальном диске. Но я не знаю, как вызвать его через код непосредственно с локального диска ниже, вместо того, чтобы вызывать его по ссылке в коде. Обратите внимание, что моя ОС windows.

import tensorflow as tf
import tensorflow_hub as hub
embed = hub.Module("https://tfhub.dev/google/universal-sentence-encoder-large/3")
def get_features(texts):
    if type(texts) is str:
        texts = [texts]
    with tf.Session() as sess:
        sess.run([tf.global_variables_initializer(), tf.tables_initializer()])
        return sess.run(embed(texts))
get_features("The quick brown fox jumps over the lazy dog.I am a sentence for which I would like to get its embedding")

1 Ответ

0 голосов
/ 05 мая 2020

Вы можете использовать hub.load для загрузки модели универсального кодировщика предложений, которая сохраняется на диск.

Например, модель USE-5 сохраняется в папке с именем 5, а ее структура папок имеет вид как показано на скриншоте ниже, мы можем загрузить Model, используя указанный ниже код:

enter image description here

import tensorflow_hub as hub

embed = hub.load('5')

embeddings = embed([
    "The quick brown fox jumps over the lazy dog.",
    "I am a sentence for which I would like to get its embedding"])

print(embeddings)

Вывод приведенного выше кода:

tf.Tensor([[ 0.01305105 0.02235123 -0.03263275 ... -0.00565093 -0.04793027 -0.11492756] [ 0.05833394 -0.08185011 0.06890941 ... -0.00923879 -0.08695354 -0.0141574 ]], shape=(2, 512), dtype=float32)

Приведенный выше код эквивалентен приведенному ниже коду, который использует URL для загрузки USE-5.

import tensorflow_hub as hub

embed = hub.load("https://tfhub.dev/google/universal-sentence-encoder-large/5")

embeddings = embed([ 
"The quick brown fox jumps over the lazy dog.", 
"I am a sentence for which I would like to get its embedding"])

print(embeddings)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...