Некоторые проблемы с использованием библиотек DLL DeepLearning4J

#nd4j

#nd4j

Вопрос:

Я работаю с DeepLearning4J, работающим с выпуском 1.0.0-beta7. Я получаю две ошибки во время выполнения.

  1. jnind4jcpu.dll неподдерживаемая версия jni 0xffffffff
  2. нет nd4jcpu в java.library.path

Для этого я настраиваю путь к папке, в которой у меня есть несколько других библиотек DLL. Я использую java jvm 1.8.

Итак, какую версию jvm я должен использовать для вопроса № 1 и где в проекте dn4j maven я могу найти вторую? Я попробовал uber jar для nd4j и все те же ошибки.

Спасибо за любую помощь!

Ответ №1:

Ваша проблема не имеет ничего общего с версией Java. Убедитесь, что вы не смешиваете версии dl4j.

На самом деле вам не нужно копаться во внутренних компонентах или иметь дело с какими-либо обходными путями вручную, которые вы обычно видите в библиотеках на основе jni.

Все, что вам нужно сделать, это включить nd4j-native-platform в свой путь к классу:

 <dependency>
 <groupId>org.nd4j</groupId>
 <artifactId>nd4j-native-platform</artifactId>
 <version>1.0.0-beta7</version>
</dependency>
  

Nd4j / dl4j основан на javacpp и позаботится обо всем этом за вас.
Чтобы дать вам еще более целенаправленный совет, мне нужно было бы больше знать о вашей среде (в идеале воспроизводимой на github)

Комментарии:

1. Спасибо, Адам. Я работаю с Windows 10 Professional с GTX 1080. Я только что перестроил новую систему и установил новые драйверы GTX, поэтому я использую последние версии nd4j jars. Я думаю, что я пытался использовать этот jar, но я перепроверю. Большое спасибо за быстрый ответ.

2. Я запускаю веб-службу на сервере приложений (Wildfly), используя nd4j и другие связанные банки.

3. Привет, Адам. Я использую этот jar, но у меня нет dll, только pom. Это ожидаемо? Я получил это через репозиторий maven.

4. Неважно, я буду использовать pom внутри этого jar, чтобы получить то, что вы предложили.

5. Хорошо, путем копирования библиотек DLL в папку, на которую указывает моя переменная path, проблема решена. Большое спасибо, Адам!