CuDNN'yi Ubuntu 16.04'e nasıl kurabilirim?


101

TensorFlow için cuda ve CuDNN'i kurmak istiyorum. Ubuntu 16.04'te bunu nasıl yaparım?


4
Uyarı: Tensorflow çalıştırmaya çalışıyorsanız ve cudnn'a ihtiyacınız varsa, şimdilik 6.0 değil de 6.0 yüklediğinizden emin olun.
wordsforthewise

@wordsforthewise CuDNN 6.0 şimdi desteklenmektedir (en azından TF 1.4 için).
ComputerScientist

Yanıtlar:


134

Adım 0: Standart depolardan cuda'yı kurun. (Bkz . Ubuntu 16.04’te CUDA’yı nasıl kurabilirim? )

Adım 1: Bir nvidia geliştirici hesabı açın ve buradan cudnn'i indirin (yaklaşık 80 MB)

Adım 2: Cuda kurulumunuzun nerede olduğunu kontrol edin. Depodan kurulum için bu /usr/lib/...ve /usr/include. Aksi takdirde, /usr/local/cuda/veya olacaktır /usr/local/cuda-<version>. İle kontrol edebilirsiniz which nvccveyaldconfig -p | grep cuda

Adım 3: Dosyaları kopyalayın:

Havuz kurulumu:

$ cd folder/extracted/contents
$ sudo cp -P include/cudnn.h /usr/include
$ sudo cp -P lib64/libcudnn* /usr/lib/x86_64-linux-gnu/
$ sudo chmod a+r /usr/lib/x86_64-linux-gnu/libcudnn*

Runfile kurulumu:

$ cd folder/extracted/contents
$ sudo cp include/cudnn.h /usr/local/cuda/include
$ sudo cp lib64/libcudnn* /usr/local/cuda/lib64
$ sudo chmod a+r /usr/local/cuda/lib64/libcudnn*

14
Ekleme -Psembolik bağları korur, yani sudo cp -P lib64/libcudnn* /usr/lib/x86_64-linux-gnu/mesajdan kaçınır:/sbin/ldconfig.real: /usr/lib/x86_64-linux-gnu/libcudnn.so.5 is not a symbolic link
Max Gordon

1
Buradan güncelleyin : "İndir cuDNN v4 (v5 şu anda bir sürüm adayıdır ve yalnızca kaynaklardan TensorFlow yüklenirken desteklenir)."
nobar

36
Tensorflow her şeyi bulmak için, ben kopyalamak zorunda kaldı include/cudnn.hve kütüphaneler lib64/için /usr/local/cuda-8.0/includeve /usr/local/cuda-8.0/lib64(CUDA 8.0, Ubuntu 14.04, Tensorflow 0.12.0rc0 kullanarak) - belki bu biri için yararlıdır.
David Stutz

@ MaxGordon Merhaba, ubuntu16.04 power8 için runtime kütüphanesini veya linux kütüphanesini kullanmamın bir önemi var mı?
tryingtolearn

1
Başka bir ipucu - cudnn kurmadan önce cuda yüklediğinizden emin olun. Aksi halde, cuda yükleyicileri, oluşturmuş olabileceğiniz / usr / local / cuda dizinlerinin üzerine yazmaz.
kevins,

38

5.1'den itibaren, @ Martin'in söylediklerine göre kuramazsınız. İndir libcudnn6_6.0.21-1+cuda8.0_amd64.deb, libcudnn6-dev_6.0.21-1+cuda8.0_amd64.deb, libcudnn6-doc_6.0.21-1+cuda8.0_amd64.debgelen nvidia sitesinde ve bir follwing arada birini yükleyin.

 sudo dpkg -i <library_name>.deb

Düzenleme : önce çalışma zamanı (libcudnn6_6.0.21-1 + cuda8.0_amd64.deb) yüklemelisiniz, çünkü dev çalışma zamanına bağlıdır (Thanks @tinmarino)


1
Teşekkürler. Bu soruna defalarca düştüm. Sadece bir kural kuralım. İşler işe yaramazsa, .deb paketlerini kullanarak kuruluma devam edin.
Anuraag Vaidya

8
Tensorflow'u kaynaktan derlerken cuDNN kütüphane kurulum yolunun olduğunu bilmek iyidir/usr/lib/x86_64-linux-gnu/
Visionscaper

1
İlk önce bunu yüklemelisiniz runtimeçünkü buna devbağlı olarak değişir
tinmarino

12
  1. NVidia'nın web sitesine kaydolun. Hesabınızı onaylatmaları bir gün veya iki gün sürebilir. En azından ben kayıt yaptırdığımda eski durumdu.
  2. NVidia'dan en son CUDA'yı veya varsa çalışacağınız yazılıma uyan en son sürümü (varsa), bu durumda T- Flow'ınızı indirin ve yükleyin .

    Unutmayın, ubuntu'nun standart paket yöneticisi ile tıklatarak yüklemek muhtemelen uygun şekilde çalışmayacaktır.

    Bunun yerine, muhtemelen pakage yüklemek için terminaldeki bu talimatları izlemeniz gerekecek .deb. Bundan sonra gerekecek birkaç satır eklemek için .bashrcsizin durumunuzda uygun, ya da her nerede. Örneğin, bir sunucuyu yapılandırıyorsanız, muhtemelen uygulamanızın otomatik olarak başlatılmasından önce .bashrc, muhtemelen bu durumda çalıştırılmayacağından farklı bir yer olacak.

  3. NVDidia'dan CuDNN İndir

    "Library for Linux" versiyonunu kullandım, .debpaketler konusunda pek şansım yoktu .

  4. CUDA'nın nerede olduğunu bulabilirsiniz which nvcc. Genellikle /usr/local/cuda/şu anda yüklü sürümünüze sembolik bir bağlantı olacaktır.

  5. CuDNN arşivini açın ve uygun içerikleri CUDA kurulum klasörü ( cuda/lib64/ve cuda/include/) içindeki uygun yerlere kopyalayın . Ben genellikle sudo nautilusoradan görsel olarak yaparım.

8

Hızlı ileri 2018 ve NVIDIA şimdi indirmek için cuDNN 7.x sağlar. Kurulum adımları hala @GPrathap tarafından açıklananlara benzer. Ancak eski cuDNN sürümünü yenisiyle değiştirmek istiyorsanız, yüklemeden önce onu kaldırmanız gerekir.

Özetlemek için:

Adım 0. CUDA araç setini zaten kurduğunuzu doğrulayın. Yapmadıysanız CUDA araç seti kurulumuna devam edin.

Adım 1. https://developer.nvidia.com/cudnn adresindeki NVIDIA geliştirici portalına gidin ve cuDNN'i indirin.

2. Adım. Daha önce cuDNN yüklediyseniz çıkarın

sudo dpkg -r <old-cudnn-runtime>.deb
sudo dpkg -r <old-cudnn-dev>.deb

Adım 3. dpkg kullanarak cuDNN kütüphanesini (çalışma zamanı, dev, doc) yükleyin

sudo dpkg -i <new-cudnn-runtime>.deb
sudo dpkg -i <new-cudnn-dev>.deb
sudo ldconfig

Adım 4. Kütüphanenin nerede kurulu olduğunu bulmak istiyorsanız, konum bulma dizinini güncelleyebilir ve ardından kütüphane konumunu bulabilirsiniz.

sudo updatedb
locate libcudnn

CUDNN 7.x'i CUDA araç takımı 9.1'e karşı özellikle yüklüyorsanız, bu makale bazı yardımcı olabilecek daha fazla ayrıntı sunar: http://tech.amikelive.com/node-679/quick-tip-installing-cuda-deep- nöral ağ-7-cudnn-7-x-kütüphane için-CUDA araç-9-1-on-ubuntu-16-04 /


Teşekkürler @Mike, deb dosyalarını ve sıradan .tar dosyasını kullanmak arasındaki farkın ne olduğunu biliyor musunuz? hangisi önerilir ve neden? (Bu arada kendim CUDA'yı runfile kullanarak ve ubuntu'da cuDNN için .tar paketini kullanarak da kullandım)
Rika

Göre ilgili montaj belgelerden gelen Nvidia eski sürümlerini kaldırmak zorunda hakkında söylediklerini doğru değildir:cuDNN v7 can coexist with previous versions of cuDNN, such as v5 or v6.
n1k31t4

3

Ayrıca, Debian tabanlı dağıtımlar için deb paketlerini indirebilirsiniz.

NVIDIA web sayfasından, geliştirici profili için aşağıdaki dosyalar kullanılabilir:

  • cuDNN v5.1 Linux için Çalışma Zamanı Kitaplığı (Deb)
  • cuDNN v5.1 Linux için Geliştirici Kütüphanesi (Deb)
  • cuDNN v5.1 Kod Örnekleri ve Kullanıcı Kılavuzu Linux (Deb)

Bunu Debian (Stretch) ile makinemde denedim ve TensorFlow çalışıyor!


6
, Sen kaynağından derlenmiş sürece cuDNN v5.1 TensorFlow ile çalışmaz (2016 Temmuz) artık itibariyle unutmayınız bkz tensorflow.org/versions/r0.9/get_started/os_setup.html
mastazi

2

@Martin Thoma ve @ Íhor Mé tarafından yazılan geçerli cevaplara önemli bir ayrıntı ekleyerek: libcudnn dosyalarını cuda dizinlerine kopyaladıktan sonra, .bashrc dosyanızı güncellemelisiniz:

export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/cuda/lib64:/usr/local/cuda/extras/CUPTI/lib64"
export CUDA_HOME=/usr/local/cuda

Daha sonra include dizini, onu kullanan herhangi bir config dosyasına eklemelisiniz. Caffe örneğin, make ile derlemeden önce düzenlemeniz gereken bir config dosyasına sahiptir. Bunun için bu config değişkenlerine yollar eklemek için caffe / Makefile.config dosyasını düzenleyin (yollar arasına boşluk ekleyin):

INCLUDE_DIRS: /usr/local/caffe/cuda/include/ 
LIBRARY_DIRS: /usr/local/cuda/lib64/

Her geçerli terminal penceresi için bu değişikliklerin etkili olmasını istersiniz, dosyayı bir kez çalıştırmayı unutmayın!

. ~/.bashrc

0

Cevap doğru, ancak cuDNN 5.1 için bazı isimler değiştirildi. Bu nedenle, cuDNN dosyasını çıkardıktan sonra bu sürümü kullanırsanız iki klasör bulacaksınız: lib and include. cudnn.h klasöründe bulunan * .h dosyasının adını değiştirin ve ardından https://askubuntu.com/a/767270/641589 adresini izleyin . Caffe için cuDNN kullanmak istiyorsanız, bu değişiklik gereklidir.


Lütfen cevabınızı düzenleyin ve referansı 'yukarıdaki talimat' olarak ekleyin.
sudodus

0

16.04'te, doğrudan Nvidia'nın web sitesinden CUDA'yı kuruyorsanız ve ayrıca Tensorflow'u kaynaktan oluşturuyorsanız, Cudnn olarak belirtmek istediğiniz dizini belirtebilirsiniz. Varsayılan olarak:

/usr/include/x86_64-linux-gnu

Tensorflow'u oluştururken, hangi sürümü Cudnn için kullandığınızı belirtmek istediğinizi soracaktır. Ondan sonra nerede olduğunu soracak. Sadece yukarıdaki dizini belirtmeniz yeterlidir. Bu noktada bir tekerlek dosyası oluşturmalıdır ve pip ile yükleyebilirsiniz.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.