In this tutorial, we are going to be covering the installation of CUDA, cuDNN and GPU-compatible Tensorflow on Windows 10. This article assumes that you have a CUDA-compatible GPU already installed on your PC such as an Nvidia GPU; but if you haven’t got this already, the tutorial, Change your computer GPU hardware in 7 steps to achieve faster Deep Learning on your Windows PC will help you get that hardware set up, ready for the steps below.
- Step 1: Check the software versions you will need to install
- Step 2: Download and Install Visual Studio Express
- 2.1 Visual Studio is a Prerequisite for CUDA Toolkit
- 2.2 Selecting and downloading Visual Studio Express
- 2.3 Installing Visual Studio Express
- 2.4 A PC reboot after installation of Visual Studio May be Required
- Step 3: Download CUDA Toolkit for Windows 10
- Step 3.1: Downloading CUDA 9.0 from the CUDA Toolkit Archive
- Step 3.2: Installing CUDA 9.0
- Step 4: Download Windows 10 CUDA patches
- Step 5: Download and Install cuDNN
- Step 5.1: Downloading cuDNN
- Step 5.2: Unzipping cuDNN files and copying to CUDA folders
- Step 5.3: Checking CUDA environment variables are set in Windows
- Step 6: Install Python (if you don’t already have it)
- Step 7: Install Tensorflow with GPU support
- Step 7.1: Calling up the command prompt with administration rights
- Step 7.2: System wide install of Tensorflow via python pip
- Step 8: Test Installation of TensorFlow and its access to GPU
- Conclusions
- Other postings of this article:
Step 1: Check the software versions you will need to install
Assuming that Windows is already installed on your PC, the additional bits of software you will install as part of these steps are:-
- Microsoft Visual Studio
- the NVIDIA CUDA Toolkit
- NVIDIA cuDNN
- Python
- Tensorflow (with GPU support)
Step 2: Download and Install Visual Studio Express
2.1 Visual Studio is a Prerequisite for CUDA Toolkit
Visual studio is required for the installation of Nvidia CUDA Toolkit (this prerequisite is referred to here). If you attempt to download and install CUDA Toolkit for Windows without having first installed Visual Studio, you get the message shown in Fig. 1, “No supported version of Visual Studio was found”.
2.2 Selecting and downloading Visual Studio Express
At the original time of writing, the most recent version of Visual Studio (which is free) is the Visual Studio Express Community Version 2017, shown in Fig 2. You can get previous versions of Visual Studio for free by joining “Visual Studio Dev Essentials” and then searching for the version of Visual Studio you want.
2.3 Installing Visual Studio Express
Once you have downloaded Visual Studio Express, its initial installation is straightforward. Fig 3 shows the executable file (.exe) you receive as a download.
When you press the ‘save file’ option on Fig 3, the window in Fig 4 will appear where you can set installation options (or just leave them as they are by default, as I did).
During installation, Visual Studio prompts you to as whether you ‘want to continue without workloads’. I pressed ‘continue’ here, as I had no intention of using workloads at all.
2.4 A PC reboot after installation of Visual Studio May be Required
After installing Visual Studio, I initially moved straight on to downloading and attempting to install CUDA Toolkit for Windows — that step is Step 3 which I will be describing next. I got a message that Visual Studio was still operating and was preventing the installation of CUDA Toolkit. Rebooting my PC before attempting to install CUDA Toolkit again solved this problem.
Step 3: Download CUDA Toolkit for Windows 10
These CUDA installation steps are loosely based on the Nvidia CUDA installation guide for windows. The CUDA Toolkit (free) can be downloaded from the Nvidia website here.
At the original time of writing this tutorial, the default version of CUDA Toolkit offered is version 10.0, as shown in Fig 6. However, you should check which version of CUDA Toolkit you choose for download and installation to ensure compatibility with Tensorflow (looking ahead to Step 7 of this process). When you go onto the Tensorflow website, the latest version of Tensorflow available (1.12.0) requires CUDA 9.0, not CUDA 10.0. To find CUDA 9.0 or any earlier releases, you need to navigate to the “Legacy Releases” on the bottom right hand side of Fig 6.
Step 3.1: Downloading CUDA 9.0 from the CUDA Toolkit Archive
Choosing “Legacy Releases” takes you to the CUDA Toolkit Archive. Based on Tensorflow installation guidance, the CUDA version required is 9.0, as listed in Fig 7.
Step 3.2: Installing CUDA 9.0
CUDA 9.0 comes as a base installation and four patches; the base installation of CUDA 9.0 must be installed first, followed by the patches. The options for the base install which I selected are shown in Fig. 8.
Running the base installer which has just been downloaded will produce the CUDA Setup Package window, as shown in Fig 9.
The CUDA installer extracts to your PC and, when complete, the NVIDIA CUDA Toolkit installation will start; you will get a message to that effect. The resulting NVIDIA Installer windows throughout the installation process are shown at Fig 10 — Fig 13. I chose the express installation option (Fig. 10).
Fig. 11 provides the opportunity to select installation location; I chose the default locations provided, which for CUDA is :
C:\Program Files\NVIDA GPU Computing Toolkit\CUDA\v9.0
Fig. 12 below shows the CUDA installations which rely on Visual studio, previously installed in Step 1.
Pressing ‘next’ at the window shown in Fig. 12 above, gives the final installation window, shown as Fig.13 below, where the NVIDIA installer is marked as finished.
Step 4: Download Windows 10 CUDA patches
At the time of writing, there are four CUDA patches to get (as well as the base installer), so let’s go and download these. They are shown in Fig.14.
When the four patches are downloaded, they can be installed in the same way as the base installer — with installation windows providing guidance through the process.
Step 5: Download and Install cuDNN
Having installed CUDA 9.0 base installer and its four patches, the next step is to find a compatible version of CuDNN. Based on the information on the Tensorflow website, Tensorflow with GPU support requires a cuDNN version of at least 7.2.
Step 5.1: Downloading cuDNN
In order to download CuDNN, you have to register to become a member of the NVIDIA Developer Program (which is free).
When you create an account, login and fill out some other required details about why you are using the account, you get the download page shown in Fig. 16.
As I have downloaded CUDA 9.0, the corresponding version of cuDNN is version 7.4.2. Choosing cuDNN version 7.4.2 enables the download as a zip file named as follows:
cudnn-9.0-windows10-x64-v7.zip
Step 5.2: Unzipping cuDNN files and copying to CUDA folders
Instructions at Nvidia provide support for windows cuDNN installation, as do instructions on the Tensorflow website ; I have reproduced these instructions in distilled form, based on my implementation of them. In my case, I downloaded the cuDNN .zip file named above into a folder which has the following path on my PC (your path will no doubt be different).
C:\Users\jo\Documents\cuDNN_downloads\
In the instructions below, I refer to the folder path “ C:\Users\jo\Documents\cuDNN_downloads\
” (referred to just above) as “<downloadpath>
”, such that the zip file is now in the path:
<downloadpath>\cudnn-9.0-windows10-x64-v7.5.0.56.zip
I unzipped the cuDNN “.zip” file where I downloaded it, hence the unzipped folder structure which will contain the required cuDNN files is now:-
<downloadpath>\cudnn-9.0-windows10-x64-v7.5.0.56\
There are three files in the unzipped cuDNN folder subdirectories which are to be copied into the CUDA Toolkit directories. These are cudnn64_7.dll, cudnn.h and cudnn.lib:
1. cudnn64_7.dll
cudnn64_7.dll can be found in the following path within the downloaded cuDNN files:
<downloadpath>\cudnn-9.0-windows10-x64-v7.5.0.56\cuda\bin\cudnn64_7.dll
Assuming that you installed CUDA 9.0 to its default path (as I did at Step 2.3), namely the following default path:
C:\Program Files\NVIDA GPU Computing Toolkit\CUDA\v9.0
you can copy the cudnn64_7.dll file directly into the CUDA folder’s bin folder path (note: you don’t need to create any new subfolders):
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\bin\
2. cudnn.h
As with the cudnn64_7.dll file above, after downloading and unzipping the cuDNN folder, the header file cudnn64.h can be found in the path:
<downloadpath>\cudnn-9.0-windows10-x64-v7.5.0.56\cuda\ include\cudnn.h
Again, assuming that you installed CUDA 9.0 into the default path as I did at Step 2.3, copy cudnn.h directly into the CUDA folder with the following path (no new subfolders are necessary):
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\include\
3. cudnn.lib
The .lib file cudnn.lib
can be found in the downloaded cuDNN path:
<downloadpath>\cudnn-9.0-windows10-x64-v7.5.0.56\cuda\lib\x64\cudnn.lib
Copy cudnn.lib directly into the CUDA folder with the following path:
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\lib\x64\
Step 5.3: Checking CUDA environment variables are set in Windows
Finally, the instructions at Nvidia direct that you ensure that the CUDA environment variable has previously been set up, as follows:
Variable Name: CUDA_PATH
Variable Value: C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0
In Windows 10, the Environment Variables can be found by choosing:
Control Panel ->System and Security->System->Advanced System settings.
This opens up a window called “System Properties” (Fig 17), at which point the “Environment Variables” button should be chosen.
When the Environment Variables window then appears, within “system variables” (in the bottom half of the window), click on “Path” and choose the button “edit”. A new window will appear, called “Edit environment variable” as shown in Fig 18 below.
On checking the Environment Variables, I found the installation process which determines the CUDA installation path — Step 3.2, see Fig. 11 — had already added two paths to CUDA . These paths are shown in Fig 18 below, so I found I did not need to add a further CUDA path.
Step 6: Install Python (if you don’t already have it)
Now that CUDA and cuDNN are installed, it is time to install Python to enable Tensorflow to be installed later on. At the time of writing, the most up to date version of Python 3 available is Python 3.7, but the Python 3 versions required for Tensorflow are 3.4, 3.5 or 3.6. Python 3.6 can be downloaded for Windows 10 from here. When you run the Python installer for windows, the setup window in Fig 19 will appear.
Of the options in Fig. 19 above during Python installation, I chose to select all of them. These options are useful: Python’s ‘pip’ installer is used at Step 7.2 of this guide to install Tensorflow. Additionally, I use the IDE (integrated development environment for writing and running python code) called “IDLE” at Step 8.
In the “Advanced Options” (shown at Fig 20 below), I chose the installation of Python for all users (which was not ticked by default); this gives the system wide installation.
Tensorflow provides instructions for checking that CUDA, cuDNN and (optional: CUPTI) installation directories are correctly added to the PATH environmental variables. As the three cuDNN files were copied into the subfolders of CUDA, I did not update the existing CUDA environmental variables path.
Step 7.1: Calling up the command prompt with administration rights
In this step a system-wide install of Tensorflow is carried out, not a per user install, but an alternative means of carrying out this tensorflow installation (not covered here) is to create a Python virtual environment, activate the environment and install Tensorflow within that environment.
If you wish to make a system wide installation of Tensorflow, this requires administrative rights, therefore, accordingly the command prompt should be run with administrative rights. To do this, open up the command prompt by running ‘cmd
’ in the search bar, and then right clicking on command prompt to choose ‘run as administrator’. This opens up Administrator: Command Prompt as shown in Fig 21.
Step 7.2: System wide install of Tensorflow via python pip
Having opened the Command Prompt, the system-wide installation command for Tensorflow with GPU support is as follows:
pip3 install --upgrade tensorflow-gpu
The “pip3” command (as opposed to “pip”) is required as the installation is to Python 3. Execution of this command in the command prompt is shown in Fig 22.
The resulting output from the command is shown in Fig 23, and if all goes to plan there should eventually be a message to confirm that Tensorflow has been installed successfully.
Step 8: Test Installation of TensorFlow and its access to GPU
Go to the start menu in windows and search for the IDE called ‘idle’, which will be installed as part of your python installation if you selected as I did at Step 6. A Python window should appear labelled Python 3.6.x Shell. At the prompt (denoted by ‘>>>’), import the Tensorflow package. This will check that Tensorflow has been installed (as you can import it). The command for the IDLE shell to import the tensorflow package is as follows:
# importing the tensorflow package import tensorflow as tf
To test CUDA support for your Tensorflow installation, you can run the following command in the shell:
tf.test.is_built_with_cuda()
Finally, to confirm that the GPU is available to Tensorflow, you can test using a built-in utility function in TensorFlow as shown here:
tf.test.is_gpu_available(cuda_only=False, min_cuda_compute_capability=None)
It takes a few minutes to return a result from this; when it is finished it returns True, and then the prompt `>>>`appears again. Importing tensorflow and these tests are all shown in Fig 24 in the Python IDLE Shell.
Conclusions
These were the steps I took to install Visual Studio, CUDA Toolkit, CuDNN and Python 3.6, all with the ultimate aim of installing Tensorflow with GPU support on Windows 10. To date, my GPU based machine learning and deep learning work has been on Linux Ubuntu machines; by the same token, much of the machine learning community support online focuses on Ubuntu.
For Machine Learning, the major drawback to using Windows is that it is necessary to build more things from source (for example using Cmake) than on Linux, and also to install additional software for the build processes, such as Visual Studio. For example, if you were to install Caffe2 on Windows, there are no pre-built binaries and Windows build is in testing and beta mode. I installed CUDA and cuDNN on Windows 10 more out of curiosity than anything else, just to see how straightforward (or otherwise) it was.
As I suggested in [reference], now that CUDA, cuDNN and Tensorflow are successfully installed on Windows 10 and I have checked Tensorflow’s access to GPU, I am going to sweep the whole Windows 10 operating system away in order to make a fresh installation of Ubuntu 18.04 LTS. This new installation of Ubuntu will be covered in Part 3 of this series.
Other postings of this article:
This tutorial was originally posted by Dr Joanne Kitson as Installing Tensorflow with CUDA, cuDNN and GPU support on Windows 10 in Towards Data Science on Medium.com
В очередной раз после переустановки Windows осознал, что надо накатить драйвера, CUDA, cuDNN, Tensorflow/Keras для обучения нейронных сетей.
Каждый раз для меня это оказывается несложной, но времязатратной операцией: найти подходящую комбинацию Tensorflow/Keras, CUDA, cuDNN и Python несложно, но вспоминаю про эти зависимости только в тот момент, когда при импорте Tensorflow вижу, что видеокарта не обнаружена и начинаю поиск нужной страницы в документации Tensorflow.
В этот раз ситуация немного усложнилась. Помимо установки Tensorflow мне потребовалось установить PyTorch. Со своими зависимостями и поддерживаемыми версиями Python, CUDA и cuDNN.
По итогам нескольких часов экспериментов решил, что надо зафиксировать все полезные ссылки в одном посте для будущего меня.
Краткий алгоритм установки Tensorflow и PyTorch
Примечание: Установить Tensorflow и PyTorch можно в одном виртуальном окружении, но в статье этого алгоритма нет.
Подготовка к установке
- Определить какая версия Python поддерживается Tensorflow и PyTorch (на момент написания статьи мне не удалось установить PyTorch в виртуальном окружении с Python 3.9.5)
- Для выбранной версии Python найти подходящие версии Tensorflow и PyTorch
- Определить, какие версии CUDA поддерживают выбранные ранее версии Tensorflow и PyTorch
- Определить поддерживаемую версию cuDNN для Tensorflow – не все поддерживаемые CUDA версии cuDNN поддерживаются Tensorflow. Для PyTorch этой особенности не заметил
Установка CUDA и cuDNN
- Скачиваем подходящую версию CUDA и устанавливаем. Можно установить со всеми значениями по умолчанию
- Скачиваем cuDNN, подходящую для выбранной версии Tensorflow (п.1.2). Для скачивания cuDNN потребуется регистрация на сайте NVidia. “Установка” cuDNN заключается в распакове архива и заменой существующих файлов CUDA на файлы из архива
Устанавливаем Tensorflow
- Создаём виртуальное окружение для Tensorflow c выбранной версией Python. Назовём его, например,
py38tf
- Переключаемся в окружение
py38tf
и устанавливаем поддерживаемую версию Tensorflowpip install tensorflow==x.x.x
- Проверяем поддержку GPU командой
python -c "import tensorflow as tf; print('CUDA available' if tf.config.list_physical_devices('GPU') else 'CUDA not available')"
Устанавливаем PyTorch
- Создаём виртуальное окружение для PyTorch c выбранной версией Python. Назовём его, например,
py38torch
- Переключаемся в окружение
py38torch
и устанавливаем поддерживаемую версию PyTorch - Проверяем поддержку GPU командой
python -c "import torch; print('CUDA available' if torch.cuda.is_available() else 'CUDA not available')"
В моём случае заработала комбинация:
- Python 3.8.8
- Драйвер NVidia 441.22
- CUDA 10.1
- cuDNN 7.6
- Tensorflow 2.3.0
- PyTorch 1.7.1+cu101
Tensorflow и PyTorch установлены в разных виртуальных окружениях.
Итого
Польза этой статьи будет понятна не скоро: систему переустанавливаю я не часто.
Если воспользуетесь этим алгоритмом и найдёте какие-то ошибки – пишите в комментарии
Provide feedback
Saved searches
Use saved searches to filter your results more quickly
Sign up
Appearance settings
This post is based on a tutorial: Installing Tensorflow with CUDA, cuDNN and GPU support on Windows 10 from Dr. Joanne Kitson.
I will not be repeating the post but rather highlight the important steps to setup on your own machine. This works for Pytorch too. I included snippet of code to test your Pytorch is using GPU at the end.
For CUDA official site, refer here
Step 1: Tensorflow version
Figure out which tensorflow version you will be using. This will affect the CUDA and cuDNN libraries that you need.
Refer here for the specific tensorflow version and corresponding CUDA and cuDNN version.
Step 2: Install Visual Studio Express. (Might need a reboot)
You might need to access the archive versions if your required CUDA version is not the latest.
Step 4: Download cuDNN
Step 5: Unzip cuDNN files and copy to CUDA folders
- cudnn64_7.dll
- cudnn.h
- cudnn.lib
Step 6: Set CUDA env variables
Check that CUDA_PATH
env variable is set to C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v<x.x>
or whichever directory you have saved your CUDA.
Step 7: Install Python and Tensorflow
Step 8: Test configuration
For Tensorflow,
import tensorflow as tf
tf.config.list_physical_devices('GPU')
# Result:
# [PhysicalDevice(name='/physical_device:GPU:0', device_type='GPU')]
For Pytorch,
import torch
torch.cuda.is_available()
# Result:
# True
I was working with tensorflow to make my GAN recently, but I noticed a couple things.
First, each epoch in training would take around 5 minutes, which is extremely slow.
For my goal of 100 epochs, it would take 500 minutes, which turns out to be over 8 hours.
Obviously, this is NOT ideal.
Then, I noticed another thing, and that was the small “missing dll” errors in my console!
As it turns out, you can use your GPU(s) to highly accelerate machine learning operations, because of all the matrix math optimizations offered by GPUs.
However, setting up tensorflow to utilize all your GPUs was, to put it lightly, a massive pain.
In this post, I’ll go over how to quickly install tensorflow and the correct cuda programs.
Hardware
This will only work if you currently have a CUDA-enabled GPU installed.
So pretty much any graphics card from NVidia should work.
For me, I have dual SLI GTX 970s.
I have a Windows 10 PC. That means that if you have a mac or linux PC, you should follow a different tutorial.
TODO List
(Prerequisites)
- Install Python 3.9.x
- Install PyPI
- Install visual C++ redistributable
(TODO) 3. Install TensorFlow 4. Install NVidia Drivers 5. Install CUDA Toolkit 6. Install CUDNN
Install TensorFlow
In a command prompt:
pip install --upgrade pip
pip install tensorflow
This just upgrades pip
and installs the tensorflow
package.
If you want to install a specific version, use the following syntax:
pip install tensorflow==2.6.0rc2
(If you want a list of versions, just use an unknown version and pip
should tell you.)
pip i tensorflow==chicken
Since TensorFlow and CUDA are so picky about their versions, here is the version I used when I got it working: 2.6.0rc2.
Install NVidia Drivers
I recommend downloading GeForce experience, so you can keep your drivers updated automatically.
You can find it here.
Or, you can download drivers for a specific GPU here.
You can find a list of all the different versions of the CUDA toolkit here.
You’re probably wondering which version to install.
For my build, I installed CUDA Toolkit 11.2.2.
If tensorflow adds support for more recent versions of the CUDA Toolkit, you can try installing them for increased performance or new features.
Once you run the installer, you should have some new files in the following directory: C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.2
.
Before, if you ran a tensorflow project, you may have received an error similar to the following:
2021-08-08 17:12:44.906857: W tensorflow/stream_executor/platform/default/dso_loader.cc:64] Could not load dynamic library 'cudart64_110.dll'; dlerror: cudart64_110.dll not found
2021-08-08 17:12:44.906995: I tensorflow/stream_executor/cuda/cudart_stub.cc:29] Ignore above cudart dlerror if you do not have a GPU set up on your machine.
2021-08-08 17:12:46.625071: W tensorflow/stream_executor/platform/default/dso_loader.cc:64] Could not load dynamic library 'cudart64_110.dll'; dlerror: cudart64_110.dll not found
2021-08-08 17:12:46.626074: W tensorflow/stream_executor/platform/default/dso_loader.cc:64] Could not load dynamic library 'cublas64_11.dll'; dlerror: cublas64_11.dll not found
2021-08-08 17:12:46.627073: W tensorflow/stream_executor/platform/default/dso_loader.cc:64] Could not load dynamic library 'cublasLt64_11.dll'; dlerror: cublasLt64_11.dll not found
2021-08-08 17:12:46.628006: W tensorflow/stream_executor/platform/default/dso_loader.cc:64] Could not load dynamic library 'cufft64_10.dll'; dlerror: cufft64_10.dll not found
2021-08-08 17:12:46.628980: W tensorflow/stream_executor/platform/default/dso_loader.cc:64] Could not load dynamic library 'curand64_10.dll'; dlerror: curand64_10.dll not found
2021-08-08 17:12:46.629958: W tensorflow/stream_executor/platform/default/dso_loader.cc:64] Could not load dynamic library 'cusolver64_11.dll'; dlerror: cusolver64_11.dll not found
2021-08-08 17:12:46.631054: W tensorflow/stream_executor/platform/default/dso_loader.cc:64] Could not load dynamic library 'cusparse64_11.dll'; dlerror: cusparse64_11.dll not found
2021-08-08 17:12:46.632484: W tensorflow/core/common_runtime/gpu/gpu_device.cc:1835] 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...
This is because your computer can’t find the files listed in the error message.
But notice in the bin
folder of the CUDA toolkit that we just installed, you can find all of these files.
This means, we need to add this folder to the path!
So, open the system environment variables by going to the start menu and searching “environment variables”.
Then, find the Path
variable, select it, and click “edit”.
From there, you can click “New” to add a new directory to the path, and the directory you want to add is the directory containing all the missing libraries, aka C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.2\bin
Then, close out of the environment variables page, making sure to apply your changes.
Lastly, RESTART all your currently open terminals. This is because the changes will not take place unless the terminal was created after you added the new path directory.
Install CUDNN
Now, you may get an error similar to this:
2021-08-08 17:20:10.558894: W tensorflow/stream_executor/platform/default/dso_loader.cc:64] Could not load dynamic library 'cudnn64_8.dll'; dlerror: cudnn64_8.dll not found
2021-08-08 17:20:10.559029: W tensorflow/core/common_runtime/gpu/gpu_device.cc:1835] 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..
Now, it’s only missing one cuda dll, an it’s from CUDNN.
You can find the most recent versions of CUDNN at this link.
NOTE: The site will prompt you to create an NVidia account and get a “Developer Program Membership”.
Don’t worry, this is super easy.
- Create an account. (Or log in with google, or something)
- Verify your email
- Fill out your profile information. Make sure to click the checkbox stating “Join the NVIDIA Developer Program to access downloads (like cuDNN), how-to videos, and more.”
Now, you can go to the downloads page and download cuDNN.
The version that I got (which worked) is v8.2.2 for CUDA 11.4.
I know, I didn’t get CUDA Toolkit 11.4 (I got 11.2.2).
But, it still ended up working anyway!
If you want to match versions, please, feel free.
Once you downloaded the folder and extracted it into a new folder, place that folder somewhere it’ll be safe.
I just put it next to the CUDA toolkit, so my directory structure looked like this:
...
NVIDIA GPU Computing Toolkit
| - CUDA
| - v11.2
| | - bin/
| ...
| - cudnn-11.4-windows-x64-v8.2.2.26
| - cuda
| - bin/
| - include/
| - lib/
| - NVIDIA_SLA_cuDNN_Support.txt
And, of course, we need to add this directory to the path environment variable.
Open up the environment variables, and add the bin
directory to the path.
For me, it was the following:
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\cudnn-11.4-windows-x64-v8.2.2.26\cuda\bin
Now, since the cudnn64_8.dll
file is in the path, we should be done with annoying errors!
Things to try out
An interesting project that I just did recently was training a GAN on the MNIST dataset.
Here is an amazing tutorial written by Jason Brownlee which I highly recommend.
Fixing these GPU CUDA errors allowed python to fully utilize all the available computing resources I have.
This significantly cut down training times.
Previously, each epoch took about 5 minutes to train, whereas with the GPU acceleration, it only takes about 30 seconds.
I was able to train 100 epochs in less than an hour, thanks to these CUDA libraries!
If you want to play around with the model that I trained, here is a github repository for it.
Just clone the repository, and run the python file.
The model is stored in the .h5
file.
I added some sliders so you can easily change the latent vector and see the live output.
Unfortunately, matplotlib has awful UI documentation, so about 70 of the sliders are off of the page.
Maybe someone can clean it up! (Just make a pull request)