У меня есть модель Keras, которую поезда находят, когда включен режим ожидания (TF 2.1.0). Одной из моих функций является строка, которую мне нужно сопоставить с соответствующим индексом словаря. Однако, с отключенным нетерпеливым выполнением, я не могу найти изящный способ сделать это.
Я изначально использовал tft.apply_vocabulary
, который раньше работал нормально, но завершался неудачно без нетерпеливого выполнения. Я также попытался tf.lookup.StaticVocabularyTable
:
table = tf.lookup.StaticVocabularyTable(TextFileIdTableInitializer('item_vocab.txt'), 1)
out = table.lookup(input_strings)
, который (с отключенным режимом ожидания) завершается неудачно с:
tenorflow. python .framework.errors_impl.FailedPreconditionError: Таблица не инициализирована , [[{{node transformer / hash_table_Lookup_1 / hash_table_Lookup / LookupTableFindV2}}]]
Я могу запустить метод таблицы _initialize
в tf.Session
, но кажется, что слишком много работы для такая общая задача и не совместима с TF2.0.
Итак, как сопоставить строки с целочисленными индексами из вокаб-файла без стремительного выполнения?
Почему бы не выполнить стремление?
У меня сложилось впечатление, что обучение в графическом режиме имеет более широкую поддержку (например, обучение с использованием нескольких графических процессоров) и лучшую производительность, и я пытаюсь убедиться, что мой код работает с отключенным режимом ожидания, чтобы я мог в конечном итоге отключить его, когда я ' Я закончил разработку. Это разумная цель?