Не удается найти зависимые библиотеки при попытке запустить deeplearning4j с CUDA

Я пытаюсь запустить нейронную сеть, построенную с использованием dl4j, с использованием графического процессора. Код отлично работает при использовании зависимости от собственной платформы, но когда я переключаюсь на использование CUDA, выполнение завершается с ошибкой:

Caused by: java.lang.UnsatisfiedLinkError: ...\cuda-8.0-6.0-1.3-windows-x86_64.jar\org\bytedeco\javacpp\windows-x86_64\jnicuda.dll: Can't find dependent libraries

Вот что у меня есть в моем build.gradle:

//    compile group: 'org.nd4j', name: 'nd4j-native-platform', version: '0.9.1'
compile group: 'org.nd4j', name: 'nd4j-cuda-8.0-platform', version: '0.9.1'

Вот зависимости, показанные в IDEA:

Зависимости

Мне удалось установить CUDA Toolkit и собрать примеры. Запуск deviceQuery показывает, что моя версия драйвера/среды выполнения CUDA — 9.1, является ли это проблемой, поскольку платформа nd4j-cuda-8.0 ссылается на 8.0? Не уверен, так как версия 0.9.1 соответствует моей версии CUDA, и, похоже, платформа 9.0 недоступна.

Есть ли что-то еще, что мне не хватает? Если да, то как мне устранить/решить эту проблему?


person CodeMonkeyCharlie    schedule 02.03.2018    source источник
comment
Попытка добавить nvcc.exe в src/main/resources, как описано здесь: nd4j.org/getstarted.html#gpu Все та же ошибка.   -  person CodeMonkeyCharlie    schedule 02.03.2018
comment
Хм, на основе: nd4j.org/gpu_native_backends.html В настоящее время мы поддерживаем Cuda 7.5 и 8.0. Похоже, CUDA 9 не поддерживается и не имеет обратной совместимости?   -  person CodeMonkeyCharlie    schedule 02.03.2018
comment
Согласно github.com/deeplearning4j/nd4j/issues/2285, поддерживается CUDA 9. на мастер. Однако все та же ошибка с группой компиляции: «org.nd4j», имя: «nd4j-cuda-8.0-platform», версия: «0.9.2-SNAPSHOT».   -  person CodeMonkeyCharlie    schedule 02.03.2018
comment
CodeMonkeyCharlie, не могли бы вы поделиться своим скриптом gradle. Я столкнулся с той же проблемой, но не смог ее решить. Кроме того, вы упомянули, что установили CUDA 8. Вы имели в виду CUDA Toolkit 8.0 GA2 отсюда: developer.nvidia.com/cuda-80-ga2-download-archive   -  person Guy Grin    schedule 21.03.2018


Ответы (1)


Итак, оказывается, есть несколько проблем. Во-первых, текущая версия deeplearning4j не поддерживает CUDA 9, которую я наивно установил, думая, что самая последняя и самая лучшая — лучшая. CUDA 9 поддерживается в последнем снимке, который я опробовал, но, по-видимому, из-за какой-то проблемы с Gradle и снимками не смог решить проблему.

В конце концов я удалил все, что связано с CUDA, с моего ПК и установил CUDA 8 с нуля, перезагрузил компьютер, и теперь все работает.

person CodeMonkeyCharlie    schedule 02.03.2018