Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Tensorflow 2.3.0 does not detect GPU

The tensorflow does not detect the GPU card. I have following the procedures suggest at Nvidia website and tensorflow/install/gpu.

How can I fix it?

I am using the following packages and drives:

NVIDIA

[nvcc: NVIDIA (R) Cuda compiler driver

Copyright (c) 2005-2019 NVIDIA Corporation

Built on Sun_Jul_28_19:12:52_Pacific_Daylight_Time_2019

Cuda compilation tools, release 10.1, V10.1.243][1]

Cudnn Version 8.0.2

Tensor Flow

Name                      Version                   Build  Channel
tensorflow                2.3.0                    pypi_0    pypi
tensorflow-addons         0.11.1                   pypi_0    pypi
tensorflow-estimator      2.3.0                    pypi_0    pypi

I use the following code to check it;

Python 3.7.7 (default, May  6 2020, 11:45:54) [MSC v.1916 64 bit (AMD64)]
Type "copyright", "credits" or "license" for more information.

IPython 7.17.0 -- An enhanced Interactive Python.

from tensorflow.python.client import device_lib
device_lib.list_local_devices()

Result

2020-08-20 22:58:38.419555: I tensorflow/stream_executor/platform/default/dso_loader.cc:48] Successfully opened dynamic library cudart64_101.dll 
Out[1]:  [name: "/device:CPU:0"  device_type: "CPU"  memory_limit: 268435456  locality {  }  incarnation: 12639439165040732604,  name: "/device:XLA_CPU:0"  device_type: "XLA_CPU"  memory_limit: 17179869184  locality {  }  incarnation: 2249215130251849864  physical_device_desc: "device: XLA_CPU device",  name: "/device:XLA_GPU:0"  device_type: "XLA_GPU"  memory_limit: 17179869184  locality {  }  incarnation: 7640064762024919839  physical_device_desc: "device: XLA_GPU device"]
2020-08-20 22:58:38.419555: I tensorflow/stream_executor/platform/default/dso_loader.cc:48] Successfully opened dynamic library cudart64_101.dll
2020-08-20 22:58:40.332579: I tensorflow/core/platform/cpu_feature_guard.cc:142] This TensorFlow binary is optimized with oneAPI Deep Neural Network Library (oneDNN)to use the following CPU instructions in performance-critical operations:  AVX2 To enable them in other operations, rebuild TensorFlow with the appropriate compiler flags.
2020-08-20 22:58:40.340307: I tensorflow/compiler/xla/service/service.cc:168] XLA service 0x22481a47710 initialized for platform Host (this does not guarantee that XLA will be used). Devices:
2020-08-20 22:58:40.341741: I tensorflow/compiler/xla/service/service.cc:176]   StreamExecutor device (0): Host, Default Version
2020-08-20 22:58:40.342711: I tensorflow/stream_executor/platform/default/dso_loader.cc:48] Successfully opened dynamic library nvcuda.dll
2020-08-20 22:58:40.362324: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1716] Found device 0 with properties:  pciBusID: 0000:01:00.0 name: GeForce GTX 1050 computeCapability: 6.1 coreClock: 1.493GHz coreCount: 5 deviceMemorySize: 4.00GiB deviceMemoryBandwidth: 104.43GiB/s 
2020-08-20 22:58:40.362354: I tensorflow/stream_executor/platform/default/dso_loader.cc:48] Successfully opened dynamic library cudart64_101.dll 
2020-08-20 22:58:40.366447: I tensorflow/stream_executor/platform/default/dso_loader.cc:48] Successfully opened dynamic library cublas64_10.dll 
2020-08-20 22:58:40.369790: I tensorflow/stream_executor/platform/default/dso_loader.cc:48] Successfully opened dynamic library cufft64_10.dll 
2020-08-20 22:58:40.370968: I tensorflow/stream_executor/platform/default/dso_loader.cc:48] Successfully opened dynamic library curand64_10.dll 
2020-08-20 22:58:40.374957: I tensorflow/stream_executor/platform/default/dso_loader.cc:48] Successfully opened dynamic library cusolver64_10.dll 
2020-08-20 22:58:40.377382: I tensorflow/stream_executor/platform/default/dso_loader.cc:48] Successfully opened dynamic library cusparse64_10.dll 
2020-08-20 22:58:40.378955: W tensorflow/stream_executor/platform/default/dso_loader.cc:59] Could not load dynamic library 'cudnn64_7.dll'; dlerror: cudnn64_7.dll not found
2020-08-20 22:58:40.378977: W tensorflow/core/common_runtime/gpu/gpu_device.cc:1753] Cannot dlopen some GPU libraries. Please make sure the missing libraries mentioned above are installed properly if you would like to use GPU. Follow the guide at https://www.tensorflow.org/install/gpu for how to download and setup the required libraries for your platform. Skipping registering GPU devices...
2020-08-20 22:58:40.455688: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1257] Device interconnect StreamExecutor with strength 1 edge matrix:
2020-08-20 22:58:40.455717: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1263]      0
2020-08-20 22:58:40.455728: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1276] 0:   N
2020-08-20 22:58:40.458391: I tensorflow/compiler/xla/service/service.cc:168] XLA service 0x22490b5c830 initialized for platform CUDA (this does not guarantee that XLA will be used). Devices:
2020-08-20 22:58:40.458412: I tensorflow/compiler/xla/service/service.cc:176]   StreamExecutor device (0): GeForce GTX 1050, Compute Capability 6.1
like image 803
Adolfo Graciano Da Silva Avatar asked Aug 21 '20 02:08

Adolfo Graciano Da Silva


People also ask

Why can't TensorFlow find my GPU?

This is most likely because the CUDA and CuDNN drivers are not being correctly detected in your system. In both cases, Tensorflow is not detecting your Nvidia GPU. This can be for a variety of reasons: Nvidia Driver not installed.

Does TensorFlow 2 support GPU?

Hardware requirements Note: TensorFlow binaries use AVX instructions which may not run on older CPUs. The following GPU-enabled devices are supported: NVIDIA® GPU card with CUDA® architectures 3.5, 5.0, 6.0, 7.0, 7.5, 8.0 and higher. See the list of CUDA®-enabled GPU cards.

How do I allow TensorFlow to use my GPU?

To limit TensorFlow to a specific set of GPUs, use the tf. config. set_visible_devices method. In some cases it is desirable for the process to only allocate a subset of the available memory, or to only grow the memory usage as is needed by the process.


1 Answers

Check the software requirements:Here

It says cudnn version = 7.6

Make sure you have installed all the c++ redistributables - Here

Make sure you have the appropriate python version. - Here

Finally, make sure you have set the path to Cuda and cudnn in your system.

Make sure the installed NVIDIA software packages match the versions listed above. In particular, TensorFlow will not load without the cuDNN64_7.dll file. To use a different version, see the Windows build from source guide.

This is stated in TensorFlow documentation which seems to be your issue

like image 199
Aniket Bote Avatar answered Oct 11 '22 14:10

Aniket Bote