путать с параметром 'tokens_length' модели elmo в тензорном узле - PullRequest
1 голос
/ 25 июня 2019

Я смотрю модель ELMo в тензорном потоке и мне не очень понятно, что означает tokens_length = [6, 5] в примере использования потока: (https://tfhub.dev/google/elmo/2)

elmo = hub.Module("https://tfhub.dev/google/elmo/2", trainable=True)
tokens_input = [["the", "cat", "is", "on", "the", "mat"],
                ["dogs", "are", "in", "the", "fog", ""]]
tokens_length = [6, 5]
embeddings = elmo(
    inputs={
        "tokens": tokens_input,
        "sequence_len": tokens_length
    },
    signature="tokens",
    as_dict=True)["elmo"]

Не нравится максимальная длина для предложения входного токена, не нравится [максимальное количество слов для каждого предложения, количество предложений], что меня смущает. Может кто-нибудь объяснить это?Спасибо!

1 Ответ

1 голос
/ 25 июня 2019

Первый пример имеет длину 6, а второй пример имеет длину 5 :.то есть

" кошка на коврике " длиной 6 слов, но " собаки в тумане " длиной всего 5 слов.Дополнительная пустая строка во входных данных добавляет небольшую путаницу: - /

Если вы читаете документы на этой странице, это объясняет, почему это необходимо ( полужирный шрифт мой)

С подписью токенов модуль принимает предложения токенизации в качестве входных данных.Входной тензор - это тензор строки с формой [batch_size, max_length ] и тензором int32 с формой [batch_size], соответствующей длине предложения.Ввод длины необходим для исключения заполнения в предложениях различной длины .

...