Использование ops из Tensorflow.contrb в Windows через Java API

Я хотел бы загрузить op из tf.contrib, а именно "_beam_search_ops". Я использую Tensorflow 1.6 от Maven.

После ответа на Проблема при загрузке / обслуживании модели тензорного потока в java с использованием оценщиков я могу сделать это на Ubuntu 17.10.

Код выглядит так:

TensorFlow.loadLibrary("_beam_search_ops.so");

Затем я пытаюсь сделать то же самое в Windows 10 с кодом

TensorFlow.loadLibrary("_beam_search_ops.dll");

И это не срабатывает

java.lang.UnsatisfiedLinkError: D:\Users\ALEXAN~1\AppData\Local\Temp\deep_api_plugin\_beam_search_ops.dll not found
    at org.tensorflow.TensorFlow.loadLibrary(TensorFlow.java:47)

Так в чем причина этого?

Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
1
0
301
1

Ответы 1

Пока я писал и исследовал вопрос, я наткнулся на решение.

Для решения проблемы файл _pywrap_tensorflow_internal.pyd следует скопировать в папку, в которой находится _beam_search_ops.dll. Я понимаю, что это тоже какой-то dll, но не понимаю, зачем он нужен для Windows, а не для Ubuntu. Если кто-нибудь знает, пожалуйста, просветите меня.

Также я понимаю, что такая дополнительная информация должна быть предоставлена ​​в комментарии к исходному ответу, но, к сожалению, у меня недостаточно репутации, чтобы комментировать, и я думал, что этот ответ может кому-то помочь.

Обновлено: я был слишком быстр, чтобы праздновать. С этим ответом загружается библиотека без исключения, но модель, похоже, не может ее использовать из-за сбоя

Exception in thread "main" org.tensorflow.TensorFlowException: Op type not registered 'GatherTree' in binary running on DESKTOP-EB6GIDR. Make sure the Op and Kernel are registered in the binary running in this process.
    at org.tensorflow.SavedModelBundle.load(Native Method)
    at org.tensorflow.SavedModelBundle.load(SavedModelBundle.java:39)

Поиск ответа должен продолжаться.

Другие вопросы по теме