สำหรับ TensorFlow ฉันต้องการติดตั้ง cuda และ CuDNN ฉันจะทำสิ่งนั้นบน Ubuntu 16.04 ได้อย่างไร
สำหรับ TensorFlow ฉันต้องการติดตั้ง cuda และ CuDNN ฉันจะทำสิ่งนั้นบน Ubuntu 16.04 ได้อย่างไร
คำตอบ:
ขั้นตอนที่ 0: ติดตั้ง cuda จากที่เก็บมาตรฐาน (ดูฉันจะติดตั้ง CUDA บน Ubuntu 16.04 ได้อย่างไร )
ขั้นตอนที่ 1: ลงทะเบียนบัญชีนักพัฒนา nvidia และดาวน์โหลด cudnn ที่นี่ (ประมาณ 80 MB)
ขั้นตอนที่ 2: ตรวจสอบว่าการติดตั้ง cuda ของคุณอยู่ที่ไหน สำหรับการติดตั้งจากพื้นที่เก็บข้อมูลที่มันเป็นและ/usr/lib/...
/usr/include
มิฉะนั้นก็จะเป็นหรือ/usr/local/cuda/
/usr/local/cuda-<version>
คุณสามารถตรวจสอบกับwhich nvcc
หรือldconfig -p | grep cuda
ขั้นตอนที่ 3: คัดลอกไฟล์:
การติดตั้งที่เก็บ:
$ 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:
$ 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*
-P
รักษาลิงก์สัญลักษณ์คือsudo cp -P lib64/libcudnn* /usr/lib/x86_64-linux-gnu/
และหลีกเลี่ยงข้อความ:/sbin/ldconfig.real: /usr/lib/x86_64-linux-gnu/libcudnn.so.5 is not a symbolic link
include/cudnn.h
และไลบรารีlib64/
ไปที่/usr/local/cuda-8.0/include
และ/usr/local/cuda-8.0/lib64
(ใช้ CUDA 8.0, Ubuntu 14.04, Tensorflow 0.12.0rc0) - อาจเป็นประโยชน์สำหรับใครบางคน
ตั้งแต่ 5.1 เป็นต้นไปคุณจะไม่สามารถติดตั้งได้ตามที่ @Martin พูดถึง ดาวน์โหลด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.deb
จากเว็บไซต์ nvidia และติดตั้งทีละหนึ่งทาง
sudo dpkg -i <library_name>.deb
แก้ไข : ก่อนอื่นคุณต้องติดตั้งรันไทม์ (libcudnn6_6.0.21-1 + cuda8.0_amd64.deb) เพราะ dev ขึ้นอยู่กับรันไทม์ (ขอบคุณ @tinmarino)
/usr/lib/x86_64-linux-gnu/
runtime
decause dev
ขึ้นอยู่กับมัน
ดาวน์โหลดและติดตั้ง CUDA ล่าสุดจาก NVidiaหรือรุ่นล่าสุดที่เหมาะกับซอฟต์แวร์ที่คุณใช้งานได้หากมีในกรณีนี้เวอร์ชัน T-Flow ของคุณ
โปรดทราบว่าการติดตั้งผ่านตัวจัดการแพคเกจมาตรฐานของอูบุนตูด้วยการคลิกอาจไม่ทำงานอย่างเหมาะสม
คุณอาจต้องทำตามคำแนะนำเหล่านี้ในเทอร์มินัลเพื่อติดตั้ง.deb
pakage แทน หลังจากนั้นคุณจะต้องเพิ่มไม่กี่บรรทัดไป.bashrc
หรือที่ใดก็ตามที่เหมาะสมในกรณีของคุณ ตัวอย่างเช่นหากคุณกำลังกำหนดค่าเซิร์ฟเวอร์ก็อาจจะเป็นสถานที่ที่แตกต่างกันอาจจะอยู่ที่ไหนสักแห่งก่อนที่จะปิดอัตโนมัติของแอปของคุณเพราะ.bashrc
อาจจะไม่ถูกดำเนินการในกรณีนี้
ฉันใช้เวอร์ชัน "Library for Linux" ไม่ค่อยมีโชคกับ.deb
แพ็คเกจเลย
คุณสามารถค้นหาว่า CUDA ตั้งอยู่ที่
which nvcc
ใด โดยปกติ/usr/local/cuda/
จะเป็นลิงก์สัญลักษณ์ไปยังเวอร์ชันที่คุณติดตั้งในปัจจุบัน
cuda/lib64/
และcuda/include/
) ฉันมักจะsudo nautilus
และทำจากที่นั่นสายตากรอไปข้างหน้า 2018 และ NVIDIA ตอนนี้มี cuDNN 7.x สำหรับดาวน์โหลด ขั้นตอนการติดตั้งยังคงคล้ายกับที่อธิบายโดย @GPrathap แต่ถ้าคุณต้องการแทนที่เวอร์ชั่น cuDNN เก่าด้วยอันใหม่กว่าคุณต้องลบมันออกก่อนที่จะทำการติดตั้ง
วิธีการสรุป:
ขั้นตอนที่ 0 ตรวจสอบว่าคุณได้ติดตั้งชุดเครื่องมือ CUDA แล้ว ดำเนินการกับการติดตั้งชุดเครื่องมือ CUDA หากคุณยังไม่มี
ขั้นตอน 1. ไปที่พอร์ทัลผู้พัฒนา NVIDIA https://developer.nvidia.com/cudnnและดาวน์โหลด cuDNN
ขั้นตอนที่ 2 หากคุณเคยติดตั้ง cuDNN มาก่อนให้ลบออก
sudo dpkg -r <old-cudnn-runtime>.deb
sudo dpkg -r <old-cudnn-dev>.deb
ขั้นตอน 3. ติดตั้งไลบรารี cuDNN (รันไทม์, dev, doc) โดยใช้ dpkg
sudo dpkg -i <new-cudnn-runtime>.deb
sudo dpkg -i <new-cudnn-dev>.deb
sudo ldconfig
ขั้นตอนที่ 4 หากคุณต้องการค้นหาตำแหน่งที่ติดตั้งไลบรารีคุณสามารถอัพเดตดัชนีการค้นหาแล้วค้นหาตำแหน่งไลบรารี
sudo updatedb
locate libcudnn
หากคุณติดตั้ง cuDNN 7.x โดยเฉพาะกับชุดเครื่องมือ CUDA 9.1 บทความนี้จะให้รายละเอียดเพิ่มเติมที่สามารถช่วยได้: http://tech.amikelive.com/node-679/quick-tip-installing-cuda-deep- ประสาทเครือข่าย-7-cudnn-7-x-ห้องสมุดสำหรับ CUDA-เครื่องมือ-9-1-on-อูบุนตู-16-04 /
cuDNN v7 can coexist with previous versions of cuDNN, such as v5 or v6.
นอกจากนี้คุณยังสามารถดาวน์โหลดแพ็คเกจ deb สำหรับ Debian based distributions
จากหน้าเว็บ NVIDIA สำหรับโปรไฟล์นักพัฒนาจะมีไฟล์ถัดไป:
ฉันทดสอบสิ่งนี้กับเครื่องของฉันด้วย Debian (Stretch) และ TensorFlow ทำงานได้!
การเพิ่มรายละเอียดที่สำคัญไปยังคำตอบที่ถูกต้องโดย @Martin Thoma และ @ ÍhorMé: หลังจากคัดลอกไฟล์ libcudnn ไปยังไดเรกทอรี cuda คุณต้องอัปเดตไฟล์. bashrc ของคุณ:
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/cuda/lib64:/usr/local/cuda/extras/CUPTI/lib64"
export CUDA_HOME=/usr/local/cuda
จากนั้นคุณต้องเพิ่มไดเร็กทอรี include ลงในไฟล์ config ใด ๆ ที่ใช้งาน Caffe เช่นมีไฟล์ปรับแต่งที่คุณต้องแก้ไขก่อนทำการคอมไพล์ด้วย make สำหรับสิ่งนี้แก้ไข caffe / Makefile.config เพื่อเพิ่มพา ธ ไปยังตัวแปร config เหล่านี้ (เพิ่มช่องว่างระหว่างพา ธ ):
INCLUDE_DIRS: /usr/local/caffe/cuda/include/
LIBRARY_DIRS: /usr/local/cuda/lib64/
สำหรับหน้าต่างเทอร์มินัลปัจจุบันที่คุณต้องการให้การเปลี่ยนแปลงเหล่านี้มีผลบังคับใช้อย่าลืมเรียกใช้ไฟล์หนึ่งครั้ง!
. ~/.bashrc
คำตอบนั้นถูกต้อง แต่สำหรับ cuDNN 5.1 บางชื่อมีการเปลี่ยนแปลง ดังนั้นหากคุณใช้เวอร์ชันนี้หลังจากแตกไฟล์ cuDNN คุณจะพบสองโฟลเดอร์: lib และ include เปลี่ยนชื่อของไฟล์ * .h ในรวมถึงโฟลเดอร์ cudnn.h แล้วทำตามhttps://askubuntu.com/a/767270/641589 การเปลี่ยนแปลงนี้เป็นสิ่งจำเป็นหากคุณต้องการใช้ cuDNN สำหรับ Caffe!
ใน 16.04 หากคุณติดตั้ง CUDA โดยตรงจากเว็บไซต์ของ Nvidia และคุณกำลังสร้าง Tensorflow จากแหล่งที่มาคุณสามารถระบุไดเรกทอรีที่คุณต้องการระบุว่าเป็น Cudnn ได้ โดยค่าเริ่มต้นคือ:
/usr/include/x86_64-linux-gnu
เมื่อคุณกำลังสร้าง Tensorflow มันจะถามคุณว่าคุณต้องการใช้เวอร์ชั่นใดสำหรับ Cudnn หลังจากนั้นมันจะถามว่ามันอยู่ที่ไหน เพียงระบุไดเรกทอรีข้างต้นและมันจะทำงานได้ดี มันควรสร้างไฟล์ล้อ ณ จุดนั้นและคุณสามารถติดตั้งได้ด้วย pip