Trên Windows, chạy “import tensorflow” tạo ra lỗi Không có mô-đun nào có tên “_pywrap_tensorflow”


87

Trên Windows, TensorFlow báo cáo một hoặc cả hai lỗi sau sau khi thực hiện một import tensorflowcâu lệnh:

  • No module named "_pywrap_tensorflow"
  • DLL load failed.

Câu trả lời:


78

Vấn đề là Thư viện cuDNN đối với tôi - vì bất kỳ lý do gì mà cudnn-8.0-windows10-x64-v6.0 KHÔNG hoạt động - Tôi đã sử dụng cudnn-8.0-windows10-x64-v5.1 - TẤT CẢ TỐT!

Thiết lập của tôi hoạt động với Win10 64 và Nvidia GTX780M:

  • Hãy chắc chắn rằng bạn có lib MSVCP140.DLL bằng cách kiểm tra hệ thống / đường dẫn của bạn - nếu không có nó ở đây
  • Chạy trình cài đặt windows cho python 3.5.3-amd64 từ đây - KHÔNG thử các phiên bản mới hơn vì chúng có thể sẽ không hoạt động
  • Nhận cuDNN v5.1 cho CUDA 8.0 từ đây - đặt nó trong thư mục người dùng của bạn hoặc ở một vị trí đã biết khác (bạn sẽ cần cái này trong đường dẫn của mình)
  • Nhận CUDA 8.0 x86_64 từ đây
  • Đặt các vars PATH như mong đợi để trỏ đến libs cuDNN và python (đường dẫn python phải được thêm trong quá trình cài đặt python)
  • Đảm bảo rằng ".DLL" được bao gồm trong biến PATHEXT của bạn
  • Nếu bạn đang sử dụng tensorflow 1.3 thì bạn muốn sử dụng cudnn64_6.dll github.com/tensorflow/tensorflow/issues/7705

Nếu bạn chạy Windows 32, hãy chắc chắn nhận được phiên bản 32 bit của các tệp được đề cập ở trên.


8
Nó có thể rõ ràng đối với hầu hết nhưng CUDA DLL là 'cudnn64_5.dll' và thư mục mà nó đang ở cần phải nằm trong đường dẫn .. không phải thư mục mẹ. Tôi đã bỏ nó vào '% USERPROFILE% \ AppData \ Local \ cuda \ bin;'
Awesomeness

6
Sau khi bạn thêm vào PATH, hãy nhớ đóng dấu nhắc lệnh của bạn và mở lại. Ngoài ra, bạn nên nhập "cudnn64_5.dll" vào dấu nhắc lệnh của mình để đảm bảo rằng bạn đã cài đặt đúng đường dẫn.
Sean Colombo

9
Tôi chỉ dành 4 giờ gỡ lỗi này, nếu bạn đang sử dụng tensorflow 1.3 sau đó bạn muốn sử dụng cudnn64_6.dll github.com/tensorflow/tensorflow/issues/7705
Chris Barrett

2
Bình luận Chris Barret giải quyết nó - nếu bạn đang cài đặt sau tháng 8 năm 2017 rất có thể là bạn sẽ cần cuDNN v6,0 không 5 hoặc 7.
user1761806

2
Trong trường hợp của tôi, python 3.5.4 cũng hoạt động. Và tôi không thể cài đặt cuda 8.0 cho đến khi gỡ bỏ vs17 và cài đặt visual studio 15 (win10). Thật là nực cười khi tôi phải lần lượt tìm và cài đặt các phiên bản cũ.
margincall 14/09/17

21

Trong trường hợp của tôi, tệp "cudnn64_6.dll" trong thư mục / bin phải được đổi tên thành "cudnn64_5.dll" để lỗi biến mất. Tôi dễ dàng dành hai giờ để tìm ra điều này và tôi đã làm theo hướng dẫn cài đặt chính thức cho bức thư. Điều này đúng với cài đặt qua pip (được hỗ trợ chính thức) và conda (được cộng đồng hỗ trợ).


1
Đây là trường hợp của tôi. TensorFlow yêu cầu "cuDNN v5.1" nhưng nếu bạn cài đặt cuDNN v6.0, thì tên tệp của tệp cudnn dll sẽ cudnn64_6.dllkhông cudnn64_5.dll.
Naetmul

1
Nếu bạn đang sử dụng tensorflow 1.3 sau đó bạn muốn sử dụng cudnn64_6.dll github.com/tensorflow/tensorflow/issues/7705
Chris Barrett

Tôi đang sử dụng tensorflow 1.3 và tôi đã phải thay đổi từ cudnn64_7.dll (phiên bản mới nhất hiện tại) thành cudnn64_6.dll như @ChrisBarrett nói để làm cho nó hoạt động.
Javier Cabero

1
Trong trường hợp tensorflow 1.3 và cudNN 7, đổi tên tương tự cudnn64_7.dllđể giải quyết vấn đề cudnn64_6.dll.
Smarty77

12

Một trong hai lỗi chỉ ra rằng hệ thống của bạn chưa được cài đặt MSVCP140.DLLmà TensorFlow yêu cầu.

Để khắc phục lỗi này:

  1. Xác định xem MSVCP140.DLLcó trong %PATH%biến của bạn hay không.
  2. Nếu MSVCP140.DLLkhông có trong của bạn %PATH%, hãy cài đặt Visual C ++ 2015 redistributable (phiên bản x64), có chứa DLL này.

1
Điều này có thể khắc phục hoặc không thể khắc phục sự cố của anh ấy (tùy thuộc vào CPU và GPU) và mặc dù cần sử dụng dll windows, nó cũng có thể là một vấn đề khác - hãy xem câu trả lời bên dưới. Tôi không có vấn đề với các cửa sổ dll nhưng thay vì gặp sự cố với cuDNN v6.0
DropHit

7
Bạn có thể kiểm tra xem MSVCP140.dll có trong đường dẫn của mình hay không bằng cách nhập nội dung sau vào dấu nhắc lệnh: where MSVCP140.DLL
nickandross

Liên kết đưa bạn đến phiên bản 2010. Chúng ta đang hướng tới phiên bản 2015 hay 2010?
DAG

10

Đối với dòng tensorflow chỉ với CPU:


Tôi đã cài đặt tensorflow bằng lệnh:

pip3 install --upgrade tensorflow

Điều này được cài đặt tensorflow 1.7
Nhưng không thể nhập tensorflow từ withing python 3.6.5 amd64bằng cách sử dụng:

import tensorflow as tf

Vì vậy, tôi hạ cấp phiên bản tensorflow từ 1.7để 1.5sử dụng lệnh sau:

pip3 install tensorflow==1.5

Điều này đã gỡ cài đặt phiên bản trước và cài đặt 1.5. Bây giờ nó hoạt động.

Có vẻ như, CPU của tôi không hỗ trợ tập lệnh AVX cần thiết trongtensorflow 1.7

Tôi đã có MSVCP140.DLLtrong các thư mục hệ thống và .DLL trong biến PATHEXT trong Biến môi trường.


hệ thống của tôi: Windows 8.1, Python 3.6.5 64 Bit, Không có GPU.
Rakibul Haq,

Có thể phải được cập nhật, vì kể từ phiên bản 2.0.0, tensorflow-gpu được tích hợp vào cài đặt thông thường - xem tại đây: github.com/fo40225/tensorflow-windows-wheel Có thể bạn muốn xem xét câu trả lời của tôi ở đây, nơi sự tương thích giữa các phiên bản của python và tensorflow được giải thích: stackoverflow.com/questions/45749992/…
Cadoiz

10

Tôi có Win7 Pro 64-bit trên cpu AMD, không có gpu. Tôi đã làm theo hướng dẫn trong "Cài đặt bằng pip gốc" tại https://www.tensorflow.org/install/install_windows . Bước cài đặt diễn ra tốt đẹp nhưng việc cố gắng nhập tensorflow đã tạo ra một tai tiếng:

ImportError: No module named '_pywrap_tensorflow_internal'

Đây dường như là một trong những tình huống mà rất nhiều thứ không liên quan có thể xảy ra sai sót, tùy thuộc vào cấu hình, tất cả đều xảy ra cùng một lỗi.

Trong trường hợp của tôi, cài đặt MSVCP140.DLL là câu trả lời.

Bạn đã có MSVCP140.DLLnếu

  1. bạn có một tệp C:\Windows\System32\MSVCP140.DLL, VÀ
  2. nếu bạn có hệ thống 64 bit, thì bạn cũng có C:\Windows\SysWOW64\MSVCP140.DLL.

Tôi đã cài đặt nó theo cách thủ công, điều này là không cần thiết (redistributable không phải là toàn bộ mớ hỗn độn phát triển Visual C ++ và không lớn). Sử dụng liên kết được đăng trước đó trong chủ đề này để cài đặt nó: Visual C ++ 2015 redistributable .

Ngoài ra, tôi khuyên bạn nên ghi đè thư mục cài đặt mặc định cho Python và đặt nó ở bất kỳ đâu không có trong đó C:\Program Files, vì Windows cố gắng ghi các tệp bảo vệ ở đó, điều này gây ra sự cố sau này.


7

TensorFlowyêu cầu MSVCP140.DLL, có thể không được cài đặt trên hệ thống của bạn. Để giải quyết nó, hãy mở terminal en nhập hoặc dán liên kết này:

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

Lưu ý rằng đây là để cài đặt phiên bản TensorFlow chỉ dành cho CPU.


Đối với cấu hình của tôi, tệp nhị phân đã hoạt động là: storage.googleapis.com/tensorflow/windows/cpu/… - Kiểm tra pypi.python.org/pypi/tensorflow để biết các tệp nhị phân được tạo sẵn có. Tôi đã kiểm tra một vài trong số chúng cho đến khi "nhập tensorflow dưới dạng tf" thành công.
David

7

cuDNN gây ra sự cố của tôi. Biến PATH không hoạt động đối với tôi. Tôi phải sao chép các tệp trong thư mục cuDNN của mình vào cấu trúc thư mục CUDA 8.0 tôn trọng.


6

Đối với những người chạy trên phần cứng cũ hơn:

Bạn có thể gặp lỗi tương tự do CPU cũ hơn sử dụng tensorflow-gpu 1.6.

Nếu cpu của bạn được sản xuất trước năm 2011, thì phiên bản tensorflow-gpu tối đa của bạn là 1,5.

Tensorflow 1.6 yêu cầu hướng dẫn AVX trên cpu của bạn. Đã xác minh tại đây: Tài liệu Tensorflow Github

Các CPU hỗ trợ AVX: Các CPU Wiki AVX

Những gì tôi đã làm trong môi trường căn hộ của mình cho tensorflow:

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

4

Vấn đề đối với tôi là thư viện cuDNN không phù hợp với yêu cầu của cạc đồ họa. Tôi đã tải xuống phiên bản 6.0 nhưng dành cho GTX980ti của mình nhưng khả năng tính toán được khuyến nghị trên trang web nvidia là 5.1 ( http://developer.nvidia.com/cuda-gpus ) vì vậy tôi đã tải xuống 5.1 và thay thế phiên bản 6.0 và ngay khi tôi ' đã thực hiện rằng nó bắt đầu hoạt động.


4

Sau nhiều thử nghiệm và lỗi và đảm bảo VC ++ 2015 Redistributable , cuDNN DLL và tất cả các phụ thuộc khác đều có thể truy cập được từ PATH, có vẻ như GPU Tensorflow chỉ hoạt động với Python 3.5.2(tính đến thời điểm viết bài này)

Vì vậy, nếu bạn đang sử dụng Anaconda

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

Sau đó, mở trình thông dịch python và xác minh

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

Đã tìm thấy thiết bị 0 với các thuộc tính:
tên: GeForce 940M
lớn: 5 nhỏ: 0
memoryClockRate (GHz) 1.176
pciBusID 0000: 06: 00.0
Tổng bộ nhớ: 2.00GiB
Bộ nhớ trống: 1.66GiB

Tín dụng: hướng dẫn gọn gàng này


4

Đối với mỗi phiên bản của Tensorflow, nó yêu cầu phiên bản CuDnn khác nhau. Trên www.tensorflow.org , họ không đề cập đến điều đó trong hướng dẫn cài đặt!

Trường hợp của tôi sử dụng tensorflow phiên bản 1.3 sử dụng cuDNN 6. https://github.com/tensorflow/tensorflow/releases .

Vui lòng kiểm tra phiên bản tensorfow và phiên bản cuDNN của bạn nếu chúng khớp với nhau.

Và hãy thiết lập môi trường đường dẫn cho cuDNN, nếu nó vẫn không hoạt động, vui lòng kiểm tra câu trả lời từ @ Chris Han .


3

Tôi đã đăng một phương pháp chung để khắc phục sự cố "DLL tải không thành công" trong bài đăng này trên hệ thống Windows. Để tham khảo:

  1. Sử dụng công cụ phân tích phụ thuộc DLL Phụ thuộc để phân tích <Your Python Dir>\Lib\site-packages\tensorflow\python\_pywrap_tensorflow_internal.pydvà xác định chính xác DLL bị thiếu (được biểu thị bằng dấu ?bên cạnh DLL). Đường dẫn của tệp .pyd dựa trên phiên bản GPU TensorFlow 1.9 mà tôi đã cài đặt. Tôi không chắc liệu tên và đường dẫn có giống nhau trong các phiên bản TensorFlow khác hay không.

  2. Tìm kiếm thông tin của DLL bị thiếu và cài đặt gói thích hợp để giải quyết sự cố.


1
Tôi thích cách tiếp cận này vì nó hiển thị rõ ràng những viên nào bị thiếu. Phát hiện ra rằng tensorflow 1.11 đang tìm kiếm CUDA 9 dlls và dường như không tìm kiếm thư viện CUDA 10.
padmalcom

1
Cảm ơn bạn rất nhiều vì đề nghị của bạn! Trên máy tính của tôi vấn đề là tensorflow rằng đang tìm kiếm của DLL mà đi kèm với CUDA Toolkit v9, nhưng tôi cài đặt CUDA toolkit v10
Floris Devreese

Điều này là vô cùng hữu ích. Lưu ý rằng bạn phải chọn All files (*.*)bên cạnh tên tệp thay vì chỉ exe files (*.exe, *.dll).
Cadoiz

2

Người ta có thể muốn giữ Powershell / cmd mở trên Windows. Tôi đã dành thời gian hợp lý cho đến khi quyết định đóng và mở lại Powershell của mình chỉ để nhận ra rằng tôi đã làm đúng mọi thứ.


2

Trong trường hợp bạn đang cố gắng cài đặt GPU tensorflow trong Windows, bạn có thể tìm thấy hướng dẫn thú vị dễ dàng này .

Lưu ý: Nếu bạn đang sử dụng PyCharm chẳng hạn, bạn phải thay đổi trình thông dịch thành môi trường chung cư đã tạo.


1

Không tìm thấy dll. Cài đặt Visual C ++ 2015 redistributable để khắc phục.


Không chắc điều này bao hàm chính xác - tùy thuộc vào tình huống - xem câu trả lời ở trên liên quan đến cuDNN v6.0 - cũng có thể muốn bao gồm liên kết đến lib bạn đề cập (mà tôi sẽ thực hiện ngay tại đây microsoft.com/en-us/download/ ? details.aspx id = 48.145 vs lời giới thiệu này nhanh chóng :)
DropHit

1

Vấn đề là Thư viện cuDNN cho tôi. Tôi đã có thể chạy mã kiểm tra sau khi thêm thư mục (có thể là thư mục bin) của cuDNN DLL (không phải tệp LIB) trong Windows PATH.

Để tham khảo, tôi đã cài đặt TensorFlow từ nguồn bằng PIP và hệ điều hành của tôi: Windows 7 và IDE: Visual Studio 2015.



1

Theo quan điểm của tôi:

Tôi đã gặp rất nhiều sự cố khi cố gắng cài đặt CUDA 8.0 đúng cách trên Windows 7. Tôi đã cài đặt phiên bản trước và muốn nâng cấp nên tôi đã gỡ cài đặt nó và cố gắng cài đặt CUDA 8.0 (cho tensorflow 1.3). Cài đặt không thành công mỗi lần một lần, tôi đã cố gắng hạ cấp xuống CUDA 7.5 và có thể cài đặt nó nhưng gặp rất nhiều vấn đề với tensorflow (tương tự như vấn đề PATH được mô tả ở đây). Câu chuyện ngắn: điều làm việc cho tôi là:

1) Gỡ cài đặt MỌI thành phần NVIDIA (ngoại trừ trình điều khiển đồ họa hiển thị)

2) Tải xuống bộ công cụ CUDA 8.0 (và bản vá) https://developer.nvidia.com/cuda-downloads

3) Kiểm tra CheckSum MD5 (Tôi đã sử dụng MS https://www.microsoft.com/en-ca/download/confirmation.aspx?id=11533 nhưng bất kỳ điều nào sẽ xảy ra) để đảm bảo rằng chúng OK (đã xảy ra vài lần như vậy trình cài đặt không được tải xuống đúng cách vì bộ định tuyến WiFi của tôi dường như).

4) Chạy trình cài đặt bộ công cụ CUDA dưới dạng root

5) tải xuống cudnn 8.0 v6 và thêm vị trí của nó vào biến PATH https://developer.nvidia.com/rdp/cudnn-download

Hy vọng điều đó sẽ hữu ích và đỡ đau đầu ...

LƯU Ý: Tập lệnh này đã giúp tôi rất nhiều để gỡ lỗi sự cố! (Cảm ơn mrry) https://gist.github.com/mrry/ee5dbcfdd045fa48a27d56664411d41c


1

Tôi sẽ cố gắng đưa ra giải pháp phù hợp với tôi. Có vẻ như các tập hợp vấn đề khác nhau có thể dẫn đến tình trạng này.

Phần mềm 32 bit hoạt động trên hệ điều hành 64 bit. Tôi đã cài đặt anaconda-3 (32 bit) trong hệ điều hành 64 bit của mình. Nó đã hoạt động hoàn toàn tốt. Tôi đã quyết định cài đặt tensorflow trong máy của mình và nó sẽ không cài đặt lúc đầu. Tôi đang sử dụng môi trường conda để cài đặt tensorflow và gặp lỗi này.

Giải pháp là nếu bạn đang chạy hệ điều hành 64 bit, hãy cài đặt 64 bit anaconda và nếu hệ điều hành 32 bit thì hãy cài đặt anaconda 32 bit . Sau đó, làm theo quy trình tiêu chuẩn được đề cập trong trang web tensorflow dành cho windows (cài đặt anaconda). Điều này giúp bạn có thể cài đặt tensorflow mà không gặp bất kỳ vấn đề gì.


1

câu trả lời của tôi chỉ dành cho người dùng windows 10 vì tôi đã thử những cách sau trên windows 10. Mở rộng một số câu trả lời ở trên, tôi đề xuất điều này: Nếu bạn đang sử dụng anaconda thì bạn có thể tránh mọi thứ và chỉ cần cài đặt anaconda-navigation bằng lệnh

conda install -c anaconda anaconda-navigator

Sau đó, bạn có thể khởi chạy trình điều hướng từ dấu nhắc lệnh bằng lệnh

anaconda-navigator

Khi chạy lệnh này, bạn nhận được một gui đơn giản, nơi bạn có thể tạo môi trường ảo, tạo môi trường với python = 3.5.2 và cài đặt mô-đun tensorflow-gpu hoặc tensorflow bằng cách tìm kiếm mô-đun trong hộp tìm kiếm bằng gui, nó cũng sẽ được xử lý cài đặt các tệp cuda chính xác cho bạn. Sử dụng điều hướng anaconda là giải pháp đơn giản nhất.

Nếu bạn không sử dụng anaconda thì hãy quan tâm đến những điều sau

tensorflow-gpu 1.3 yêu cầu python 3.5.2, bộ phát triển cuda 8.0 và cudaDNN 6.0, do đó khi cài đặt hãy đảm bảo bạn chạy lệnh

pip install tensorflow-gpu==1.3

tensorflow-gpu 1.2.1 trở xuống yêu cầu python 3.5.2, bộ phát triển cuda 8.0 và cudaDNN 5.1 do đó khi cài đặt hãy đảm bảo bạn chạy lệnh

pip install tensorflow-gpu==1.2.1

Dưới đây là các bước bạn cần làm theo cho cả hai quy trình trên Thiết lập các biến đường dẫn Bạn phải có các biến hệ thống sau

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 của bạn phải bao gồm ".DLL" cùng với các phần mở rộng khác

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

Đồng thời Thêm phần sau vào đường dẫn của bạn

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        

Nếu bạn gặp lỗi, bạn có thể tải xuống đoạn mã dưới đây bằng mrry, mã này sẽ kiểm tra thiết lập của bạn và cho bạn biết có vấn đề gì không https://gist.github.com/mrry/ee5dbcfdd045fa48a27d56664411d41c

Tài liệu tham khảo: http://blog.nitishmutha.com/tensorflow/2017/01/22/TensorFlow-with-gpu-for-windows.html

Tài liệu tham khảo trên là rất hữu ích. Hãy bình luận để cải thiện câu trả lời này. Hy vọng điều này sẽ giúp, Cảm ơn.


Tùy chọn anaconda nghe có vẻ tuyệt vời, nhưng nhìn vào anaconda.org/anaconda/tensorflow-gpu , phiên bản tensorflow-gpu dành cho windows dường như là 1.1, có cách nào để lấy 1.3 thông qua anaconda không?
ftiaronsem

@ftiaronsem Không có cách nào để cài đặt 1.3 bằng cách sử dụng Anaconda-navigator nếu bạn muốn 1.3 sau đó làm theo các liên kết tham khảo và thực hiện một lưu ý để sử dụng cudaDNN 6.0
M2skills

1

tensorflow 1.3 chưa hỗ trợ cuda 9.0 . Tôi hạ cấp xuống cuda 8.0 , sau đó nó hoạt động.


1

Đối với những người tìm thấy bài đăng này vào năm 2019, lỗi này cũng có thể xảy ra vì phiên bản Python 3.7 không hỗ trợ TensorFlow (xem https://www.tensorflow.org/install/pip ). Vì vậy, hãy kiểm tra phiên bản Python:

python --version

Trong trường hợp nó lớn hơn 3,6, nó nên được hạ cấp xuống 3,6. Đối với Anaconda:

conda install python=3.6

Sau đó, cài đặt TensorFlow.

pip install tensorflow

Btw, tôi không có phiên bản GPU, vì vậy không có vấn đề liên quan đến CUDA trong trường hợp của tôi.


1
Tôi đã làm mà tôi vẫn gặp phải vấn đề tương tự
RollRoll

Điều này đã làm việc cho tôi trên hai máy tính khác nhau được sử dụng bởi các sinh viên của tôi. Chúng tôi vẫn gặp sự cố sau khi thử các giải pháp trên. Trong trường hợp của bạn, nó có thể là một tình huống được mô tả ở trên.
Catalin Stoean

0

Gặp phải vấn đề tương tự ( vào ngày 09/09/2019 ) khi đang điều tra [SO]: Lỗi khi đào tạo sử dụng API công cụ ước tính trong tensorflow .

Thiết lập:

Lỗi :

[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.

Nhìn vào mô-đun "bị lỗi" (nhờ Dependency Walker ), nó chỉ ra rằng bản thân nó không bị thiếu, mà là một số phụ thuộc của nó (các tệp .dll cu * _ 100 ).

Img0

Kiểm tra [SO]: Python Ctypes - loading dll ném OSError: [WinError 193]% 1 không phải là ứng dụng Win32 hợp lệ (câu trả lời của @ CristiFati) (phần Kết luận ở cuối) để biết thêm chi tiết về loại lỗi này.
Tôi đã có phiên bản Bộ công cụ CUDA cũ hơn ( 8 ) và do đó, các tệp cu * _ 80 .dll .

Nâng cấp lên TensorFlow-GPU 1. 14 .0 ( "e:\Work\Dev\VEnvs\py_064_03.07.03_test0\Scripts\python.exe" -m pip install --upgrade tensorflow-gpu), đã làm cho lỗi rõ ràng hơn một chút (và cũng ngắn hơn):

[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

Các bước :

  • Gỡ cài đặt bất kỳ phiên bản Bộ công cụ CUDA nào (tùy chọn)
  • Cài đặt [nVidia.Developer]: Lưu trữ Bộ công cụ CUDA 10.0
    • Hãy chắc chắn rằng để cài đặt v10.0 (mà này TensorFlow-GPU phiên bản được xây dựng lại ). Tôi đã cài đặt v10. 1 (là phiên bản mới nhất và cũng là phiên bản được đề xuất tại thời điểm trả lời) và tên .dll không khớp ( cu * _10 1 .dll ). Vì tôi không muốn cài đặt v10.0 , tôi đã tạo một số liên kết biểu tượng (với tên "đúng") cho các tệp hiện có và nó đã hoạt động. Nhưng hãy nhớ rằng điều này không được hỗ trợ !!! Bạn có thể gặp phải hành vi buồn cười (bao gồm cả sự cố) . Đây là một cách giải quyết (khập khiễng) ( gainarie )
    • Ngoài ra, cần có phiên bản cuDNN tương thích (nghĩa là dành cho phiên bản Bộ công cụ CUDA cụ thể ) ( [nVidia.Developer]: cuDNN Archive ). Để truy cập URL tải xuống , bạn phải có tư cách thành viên nVidia

Sau các bước trên và cũng như thiết lập các đường dẫn chính xác, nó đã hoạt động:

[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!!!
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.