本文链接:https://blog.csdn.net/tjhyx2012/article/details/112955582

作为一名新手,也是出于兴趣,我通过查找有关资料,使用RTX3080显卡搭建了基于Pycharm+Python+Cuda+cuDNN+TensorFlow工具的开发环境,也解决了一些问题,希望对刚入门深度学习的新手有所帮助,也欢迎比较懂的朋友多提宝贵意见,相互学习。

一、软、硬件准备

A. 硬件准备

看到标题进来的朋友自然要知道,要搭建基于Pycharm+Python+Cuda+cuDNN+TensorFlow,显卡是必备的,而且必须是NVIDIA的,所以要搭建这样一个环境,自然少不了一块能进行AI开发的显卡,以下是本文使用的配置概览:

操作系统            Windows 10 专业版 64位

处理器              英特尔 Core i5-10400F
  主板                技嘉 B460 AORUS PRO AC ( LPC Controller B460芯片组 )
  主显卡              Nvidia GeForce RTX 3080 ( 10 GB / 华硕 )
  内存                64 GB ( 金士顿 DDR4 2666MHz )
  主硬盘              三星 SSD 970 EVO Plus 500GB ( 500 GB / 固态硬盘 )

B. 软件准备

1,Pycharm专业版或者社区版。如果有教育邮箱可申请1年免费使用期,社区版需要注册并登录邮箱账号即可免费使用,Pycharm官网下载地址:https://www.jetbrains.com/pycharm/download/#section=windows,本文使用的版本为 PyCharm 2020.3.2 64位专业版。

2,Python软件。需要查看TensorFlow所支持的版本,具体参考TensorFlow官网中GPU版本部分(https://tensorflow.google.cn/install/source_windows#gpu),当确定Python版本后,可前往官网下载:https://www.python.org/,本文使用版本为Python3.8 64位,因为TensorFlow目前最新版本为2.4.0,通过查询TensorFlow官网得知,目前支持的Python版本号为3.8。

3,Cuda软件。CUDA下载页面:https://developer.nvidia.com/cuda-downloads,这里需要提醒的是不一定非要按照TensorFlow官网中对应的Cuda与cuDNN版本下载,后面我再详细介绍如何解决这一问题。本文使用Cuda版本为目前最新版CUDA Toolkit 11.2。

4,cuDNN软件。下载地址:https://developer.nvidia.com/rdp/cudnn-archive,需要注册账号下载,或者选择对应版本号之后右键下载。本文使用cuDNN版本号为cudnn-11.1-windows-x64-v8.0.4.30。

5,TensorFlow GPU版本软件安装。官网介绍:https://tensorflow.google.cn/install/source_windows#gpu。本文在Pycharm中的安装版本为tensorflow-gpu 2.4.0。

二、开发环境搭建步骤

当准备好以上软硬件之后,以下介绍一下我搭建基于Pycharm+Python+Cuda+cuDNN+TensorFlow的深度学习开发环境的步骤,没有必须,仅供参考。

步骤一:

为了在Pycharm安装完成后能够使用Python解释器,我们首先安装Python,按照第一节提供的网站,我们前往Python官网下载Python3.8版本,如下图所示,我们不是下载最新版的,因此要在Downloads选项卡下,选择“View the full list of downloads”,

点进去之后我们向下选择Python 3.8.7,选择“Download”,点击进入之后,我们拖动页面到最后选择64位版本的下载,并安装。如下图所示。

Python的具体安装步骤这里不再介绍,可参考安装例程,需要注意的是将安装完成的Python添加到环境变量中,如何添加环境变量可参考链接:https://blog.csdn.net/tjhyx2012/article/details/112793144

步骤二:

完成Python安装之后,接下来安装Pycharm软件,前往官网下载最新版,如下图:

安装完成后,打开Pycharm,新建一个项目并保存,之后在“文件”中的"Settings"界面中,我们选择Python3.8作为编译器,其他默认即可,下图是设置好之后的界面:

步骤三:

安装tensorflow-gpu。打开Pycharm,新建一个项目并保存,之后打开“文件”中的"Settings"界面,并点击左下角的“+”号,在弹出的搜索框中输入“TensorFlow-gpu”,并点击左下角“install package”进行安装。

安装完成后如下图:

步骤四:

安装Cuda。通过查阅资料可知,在安装Cuda开发套件之前,最好先安装VS2019环境,VS2019的安装这里不再介绍,默认已安装好VS2019环境。接下来安装cuda_11.1.0_456.43_win10.exe(按说应该是11.2版本,可下载下来之后显示是11.1)。在安装时,需要对安装包先解压然后在执行安装,安装过程中,我们最好选择自定义安装,随后如果出现让安装英伟达驱动之类的可以取消,因为电脑中这些驱动应该是已经装好的,如果电脑之前没装过显卡驱动,当然可以选择。安装完成之后,打开命令窗口,并输入nvcc -V,检查是否已安装Cuda,如果出现如下图所示,表明安装成功。

步骤五:

安装cuDNN。官网下载cudnn-11.1-windows-x64-v8.0.4.30版本之后,将其解压缩,并将其中的bin、include、lib三个文件夹复制并粘贴到Cuda的安装目录下即可,我的路径如下:D:\Program Files (x86)\NVIDIA GPU Computing Toolkit\CUDA\v11.1

三、测试

为了验证本文所搭建环境是可用的,接下来用一个测试例对TensorFlow-gpu进行测试。以下两个例程的下载地址为:链接:https://pan.baidu.com/s/1wAdEWXdp6JI9dSEUap9Dsw ,提取码:eddc

测试步骤:

测试 1:打开Pycharm,并建立一个工程,本文所建工程名称及路径分别为pythonProject01,F:\PycharmProjects\pythonProject01,随后点击“文件”并新建一个python文件,起名为test1.py,并将以下代码输入其中,如下图所示:

test1.py中的测试代码如下:

import tensorflow as tf;
import os;os.environ['TF_CPP_MIN_LOG_LEVEL']='2';a = tf.constant(1.);
b = tf.constant(3.);
print(a+b);print('GPU:', tf.test.is_gpu_available())

随后,点击右上角绿色运行按钮,执行测试程序,运行完整结果如下:

由以上运行结果发现,结果不对,输出结果中出现GPU:False,表明这个测试程序并没有利用GPU执行,分析运行结果查找原因我发现在运行结果中又这么一段话:

表明cusolver64_10.dll这个文件缺失,难道就是缺少它而引起的结果不对吗?于是我就思考是否把这个文件找到并放到它应该在的文件中就可以解决问题了。于是,我打开Cuda安装目录,查找所有前面已经成功安装扩展文件的位置,找到一个其他的自然也就找到了,我就找cudart64_110.dll这个文件,终于通过在Cuda安装目录下搜索,我发现它所在的目录为D:\Program Files (x86)\NVIDIA GPU Computing Toolkit\CUDA\v11.1\bin,如下图

其他所用到的几个应用程序扩展文件也都在这个文件夹里面,那么cusolver64_10.dll文件也在里面吗?显然没有,但是,有一个文件名为cusolver64_11.dll的文件,与cusolver64_10.dll文件相比,就是最后一位数变成了1呀,于是我想这个能不能直接把cusolver64_11.dll这个文件名改成cusolver64_10.dll,为了不把源文件替换掉,我将cusolver64_11.dll这个复制并粘贴到这个bin文件夹里,如下,

之后,我将cusolver64_11 - 副本.dll文件名更改为cusolver64_10.dll,再运行test1.py测试程序,结果如下:

运行结果显示,GPU:True,表明此程序是由GPU执行运算的,并且出现“Successfully opened dynamic library cusolver64_10.dll”,表明cusolver64_10.dll文件被成功打开,问题成功得到解决。

测试 2:与测试1中test1中方法一样,我们新建另外一个测试文件test2.py,测试代码如下,目的是比较CPU和GPU的运算速度.

import tensorflow as tf
import timeitwith tf.device('/cpu:0'):cpu_a = tf.random.normal([10000, 1000])cpu_b = tf.random.normal([1000, 2000])print(cpu_a.device, cpu_b.device)with tf.device('/gpu:0'):gpu_a = tf.random.normal([10000, 1000])gpu_b = tf.random.normal([1000, 2000])print(gpu_a.device, gpu_b.device)def cpu_run():with tf.device('/cpu:0'):c = tf.matmul(cpu_a, cpu_b)return cdef gpu_run():with tf.device('/gpu:0'):c = tf.matmul(gpu_a, gpu_b)return c# warm up
cpu_time = timeit.timeit(cpu_run, number=10)
gpu_time = timeit.timeit(gpu_run, number=10)
print('warmup:', cpu_time, gpu_time)cpu_time = timeit.timeit(cpu_run, number=10)
gpu_time = timeit.timeit(gpu_run, number=10)
print('run time:', cpu_time, gpu_time)

之后,我们选中test2.py,点击鼠标右键执行,如下

运行结果如下所示:

结果中,第一个为CPU运行时间,第二个为GPU运行时间,测试成功。至此,整个开发环境搭建完成。

附:Cuda开发套件中多个应用程序扩展cusolver64_10.dll等文件的下载地址:链接:https://pan.baidu.com/s/1pGCKF_y5E5er59Vdje2DFw ,提取码:syif

以上文字与截图均为本人原创,由于知识水平有限,难免存在不足,还请多多指教!

本文链接:https://blog.csdn.net/tjhyx2012/article/details/112955582

使用RTX3080显卡搭建基于Pycharm+Python+Cuda+cuDNN+TensorFlow的深度学习开发环境相关推荐

  1. 以Windows系统搭建基于Ethereum(以太坊)的区块链开发环境(具体操作与截图)

    以Windows系统搭建基于Ethereum(以太坊)的区块链开发环境(具体操作与截图) 区块链设计开发小组     2019/04/01 借鉴博客:https://blog.csdn.net/cui ...

  2. WindowServer2012R2+Anoconda3.5.0.1+CUDA9.0+cuDNN7.1.3+Tensorflow-gpu1.6离线搭建深度学习开发环境

    WindowServer2012R2+Anoconda3.5.0.1+CUDA9.0+cuDNN7.1.3+Tensorflow-gpu1.6离线搭建深度学习开发环境 关键词:Windows,Tens ...

  3. 【Linux Mint 深度学习开发环境搭建】开发软件安装

    系列文章目录 第一章 Linux mint 深度学习开发环境搭建之Nvidia显卡相关软件安装 第二章 Linux mint 深度学习开发环境搭建之开发软件安装 第三章 Linux mint 深度学习 ...

  4. 基于Anaconda安装GPU版PyTorch深度学习开发环境

    基于Anaconda安装GPU版PyTorch深度学习开发环境 1 安装Anaconda 2 安装GPU计算驱动 2.1 检查是否有合适的GPU 2.2 下载CUDA和cuDNN 2.3 安装CUDA ...

  5. 【机器学习】深度学习开发环境搭建

    工欲善其事,必先利其器.首先我们需要花费一些时间来搭建开发环境. 1.安装python.python是人工智能开发首选语言. 2.安装virtualenv.virtualenv可以为一个python应 ...

  6. Docker入门指南:基于 docker 搭建机器学习/深度学习开发环境

    实际工作中,许多项目开发需要在Linux服务器上进行,本文为习惯使用 Windows 操作系统的朋友介绍一种基于Docker的,跨平台.便携性(方便移植.重新部署.可远程访问)的开发环境搭建方法. 1 ...

  7. 基于Pycharm运行李沐老师的深度学习课程代码

    最近在b站看李沐老师的深度学习课程,受益颇多.不过觉得光看视频实在是不过瘾,最好还是能实际的玩起来.鉴于我还是习惯使用pycharm,且不需要过多的中间过程展示,所以代码的编写基本都是在pycharm ...

  8. 手把手教你搭建深度学习开发环境(Tensorflow)

    前段时间在阿里云买了一台服务器,准备部署网站,近期想玩一些深度学习项目,正好拿来用.TensorFlow官网的安装仅提及Ubuntu,但我的ECS操作系统是 CentOS 7.6 64位,搭建Pyth ...

  9. 暗影精灵双系统(win10和Ubuntu16.04)安装+Cuda和tensorflow安装-深度学习环境配置

    参考教程一:https://blog.csdn.net/qq_42121640/article/details/80635071 参考教程二:https://blog.csdn.net/zr45992 ...

最新文章

  1. python3中format方法_python3 自定制format格式化,很多很多的内置方法。。。。。。。。。。。...
  2. win7访问不了服务器共享文件夹权限设置,win7系统开启共享文件夹访问权限的操作方法...
  3. Django搭建简单的站点
  4. 关于switch-case问题
  5. C语言变量定义和赋值
  6. 服务器旧图片维护,图片服务器
  7. 金币问题c语言程序,【求助】急请c语言高手帮忙解决程序问题(问题已经被我自己解决,金币送给自己啦)...
  8. springmvc-实现增删改查
  9. 软考网络工程师学习笔记5-局域网与城域网(二)
  10. Centos6.x X64 飞信安装
  11. 根据前序和中序构造整个二叉树
  12. Silverlight.XNA(C#)跨平台3D游戏研发手记:(七)向Windows Phone移植之双向交互
  13. 提交文件到svn,提示is not under version control
  14. IDEA 格式化代码快捷键冲突解决
  15. 斐讯k2路由器刷pandorabox认证哆点Drcom
  16. HDU - 1546 Idiomatic Phrases Game
  17. 浅谈聚合支付系统的安全性
  18. 三星发布家用microLED电视,LG感到压力很大
  19. 通过Cli方式创建uni-app常见错误整理
  20. POJ No. 3253 Fence Repair

热门文章

  1. 基于javaweb+mysql的人脸识别登录系统(java+springboot+maven+mysql)
  2. (AS笔记)Android全透明沉浸式主题样式——顶部状态栏+底部导航栏
  3. win10计算机升级系统,如何更新Win10计算机的BIOS
  4. Recast Navigation工具编译生成
  5. 图片怎么转换成PDF格式?给大家分享两种转换方法
  6. cryp:x:未分类的记录
  7. 雪狐html5,【干货】如何实现H5移动端无缝滚动动画
  8. mysql 中英按字母排序_利用MySQL数据库来处理中英文取首字母排序
  9. YT1s 一款免费在线的youtube mp3 mp4下载器
  10. php 祖父的方法,覆盖php中的祖父母方法