ใน Windows การเรียกใช้“ import tensorflow” จะสร้างข้อผิดพลาด No module ชื่อ“ _pywrap_tensorflow”


คำตอบ:


78

ปัญหาคือไลบรารี cuDNN สำหรับฉัน - ไม่ว่าด้วยเหตุผลใดก็ตาม cudnn-8.0-windows10-x64-v6.0 ไม่ทำงาน - ฉันใช้ cudnn-8.0-windows10-x64-v5.1 - ดีทั้งหมด!

การตั้งค่าของฉันทำงานกับ Win10 64 และ Nvidia GTX780M:

  • ตรวจสอบให้แน่ใจว่าคุณมี lib MSVCP140.DLL โดยตรวจสอบระบบ / เส้นทางของคุณ - หากไม่ได้รับที่นี่
  • เรียกใช้ตัวติดตั้ง windows สำหรับ python 3.5.3-amd64 จากที่นี่ - อย่าลองเวอร์ชันที่ใหม่กว่าเพราะอาจใช้ไม่ได้
  • รับ cuDNN v5.1 สำหรับ CUDA 8.0 จากที่นี่ - วางไว้ในโฟลเดอร์ผู้ใช้ของคุณหรือในตำแหน่งอื่นที่รู้จัก (คุณจะต้องใช้สิ่งนี้ในเส้นทางของคุณ)
  • รับ CUDA 8.0 x86_64 จากที่นี่
  • ตั้งค่า PATH vars ตามที่คาดไว้เพื่อชี้ไปที่ cuDNN libs และ python (ควรเพิ่มพา ธ python ระหว่างการติดตั้ง python)
  • ตรวจสอบให้แน่ใจว่า ".DLL" รวมอยู่ในตัวแปร PATHEXT ของคุณ
  • หากคุณใช้ tensorflow 1.3 คุณต้องการใช้ cudnn64_6.dll github.com/tensorflow/tensorflow/issues/7705

หากคุณใช้ Windows 32 อย่าลืมดาวน์โหลดไฟล์เวอร์ชัน 32 บิตที่กล่าวถึงข้างต้น


8
ส่วนใหญ่อาจเห็นได้ชัด แต่ CUDA DLL คือ 'cudnn64_5.dll' และโฟลเดอร์ที่อยู่ในนั้นจะต้องอยู่ในเส้นทาง .. ไม่ใช่โฟลเดอร์หลัก ฉันทิ้งมันลงใน '% USERPROFILE% \ AppData \ Local \ cuda \ bin;'
Awesomeness

6
หลังจากที่คุณเพิ่มลงใน PATH อย่าลืมปิดพรอมต์คำสั่งของคุณแล้วเปิดอีกครั้ง นอกจากนี้คุณควรพิมพ์ "cudnn64_5.dll" ลงในพรอมต์คำสั่งเพื่อให้แน่ใจว่าคุณตั้งค่าเส้นทางได้ถูกต้อง
Sean Colombo

9
ฉันใช้เวลาเพียง 4 ชั่วโมงในการดีบักสิ่งนี้หากคุณใช้ tensorflow 1.3 คุณต้องการใช้ cudnn64_6.dll github.com/tensorflow/tensorflow/issues/7705
Chris Barrett

2
ความคิดเห็นของ Chris Barret แก้ไขได้ - หากคุณกำลังติดตั้งหลังจากเดือนสิงหาคม 2017 มีโอกาสที่คุณจะต้องมี cuDNN v6,0 ไม่ใช่ 5 หรือ 7
user1761806

2
ในกรณีของฉัน python 3.5.4 ก็ใช้งานได้เช่นกัน และฉันไม่สามารถติดตั้ง cuda 8.0 ได้จนกว่าจะลบ vs17 และติดตั้ง visual studio 15 (win10) มันไร้สาระจริงๆที่ฉันต้องค้นหาและติดตั้งเวอร์ชันเก่าทีละรายการ
margincall

21

ในกรณีของฉันไฟล์ "cudnn64_6.dll" ในโฟลเดอร์ / bin ต้องเปลี่ยนชื่อเป็น "cudnn64_5.dll" เพื่อให้ข้อผิดพลาดหายไป ฉันใช้เวลาสองชั่วโมงในการคิดออกอย่างง่ายดายและฉันก็ทำตามคู่มือการติดตั้งอย่างเป็นทางการของจดหมาย นี่เป็นเรื่องจริงสำหรับการติดตั้งผ่าน pip (รองรับอย่างเป็นทางการ) และ conda (รองรับโดยชุมชน)


1
นี่เป็นกรณีของฉัน TensorFlow ต้อง "cuDNN v5.1" แต่ถ้าคุณติดตั้ง cuDNN v6.0 แล้วชื่อไฟล์ของไฟล์ dll ที่ cudnn จะไม่ได้cudnn64_6.dll cudnn64_5.dll
Naetmul

1
หากคุณใช้ tensorflow 1.3 คุณต้องการใช้ cudnn64_6.dll github.com/tensorflow/tensorflow/issues/7705
Chris Barrett

ฉันใช้ tensorflow 1.3 และฉันต้องเปลี่ยนจาก cudnn64_7.dll (เวอร์ชันใหม่ล่าสุดตอนนี้) เป็น cudnn64_6.dll ตามที่ @ChrisBarrett บอกเพื่อให้ใช้งานได้
Javier Cabero

1
ในกรณีของการ tensorflow 1.3 และ cudNN 7 ในทำนองเดียวกันการเปลี่ยนชื่อcudnn64_7.dllที่จะcudnn64_6.dllช่วยให้
Smarty77

12

ข้อผิดพลาดอย่างใดอย่างหนึ่งบ่งชี้ว่าระบบของคุณไม่ได้ติดตั้งMSVCP140.DLLซึ่ง TensorFlow ต้องการ

ในการแก้ไขข้อผิดพลาดนี้:

  1. พิจารณาว่าMSVCP140.DLLอยู่ใน%PATH%ตัวแปรของคุณหรือไม่
  2. ถ้าMSVCP140.DLLไม่ได้อยู่ในของคุณ%PATH%ให้ติดตั้ง Visual C ++ 2015 redistributable (รุ่น x64) ซึ่งมี DLL นี้

1
สิ่งนี้อาจแก้ไขปัญหาของเขาได้หรือไม่ก็ได้ (ขึ้นอยู่กับ CPU vs GPU) และแม้ว่า windows dll จะเป็นสิ่งจำเป็น แต่ก็อาจเป็นปัญหาอื่นเช่นกัน - ดูคำตอบด้านล่าง ฉันไม่มีปัญหากับ windows dll แต่มีปัญหากับ cuDNN v6.0
DropHit

7
คุณสามารถตรวจสอบว่า MSVCP140.dll อยู่ในเส้นทางของคุณหรือไม่โดยพิมพ์คำสั่งต่อไปนี้ที่พรอมต์คำสั่ง: โดยที่ MSVCP140.DLL
nickandross

ลิงก์นี้จะนำคุณไปยังเวอร์ชัน 2010 เราตั้งเป้าไว้ที่เวอร์ชั่น 2015 หรือ 2010?
DAG

11

ฉันมี Win7 Pro 64 บิตบนซีพียู AMD ไม่มี GPU ผมก็ทำตามคำแนะนำภายใต้ "การติดตั้งกับ pip แม่" ที่https://www.tensorflow.org/install/install_windows ขั้นตอนการติดตั้งทำได้ดี แต่ความพยายามในการนำเข้าเทนเซอร์โฟลว์ทำให้เกิดความเสียหาย

ImportError: No module named '_pywrap_tensorflow_internal'

นี่ดูเหมือนจะเป็นหนึ่งในสถานการณ์เหล่านั้นที่สิ่งที่ไม่เกี่ยวข้องหลายอย่างอาจผิดพลาดได้ขึ้นอยู่กับการกำหนดค่าซึ่งทั้งหมดเรียงซ้อนกันไปสู่ข้อผิดพลาดเดียวกัน

ในกรณีของฉันการติดตั้ง MSVCP140.DLL คือคำตอบ

คุณมีMSVCP140.DLLแล้วถ้า

  1. คุณมีไฟล์C:\Windows\System32\MSVCP140.DLLAND
  2. หากคุณมีระบบ 64 บิตคุณจะมีC:\Windows\SysWOW64\MSVCP140.DLLไฟล์.

ฉันติดตั้งด้วยตนเองซึ่งไม่จำเป็น (แจกจ่ายต่อได้ไม่ใช่ความยุ่งเหยิงในการพัฒนา Visual C ++ ทั้งหมดและไม่ใหญ่) ใช้ลิงก์ที่โพสต์ก่อนหน้านี้ในเธรดนี้เพื่อติดตั้ง: Visual C ++ 2015 แจกจ่ายต่อได้

นอกจากนี้ฉันขอแนะนำให้คุณแทนที่ไดเร็กทอรีการติดตั้งเริ่มต้นสำหรับ Python และวางไว้ที่ใดก็ได้ที่ไม่อยู่ภายใต้C:\Program Filesเนื่องจาก Windows พยายามเขียนป้องกันไฟล์ที่นั่นซึ่งทำให้เกิดปัญหาในภายหลัง


10

สำหรับเทนเซอร์โฟลว์กับ CPU เท่านั้น:


ฉันติดตั้งเทนเซอร์โฟลว์โดยใช้คำสั่ง:

pip3 install --upgrade tensorflow

สิ่งนี้ติดตั้งแล้วtensorflow 1.7
แต่ไม่สามารถนำเข้าเทนเซอร์โฟลว์จากการpython 3.6.5 amd64ใช้:

import tensorflow as tf

ดังนั้นฉันจึงดาวน์เกรดเวอร์ชันเทนเซอร์โฟลว์จาก1.7เป็น1.5โดยใช้คำสั่งต่อไปนี้:

pip3 install tensorflow==1.5

1.5นี้ถอนการติดตั้งรุ่นก่อนหน้านี้และติดตั้ง ตอนนี้ใช้งานได้แล้ว

ดูเหมือนว่าCPUของฉันไม่รองรับชุดคำสั่ง AVXที่จำเป็นในtensorflow 1.7

ฉันมีMSVCP140.DLLในโฟลเดอร์ระบบและ. DLL ในตัวแปร PATHEXT ใน Environment Variable


ระบบของฉัน: Windows 8.1, Python 3.6.5 64 Bit, ไม่มี GPU
Rakibul Haq

อาจต้องได้รับการอัปเดตเนื่องจากตั้งแต่เวอร์ชัน 2.0.0, tensorflow-gpu ถูกรวมเข้ากับการติดตั้งปกติ - ดูที่นี่: github.com/fo40225/tensorflow-windows-wheel บางทีคุณอาจต้องการพิจารณาคำตอบของฉันที่นี่ซึ่งความเข้ากันได้ระหว่างต่างกัน มีการอธิบายเวอร์ชันของ python และ tensorflow: stackoverflow.com/questions/45749992/…
Cadoiz

7

TensorFlowต้องการMSVCP140.DLLซึ่งอาจไม่ได้ติดตั้งในระบบของคุณ ในการแก้ปัญหาให้เปิด Terminal en พิมพ์หรือวางลิงค์นี้:

C:\> pip install --upgrade https://storage.googleapis.com/tensorflow/windows/cpu/tensorflow-1.0.0-cp35-cp35m-win_amd64.whl 

โปรดทราบว่านี่คือการติดตั้ง TensorFlow เวอร์ชัน CPU เท่านั้น


สำหรับการกำหนดค่าของฉันไบนารีที่ใช้งานได้คือstorage.googleapis.com/tensorflow/windows/cpu/… - ตรวจสอบpypi.python.org/pypi/tensorflowสำหรับไบนารีในตัวที่มีอยู่ ฉันตรวจสอบสองสามรายการจนกระทั่ง "นำเข้าเทนเซอร์โฟลว์เป็น tf" สำเร็จ
เดวิด

7

cuDNN ทำให้เกิดปัญหาของฉัน ตัวแปร PATH ใช้ไม่ได้สำหรับฉัน ฉันต้องคัดลอกไฟล์ในโฟลเดอร์ cuDNN ของฉันไปยังโครงสร้างโฟลเดอร์ CUDA 8.0 ที่เกี่ยวข้อง


6

สำหรับผู้ที่ใช้ฮาร์ดแวร์รุ่นเก่า:

คุณอาจได้รับข้อผิดพลาดเดียวกันนี้เนื่องจากมี CPU รุ่นเก่าที่ใช้ tensorflow-gpu 1.6

หากซีพียูของคุณสร้างขึ้นก่อนปี 2011 เวอร์ชันสูงสุดของคุณคือ tensorflow-gpu คือ 1.5

Tensorflow 1.6 ต้องการคำแนะนำ AVX บน cpu ของคุณ ตรวจสอบแล้วที่นี่: เอกสาร Tensorflow Github

ซีพียูที่เปิดใช้งาน AVX: ซีพียู Wiki AVX

สิ่งที่ฉันทำในสภาพแวดล้อม conda สำหรับเทนเซอร์โฟลว์:

pip install --ignore-installed --upgrade tensorflow-gpu==1.5

4

ปัญหาสำหรับฉันคือไลบรารี cuDNN ซึ่งไม่ตรงกับความต้องการของกราฟิกการ์ด ฉันดาวน์โหลดเวอร์ชัน 6.0 แต่สำหรับ GTX980ti ของฉัน แต่ความสามารถในการประมวลผลที่แนะนำบนเว็บไซต์ nvidia คือ 5.1 ( http://developer.nvidia.com/cuda-gpus ) ดังนั้นฉันจึงดาวน์โหลด 5.1 และแทนที่เวอร์ชัน 6.0 และทันทีที่ฉัน ' เสร็จแล้วมันก็เริ่มทำงาน


4

หลังจากลองผิดลองถูกและตรวจสอบให้แน่ใจว่าVC ++ 2015 Redistributable , cuDNN DLL และการอ้างอิงอื่น ๆ ทั้งหมดสามารถเข้าถึงได้จาก PATH ดูเหมือนว่าTensorflow GPU จะใช้งานได้กับ Python เท่านั้น3.5.2(ณ ที่เขียนนี้)

ดังนั้นหากคุณใช้ Anaconda

  • conda create -n tensorflow-gpu python=3.5.2
  • activate tensorflow-gpu
  • pip install tensorflow-gpu

จากนั้นเปิดตัวแปล python และตรวจสอบ

>>> import tensorflow as tf
>>> sess = tf.Session(config=tf.ConfigProto(log_device_placement=True))

พบอุปกรณ์ 0 ที่มีคุณสมบัติ:
ชื่อ: GeForce 940M
major: 5 minor: 0
memoryClockRate (GHz) 1.176
pciBusID 0000: 06
: 00.0 หน่วยความจำทั้งหมด: 2.00GiB
หน่วยความจำว่าง: 1.66GiB

เครดิต: คำแนะนำที่เป็นระเบียบนี้


4

สำหรับแต่ละเวอร์ชันของ Tensorflow ต้องใช้ CuDnn เวอร์ชันที่แตกต่างกัน ในwww.tensorflow.orgพวกเขาไม่ได้กล่าวถึงเรื่องนั้นในคู่มือการติดตั้ง!

ฉันใช้กรณี tensorflow รุ่น 1.3 ซึ่งใช้ cuDNN 6. https://github.com/tensorflow/tensorflow/releases

โปรดตรวจสอบเวอร์ชัน tenorfow และเวอร์ชัน cuDNN ของคุณว่าตรงกันหรือไม่

และโปรดสภาพแวดล้อมเส้นทางการตั้งค่าสำหรับ cuDNN ถ้ามันยังไม่ทำงานโปรดตรวจสอบคำตอบจาก @ คริสฮัน


3

ฉันโพสต์วิธีการทั่วไปสำหรับการแก้ไขปัญหา "การโหลด DLL ล้มเหลว" ในโพสต์นี้ในระบบ Windows สำหรับการอ้างอิง:

  1. ใช้Dependenciesตัววิเคราะห์การพึ่งพา DLL เพื่อวิเคราะห์<Your Python Dir>\Lib\site-packages\tensorflow\python\_pywrap_tensorflow_internal.pydและกำหนด DLL ที่ขาดหายไปอย่างแน่นอน (ระบุโดย?ข้าง DLL) เส้นทางของไฟล์. pyd ขึ้นอยู่กับ TensorFlow 1.9 GPU เวอร์ชันที่ฉันติดตั้ง ฉันไม่แน่ใจว่าชื่อและเส้นทางเหมือนกันใน TensorFlow เวอร์ชันอื่นหรือไม่

  2. ค้นหาข้อมูลของ DLL ที่หายไปและติดตั้งแพ็คเกจที่เหมาะสมเพื่อแก้ไขปัญหา


1
ฉันชอบแนวทางนี้เนื่องจากแสดงให้เห็นอย่างชัดเจนว่า dll ใดหายไป พบว่า tensorflow 1.11 กำลังมองหา CUDA 9 dlls และดูเหมือนว่าจะไม่ค้นหา CUDA 10 libraries
padmalcom

1
ขอบคุณมากสำหรับข้อเสนอแนะ! ในเครื่องของฉันปัญหาคือ tensorflow กำลังมองหา DLL ที่มาพร้อมกับ CUDA tookit v9 แต่ฉันติดตั้ง CUDA toolkit v10
Floris Devreese

สิ่งนี้มีประโยชน์อย่างเหลือเชื่อ ขอให้สังเกตว่าคุณต้องเลือกติดกับชื่อไฟล์แทนเพียงAll files (*.*) exe files (*.exe, *.dll)
Cadoiz

2

อาจถูกล่อลวงให้เปิด Powershell / cmd บน Windows ฉันใช้เวลาพอสมควรจนตัดสินใจปิดและเปิด Powershell อีกครั้งเพื่อให้รู้ว่าฉันทำทุกอย่างถูกต้องแล้ว


2

ในกรณีที่คุณพยายามติดตั้ง tensorflow GPU ใน Windows คุณจะพบสิ่งนี้กวดวิชาที่น่าสนใจได้ง่าย

หมายเหตุ: หากคุณใช้ PyCharm ตัวอย่างเช่นคุณต้องเปลี่ยนล่ามเป็นสภาพแวดล้อม conda ที่สร้างขึ้น


1

ไม่พบ dll ติดตั้ง Visual C ++ 2015 ที่แจกจ่ายต่อได้เพื่อแก้ไข


ไม่แน่ใจว่าสิ่งนี้ครอบคลุมทั้งหมด - ขึ้นอยู่กับสถานการณ์ - ดูคำตอบด้านบนที่เกี่ยวข้องกับ cuDNN v6.0 - อาจต้องการรวมลิงก์ไปยัง lib ที่คุณพูดถึง (ซึ่งฉันจะทำที่นี่microsoft.com/en-us/download/ details.aspx? id = 48145เทียบกับข้อความแจ้งด่วนนี้ :)
DropHit

1

ปัญหาคือห้องสมุด cuDNN สำหรับฉัน ฉันสามารถเรียกใช้รหัสทดสอบได้หลังจากเพิ่มไดเร็กทอรี (อาจเป็นโฟลเดอร์ bin) ของ cuDNN DLL (ไม่ใช่ไฟล์ LIB) ใน Windows PATH

สำหรับการอ้างอิงฉันติดตั้ง TensorFlow จากแหล่งที่มาโดยใช้ PIP และระบบปฏิบัติการของฉัน: Windows 7 และ IDE: Visual Studio 2015


1

ด้วย TensorFlow รุ่น 1.3.0 คุณต้องใช้ Cudnn 6.0 แทน Cudnn 5.0 เนื่องจาก Cudnn 5.0 ให้ข้อผิดพลาดนี้ อย่าลืมเพิ่มตัวแปรเส้นทางไปยัง Cudnn 6.0 ด้วย cudnn64_6.dll Tensorflow ของคุณจะทำงานได้ดี อ่านลิงค์ด้านล่าง https://github.com/tensorflow/tensorflow/blob/master/RELEASE.md#release-130


1

สองเซ็นต์ของฉัน:

ฉันมีปัญหามากมายในการพยายามติดตั้ง CUDA 8.0 อย่างถูกต้องบน Windows 7 ฉันติดตั้งเวอร์ชันก่อนหน้าและต้องการอัปเกรดดังนั้นฉันจึงถอนการติดตั้งและพยายามติดตั้ง CUDA 8.0 (สำหรับ tensorflow 1.3) การติดตั้งล้มเหลวทุกครั้งฉันพยายามดาวน์เกรดเป็น CUDA 7.5 และสามารถติดตั้งได้ แต่มีปัญหามากมายเกี่ยวกับเทนเซอร์โฟลว์ (คล้ายกับปัญหา PATH ที่อธิบายไว้ที่นี่) เรื่องสั้นสั้น: สิ่งที่ได้ผลสำหรับฉันคือ:

1) ถอนการติดตั้งส่วนประกอบ NVIDIA ทุกตัว (ยกเว้นไดรเวอร์กราฟิกที่แสดง)

2) ดาวน์โหลด CUDA toolkit 8.0 (และแพทช์) https://developer.nvidia.com/cuda-downloads

3) ตรวจสอบ CheckSum MD5 (ฉันใช้ MS https://www.microsoft.com/en-ca/download/confirmation.aspx?id=11533แต่จะทำอะไรก็ได้) เพื่อให้แน่ใจว่าใช้ได้ (เกิดขึ้นหลายครั้ง โปรแกรมติดตั้งไม่ได้ทำการโหลดอย่างถูกต้องเนื่องจากเราเตอร์ WiFi ของฉันเห็นได้ชัด)

4) เรียกใช้ตัวติดตั้งชุดเครื่องมือ CUDA ในฐานะรูท

5) ดาวน์โหลด cudnn 8.0 v6 และเพิ่มตำแหน่งลงในตัวแปร PATH https://developer.nvidia.com/rdp/cudnn-download

หวังว่าจะช่วยและประหยัดอาการปวดหัวได้บ้าง ...

หมายเหตุ: สคริปต์นี้ช่วยฉันได้มากในการแก้ไขปัญหา! (ขอบคุณ mrry) https://gist.github.com/mrry/ee5dbcfdd045fa48a27d56664411d41c


1

ฉันจะพยายามให้วิธีแก้ปัญหาที่ได้ผลสำหรับฉัน ดูเหมือนว่าปัญหาที่แตกต่างกันอาจนำไปสู่สถานการณ์นี้

ซอฟต์แวร์ 32 บิตทำงานในระบบปฏิบัติการ 64 บิต ฉันติดตั้ง anaconda-3 (32 บิต) ในระบบปฏิบัติการ 64 บิตของฉัน มันทำงานได้ดีอย่างสมบูรณ์ ฉันตัดสินใจติดตั้งเทนเซอร์โฟลว์ในเครื่องของฉันและมันจะไม่ติดตั้งในตอนแรก ฉันใช้สภาพแวดล้อม conda เพื่อติดตั้งเทนเซอร์โฟลว์และได้รับข้อผิดพลาดนี้

การแก้ปัญหาคือถ้าคุณกำลังเรียก 64 bit OS, ติดตั้งงู 64 บิตและถ้า 32 bit OS แล้วงู จากนั้นทำตามขั้นตอนมาตรฐานที่กล่าวถึงในเว็บไซต์ tensorflow สำหรับ windows (การติดตั้ง anaconda) สิ่งนี้ทำให้สามารถติดตั้งเทนเซอร์โฟลว์ได้โดยไม่มีปัญหา


1

คำตอบของฉันคือสำหรับผู้ใช้ windows 10 เท่านั้นเมื่อฉันได้ลองทำสิ่งต่อไปนี้บน windows 10 การขยายคำตอบบางส่วนข้างต้นฉันขอแนะนำสิ่งนี้: หากคุณใช้ anaconda คุณสามารถหลีกเลี่ยงทุกสิ่งและเพียงแค่ติดตั้งanaconda-navigatorโดยใช้คำสั่ง

conda install -c anaconda anaconda-navigator

จากนั้นคุณสามารถเรียกใช้เนวิเกเตอร์จากพรอมต์คำสั่งโดยใช้คำสั่ง

anaconda-navigator

ในการเรียกใช้คำสั่งนี้คุณจะได้รับ gui ง่ายๆที่คุณสามารถสร้างสภาพแวดล้อมเสมือนสร้างสภาพแวดล้อมด้วย python = 3.5.2 และติดตั้งโมดูล tensorflow-gpu หรือ tensorflow โดยค้นหาโมดูลในช่องค้นหาโดยใช้ gui มันจะดูแลด้วย ของการติดตั้งไฟล์ cuda ที่ถูกต้องสำหรับคุณ การใช้อนาคอนดาเนวิเกเตอร์เป็นวิธีที่ง่ายที่สุด

หากคุณไม่ได้ใช้งูใหญ่ให้ดูแลสิ่งต่อไปนี้

tensorflow-gpu 1.3 ต้องใช้ python 3.5.2, cuda development kit 8.0 และ cudaDNN 6.0 ดังนั้นเมื่อติดตั้งตรวจสอบให้แน่ใจว่าคุณรันคำสั่ง

pip install tensorflow-gpu==1.3

tensorflow-gpu 1.2.1 หรือน้อยกว่าต้องใช้ python 3.5.2, cuda development kit 8.0 และ cudaDNN 5.1 ดังนั้นเมื่อทำการติดตั้งตรวจสอบให้แน่ใจว่าคุณรันคำสั่ง

pip install tensorflow-gpu==1.2.1

ด้านล่างนี้เป็นขั้นตอนที่คุณต้องปฏิบัติตามสำหรับทั้งสองกระบวนการข้างต้นการตั้งค่าตัวแปรเส้นทางของคุณคุณต้องมีตัวแปรระบบดังต่อไปนี้

CUDA_HOME = "C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0"
CUDA_PATH = "C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0"
CUDA_PATH_V8.0 = "C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0"

PATHTEXT ของคุณต้องมี ".DLL" พร้อมกับส่วนขยายอื่น ๆ

".COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC;.PY;.DLL"

เพิ่มสิ่งต่อไปนี้ในเส้นทางของคุณด้วย

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\lib\x64
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\extras\CUPTI\libx64;
C:\Windows\SysWOW64;
C:\Windows\System32        

หากคุณได้รับข้อผิดพลาดคุณสามารถดาวน์โหลดรันโค้ดด้านล่างโดย mrry รหัสนี้จะตรวจสอบการตั้งค่าของคุณและบอกคุณว่ามีบางอย่างผิดปกติหรือไม่ https://gist.github.com/mrry/ee5dbcfdd045fa48a27d56664411d41c

อ้างอิง: http://blog.nitishmutha.com/tensorflow/2017/01/22/TensorFlow-with-gpu-for-windows.html

การอ้างอิงข้างต้นมีประโยชน์มาก โปรดแสดงความคิดเห็นเพื่อปรับปรุงคำตอบนี้ หวังว่านี่จะช่วยได้ขอบคุณ


ตัวเลือก anaconda ฟังดูดี แต่ดูที่anaconda.org/anaconda/tensorflow-gpuเวอร์ชัน tensorflow-gpu สำหรับ windows น่าจะเป็น 1.1 วิธีใดในการรับ 1.3 ผ่าน anaconda?
ftiaronsem

@ftiaronsem ไม่มีวิธีติดตั้ง 1.3 โดยใช้ anaconda-navigator ถ้าคุณต้องการ 1.3 จากนั้นไปที่ลิงค์อ้างอิงและจดบันทึกเพื่อใช้ cudaDNN 6.0
M2skills

1

tensorflow 1.3 ไม่สนับสนุนCUDA 9.0เลย ฉันลดระดับเป็นcuda 8.0แล้วมันใช้งานได้


1

สำหรับผู้ที่พบโพสต์นี้ในปี 2019 ข้อผิดพลาดนี้อาจเกิดขึ้นได้เนื่องจาก Python เวอร์ชัน 3.7 ไม่รองรับ TensorFlow (ดูhttps://www.tensorflow.org/install/pip ) ดังนั้นตรวจสอบเวอร์ชัน Python:

python --version

ในกรณีที่มีขนาดใหญ่กว่า 3.6 ควรลดระดับเป็น 3.6 สำหรับอนาคอนดา:

conda install python=3.6

จากนั้นติดตั้ง TensorFlow

pip install tensorflow

แต่ฉันไม่มีเวอร์ชั่น GPU ดังนั้นจึงไม่มีปัญหาที่เกี่ยวข้องกับ CUDA ในกรณีของฉัน


1
ฉันทำเช่นนั้นฉันยังคงต้อง
เจอ

สิ่งนี้ใช้ได้ผลกับฉันในคอมพิวเตอร์สองเครื่องที่นักเรียนใช้ เรายังคงพบปัญหาหลังจากลองวิธีแก้ไขปัญหาข้างต้น ในกรณีของคุณอาจเป็นสถานการณ์ที่อธิบายไว้ข้างต้น
Catalin Stoean

0

วิ่งเข้าไปในปัญหาเดียวกัน ( ใน2019/09/09 ) ขณะที่การสืบสวน[SO]: ข้อผิดพลาดในขณะที่การฝึกอบรมโดยใช้ API ประมาณการใน tensorflow

ติดตั้ง:

ข้อผิดพลาด :

[cfati@CFATI-5510-0:e:\Work\Dev\StackOverflow\q057588589]> "e:\Work\Dev\VEnvs\py_064_03.07.03_test0\Scripts\python.exe" -c "import tensorflow as tf"
Traceback (most recent call last):
  File "e:\Work\Dev\VEnvs\py_064_03.07.03_test0\lib\site-packages\tensorflow\python\pywrap_tensorflow.py", line 58, in <module>
    from tensorflow.python.pywrap_tensorflow_internal import *
  File "e:\Work\Dev\VEnvs\py_064_03.07.03_test0\lib\site-packages\tensorflow\python\pywrap_tensorflow_internal.py", line 28, in <module>
    _pywrap_tensorflow_internal = swig_import_helper()
  File "e:\Work\Dev\VEnvs\py_064_03.07.03_test0\lib\site-packages\tensorflow\python\pywrap_tensorflow_internal.py", line 24, in swig_import_helper
    _mod = imp.load_module('_pywrap_tensorflow_internal', fp, pathname, description)
  File "e:\Work\Dev\VEnvs\py_064_03.07.03_test0\lib\imp.py", line 242, in load_module
    return load_dynamic(name, filename, file)
  File "e:\Work\Dev\VEnvs\py_064_03.07.03_test0\lib\imp.py", line 342, in load_dynamic
    return _load(spec)
ImportError: DLL load failed: The specified module could not be found.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "e:\Work\Dev\VEnvs\py_064_03.07.03_test0\lib\site-packages\tensorflow\__init__.py", line 24, in <module>
    from tensorflow.python import pywrap_tensorflow  # pylint: disable=unused-import
  File "e:\Work\Dev\VEnvs\py_064_03.07.03_test0\lib\site-packages\tensorflow\python\__init__.py", line 49, in <module>
    from tensorflow.python import pywrap_tensorflow
  File "e:\Work\Dev\VEnvs\py_064_03.07.03_test0\lib\site-packages\tensorflow\python\pywrap_tensorflow.py", line 74, in <module>
    raise ImportError(msg)
ImportError: Traceback (most recent call last):
  File "e:\Work\Dev\VEnvs\py_064_03.07.03_test0\lib\site-packages\tensorflow\python\pywrap_tensorflow.py", line 58, in <module>
    from tensorflow.python.pywrap_tensorflow_internal import *
  File "e:\Work\Dev\VEnvs\py_064_03.07.03_test0\lib\site-packages\tensorflow\python\pywrap_tensorflow_internal.py", line 28, in <module>
    _pywrap_tensorflow_internal = swig_import_helper()
  File "e:\Work\Dev\VEnvs\py_064_03.07.03_test0\lib\site-packages\tensorflow\python\pywrap_tensorflow_internal.py", line 24, in swig_import_helper
    _mod = imp.load_module('_pywrap_tensorflow_internal', fp, pathname, description)
  File "e:\Work\Dev\VEnvs\py_064_03.07.03_test0\lib\imp.py", line 242, in load_module
    return load_dynamic(name, filename, file)
  File "e:\Work\Dev\VEnvs\py_064_03.07.03_test0\lib\imp.py", line 342, in load_dynamic
    return _load(spec)
ImportError: DLL load failed: The specified module could not be found.


Failed to load the native TensorFlow runtime.

See https://www.tensorflow.org/install/errors

for some common reasons and solutions.  Include the entire stack trace
above this error message when asking for help.

เมื่อดูที่โมดูล "ผิดพลาด" (ขอบคุณDependency Walker ) ปรากฎว่าไม่ใช่ตัวมันเองที่หายไป แต่มีการอ้างอิงบางส่วน (ไฟล์cu * _ 100 .dll )

Img0

ตรวจสอบ[SO]: Python Ctypes - การโหลด dll พ่น OSError: [WinError 193]% 1 ไม่ใช่แอปพลิเคชัน Win32 ที่ถูกต้อง (คำตอบของ @ CristiFati) ( ส่วนสรุปในตอนท้าย) สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับข้อผิดพลาดประเภทนี้
ฉันมีCUDA Toolkitเวอร์ชันเก่า ( 8 ) และด้วยเหตุนี้cu * _ 80 .dllไฟล์

การอัพเกรดเป็นTensorFlow-GPU 1. 14 .0 ( "e:\Work\Dev\VEnvs\py_064_03.07.03_test0\Scripts\python.exe" -m pip install --upgrade tensorflow-gpu) ทำให้ข้อผิดพลาดชัดเจนขึ้นเล็กน้อย (และสั้นลงด้วย):

[cfati@CFATI-5510-0:e:\Work\Dev\StackOverflow\q057588589]> "e:\Work\Dev\VEnvs\py_064_03.07.03_test0\Scripts\python.exe" -c "import tensorflow as tf"
Traceback (most recent call last):
  File "e:\Work\Dev\VEnvs\py_064_03.07.03_test0\lib\site-packages\tensorflow\python\platform\self_check.py", line 75, in preload_check
    ctypes.WinDLL(build_info.cudart_dll_name)
  File "c:\install\x64\python\python\03.07.03\Lib\ctypes\__init__.py", line 356, in __init__
    self._handle = _dlopen(self._name, mode)
OSError: [WinError 126] The specified module could not be found

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "e:\Work\Dev\VEnvs\py_064_03.07.03_test0\lib\site-packages\tensorflow\__init__.py", line 28, in <module>
    from tensorflow.python import pywrap_tensorflow  # pylint: disable=unused-import
  File "e:\Work\Dev\VEnvs\py_064_03.07.03_test0\lib\site-packages\tensorflow\python\__init__.py", line 49, in <module>
    from tensorflow.python import pywrap_tensorflow
  File "e:\Work\Dev\VEnvs\py_064_03.07.03_test0\lib\site-packages\tensorflow\python\pywrap_tensorflow.py", line 30, in <module>
    self_check.preload_check()
  File "e:\Work\Dev\VEnvs\py_064_03.07.03_test0\lib\site-packages\tensorflow\python\platform\self_check.py", line 82, in preload_check
    % (build_info.cudart_dll_name, build_info.cuda_version_number))
ImportError: Could not find 'cudart64_100.dll'. TensorFlow requires that this DLL be installed in a directory that is named in your %PATH% environment variable. Download and install CUDA 10.0 from this URL: https://developer.nvidia.com/cuda-90-download-archive

ขั้นตอน :

  • ถอนการติดตั้งCUDA Toolkitรุ่น (ทางเลือก)
  • ติดตั้ง[nVidia.Developer]: CUDA Toolkit 10.0 Archive
    • ให้แน่ใจว่าการติดตั้งV10.0 (ที่นี้TensorFlow-GPUรุ่นได้รับการสร้างขึ้นกับ ) ฉันติดตั้งv10 1 (ซึ่งเป็นเวอร์ชันล่าสุดและเป็นเวอร์ชันที่แนะนำในเวลาตอบรับ) และชื่อ. dllไม่ตรงกัน ( cu * _10 1 .dll ) เนื่องจากฉันไม่ต้องการติดตั้งv10.0ฉันจึงสร้างsymlink s (ที่มีชื่อ "ถูกต้อง") ไปยังไฟล์ที่มีอยู่และมันก็ใช้งานได้ แต่โปรดทราบว่าไม่รองรับ !!! คุณอาจพบพฤติกรรมตลก (รวมถึงการเกิดปัญหา) นี่เป็นวิธีแก้ปัญหา (ง่อย) ( Gainarie )
    • นอกจากนี้จำเป็นต้องใช้ที่เข้ากันได้ (หมายความว่าสำหรับCUDA Toolkitเวอร์ชันเฉพาะ) เวอร์ชันcuDNN ( [nVidia.Developer]: cuDNN Archive ) เป็นสิ่งจำเป็น เพื่อให้สามารถเข้าถึงการดาวน์โหลดURL , nVidiaสมาชิกไม่จำเป็นต้อง

หลังจากขั้นตอนข้างต้นและการตั้งค่าเส้นทางที่ถูกต้องมันใช้งานได้:

[cfati@CFATI-5510-0:e:\Work\Dev\StackOverflow\q057588589]> set PATH=%PATH%;%CUDA_PATH%\bin;f:\Install\x64\NVidia\GPU Computing Toolkit\cuDNN\7.6\bin

[cfati@CFATI-5510-0:e:\Work\Dev\StackOverflow\q057588589]> "e:\Work\Dev\VEnvs\py_064_03.07.03_test0\Scripts\python.exe" -c "import tensorflow;print(\"Success!!!\")"
Success!!!
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.