【深度学习】在linux和windows下anaconda+pycharm+tensorflow+cuda的配置
在linux和windows下anaconda+pycharm+tensorflow+cuda的配置
在linux和windows下anaconda+pycharm+tensorflow+cuda的配置
第一次在csdn上写博客,纯粹是为了想自己以后可以来看看之前踩得坑,也方便以后遇到同样的问题的时候能够有经验解决
Window10
首先是在Linux下,刚开始之所以会遇到这个问题是在跑Github上的一个代码,是需要用到tensorflow框架,之后配好环境后代码是能够跑通的,但是计算速度非常慢,使用nvidia-smi查看之后发现并没有用到GPU,应该还是在用cpu在跑,但是代码里也都对GPU进行了调用,所以就很奇怪,寻思之前就对cuda什么的这些不了解,就趁着这次机会可以好好解决一下这个问题。
1.Anaconda+pycharm
2. cuda和cudnn的安装
3. 与tensorflow的关系;
4. tensorflow与tensorflow-gpu
1、Anaconda+pycharm
Anaconda 是一个基于 Python 的数据处理和科学计算平台,它已经内置了许多非常有用的第三方库,装上Anaconda,就相当于把 Python 和一些如 Numpy、Pandas、Scrip、Matplotlib 等常用的库自动安装好了,使得安装比常规 Python 安装要容易。如果选择安装Python的话,那么还需要 pip install 一个一个安装各种库,安装起来比较痛苦,还需要考虑兼容性,非如此的话,就要去Python官网(https://www.python.org/downloads/windows/)选择对应的版本下载安装,可以选择默认安装或者自定义安装,为了避免配置环境和安装pip的麻烦,建议勾选添加环境变量和安装pip选项
此外,anaconda安装成功后可以很方便的创建虚拟环境,对于不同的projects是会需要不同版本的python解释器,这时候利用anaconda就可以很方便的对于不同的环境进行管理。
anaconda和pycharm的安装和配置可详见这篇博客:https://zhuanlan.zhihu.com/p/36389880
对于我而言,因为在之前安装的过程中并没有勾选环境变量,所
以需要在安装完anaconda后添加环境变量,也就是首先找到anaconda的安装路径,然后找到一个scripts文件,点击后将路径复制

然后,右键“我的电脑”>选择“属性”>高级系统设置>环境变量

这时候直接在cmd里输入python就会是anaconda里base的python版本,conda也不是内部命令。

这时候就大功告成了,可以使用conda来创建虚拟环境,对各个projects的管理也方便和很多。常用的conda的命令


2、cuda和cudnn的安装
用GPU计算肯定离不开显卡,显卡的好坏决定了你的运算速度。首先查看你的显卡,gpu算力需要5.0以上的显卡才能进行GPU的计算,可参考下面的博客:https://blog.csdn.net/huixingshao/article/details/82215703 然后就是安装CUDA和cuDNN。
可查看自己电脑的显卡支持的最高版本的cuda,从控制面板里搜nvidia控制面板,在系统信息里可以看到显卡驱动和支持的cuda版本,显卡驱动个cuda版本的对应关系:https://blog.csdn.net/zl535320706/article/details/83474849


之后cuda和cudnn的安装和配置可按照这篇博客进行。
https://blog.csdn.net/Coppa/article/details/90573236
注:cuda安装完成后如果测试代码可能会有问题,重启一下电脑可能会解决。
验证是否安装成功可以直接在cmd里用nvcc --version查看cuda的版本。

3、与tensorflow的关系
众所周知,tensorflow是一个深度学习的框架,我们在跑github上的代码的时候经常会在readme文件里告知此项目需要的tensorflow版本,所以这也是需要创建虚拟环境的好处,可以很容易对不同的项目使用不同的环境,但是一旦用到tensorflow-gpu版本的话就需要使用cuda来进行加速,但是我们在之前已经安装好了cuda的版本,不同的cuda版本是有对应的tensorflow-gpu版本的,具体可参考:https://blog.csdn.net/qq_27825451/article/details/89082978
这里需要注意的是,如果是使用pip install tensorflow-gpu 这时候的tensorflow-gpu是和在电脑里装的cuda和cudnn对应的,所以安装的版本要注意,这时候就会产生一个问题,我们不同的项目是需要使用不同的tensorflow版本的,那我们每次还需要再重新安装cuda吗?其实是不用的,使用pip进行安装时是只会安装install之后的包,但是如果使用的是conda install进行安装,则还会安装除了这个包外其他可能会用到的依赖项,所以如果conda install tensorflow-gpu时就会看到

是默认已经安装了cuda和cudnn的,而且版本是已经适配好的,所以在使用conda进行安装的时候其实是并没有看外部电脑系统里带的cuda版本,所以,这样就可以使用虚拟环境随意使用不同的cuda和tensorflow版本。但是也有一个问题,比如我的系统cuda是9.0,我在使用pip install tensorflow-gpu1.6的时候是可以安装并且跑成功的,但是当我使用conda install tensorflow-gpu1.6的时候就无法进行安装,当调整为1.10版本的时候就可以了,这是目前无法理解的问题,可能是系统自带的cuda还是会影响tensorflow的版本,亦或者是python的版本问题,之后还需要进行解决。

4、tensorflow与tensorflow-gpu
有一个例子说的很好
GPU的工作大部分就是这样,计算量大,而且要重复很多很多次。就像你有个工作需要算几亿次一百以内加减乘除一样,最好的办法就是雇上几十个小学生一起算,一人算一部分
CPU就像老教授,积分微分都会算,就是工资高,一个老教授资顶二十个小学生,你要是富士康你雇哪个
CPU和GPU因为最初用来处理的任务就不同,所以设计上有不小的区别,而某些任务和GPU最初用来解决的问题比较相似,所以用GPU来算了
GPU的运算速度取决于雇了多少小学生,CPU的运算速度取决于请了多么厉害的教授。教授处理复杂任务的能力是碾压小学生的,但是对于没那么复杂的任务,还是顶不住人多。
当然现在的GPU也能做一些稍微复杂的工作了,相当于升级成初中生高中生的水平。但还需要CPU来把数据喂到嘴边才能开始干活,究竟还是靠CPU来管的。
gpu版安装麻烦,需要涉及到cuda(显卡驱动)和cdnn 以及tensorflow-gpu的配置很麻烦,即使安装成功后,调用一大堆问题,只有解决了这些问题才是真的安装好了,并不是有了这个东西就算安装好了。
网上说的tensorflow-gpu的安装会覆盖tensorflow(cpu版),即使tensorflow存在,也是被覆盖了。
我在自己尝试的时候使用conda安装gpu会把cpu版本的也装上,但是在使用的时候是可以直接指定gpu进行使用的。
Linux
linux下基本和windows是一致的。需要注意的点如下。
1、环境变量
linux下的环境变量可以直接编辑./bashrc文件。
命令:ls -a 找到文件 .bashrc;
gedit~./bashrc 打开文件后直接在文件的最末尾加上要添加的环境变量,export PATH=路径:$PATH,之后还需要source回到跟目录即可


2、想到再写吧
【深度学习】在linux和windows下anaconda+pycharm+tensorflow+cuda的配置的更多相关文章
- windows 下 Anaconda 安装 TensorFlow
转自: https://www.cnblogs.com/nosqlcoco/p/6923861.html 什么是 Anaconda? Anaconda is the leading open data ...
- windows下Anaconda的安装与配置正解
一.下载anaconda 第一步当然是下载anaconda了,官方网站的下载需要用迅雷才能快点,或者直接到清华大学镜像站下载. 清华大学提供了镜像,从这个镜像下载速度很快,地址: https://mi ...
- windows下的pycharm配置 linux环境
由于最近学习python的需要,为了方便程序的调试,尝试在Windows下的Pycharm远程连接到虚拟机中Centos下的python环境.(这里我采用的是ssh的远程连接)1.准备工作: 固定ce ...
- 转 windows下安装pycharm并连接Linux的python环境 以及 windows 下notepad ++编辑 linux 的文件
######sample 1:windows下安装pycharm并连接Linux的python环境 https://www.cnblogs.com/junxun/p/8287998.html wind ...
- [笔记]linux下和windows下的 创建线程函数
linux下和windows下的 创建线程函数 #ifdef __GNUC__ //Linux #include <pthread.h> #define CreateThreadEx(ti ...
- 【转】linux和windows下安装python集成开发环境及其python包
本系列分为两篇: 1.[转]windows和linux中搭建python集成开发环境IDE 2.[转]linux和windows下安装python集成开发环境及其python包 3.windows和l ...
- protobuff 配合 libevent 在Linux 和windows 下的使用
protobuff 配合 libevent 在Linux 和windows 下的使用待补全. libprotobuf.lib libproto-lite.lib libprotoc.lib
- tar.xz如何解压:linux和windows下tar.xz解压命令介绍
在linux下怎么解压和压缩tar.xz文件? (本文由www.169it.com搜集整理) 在linux下解压tar.xz文件步骤 1 2 # xz -d ***.tar.xz //先解压xz # ...
- Linux和Windows下查看环境变量方法对比
摘自:Linux和Windows下查看环境变量方法对比 一.查看所有环境变量的名称和值 Linux下:export Windows下:set 二.根据名称查该环境变量的值 Linux下:echo $环 ...
随机推荐
- TensorFlow实现多层感知机函数逼近
TensorFlow实现多层感知机函数逼近 准备工作 对于函数逼近,这里的损失函数是 MSE.输入应该归一化,隐藏层是 ReLU,输出层最好是 Sigmoid. 下面是如何使用 MLP 进行函数逼近的 ...
- CVPR2020:扩展架构以实现高效的视频识别(X3D)
CVPR2020:扩展架构以实现高效的视频识别(X3D) X3D: Expanding Architectures for Efficient Video Recognition 论文地址: http ...
- Centos8配置Nginx开机自启动
第一步:创建service文件,并编辑(可理解为开机时自动启动Nginx的脚本服务文件) vim /lib/systemd/system/nginx.service /lib 与 /usr/lib 里 ...
- java后端知识点梳理——web安全
跨域 当浏览器执行脚本时会检查是否同源,只有同源的脚本才会执行,如果不同源即为跨域. 这里的同源指访问的协议.域名.端口都相同. 同源策略是由 Netscape 提出的著名安全策略,是浏览器最核心.基 ...
- 理解Spring:IOC的原理及手动实现
Spring是一个分层的JavaSE/EE full-stack(一站式) 轻量级开源框架.也是几乎所有Java工作者必须要掌握的框架之一,其优秀的设计思想以及其代码实现上的艺术也是我们需要掌握的. ...
- oracle 11g查看alert日志方法
一.第一种方法 1.切换到oracle用户 su - oracle 2.进入sqlplus窗口 sqlplus / as sysdba 3.执行sql命令,查看trace文件位置:background ...
- 温故而知新--day5
温故而知新--day5 ip地址 IP是英文Internet Protocol的缩写,意思是"网络之间互连的协议",也就是为计算机网络相互连接进行通信而设计的协议.当多个设备要进行 ...
- HashMap 中7种遍历方式的性能分析
随着 JDK 1.8 Streams API 的发布,使得 HashMap 拥有了更多的遍历的方式,但应该选择那种遍历方式?反而成了一个问题. 本文先从 HashMap 的遍历方法讲起,然后再从性能. ...
- 给STM32MP157C-DK2烧录固件
环境: 一台PC(window/linux) STM32CubeProgrammer 我下载到的是 2.1 版本(19\07\10下载的) 里面的文件是: 里面有 3 个文件,分别window.Lin ...
- Vue 利用后端的数据字典和Map对象实现表格列字段动态转义的处理方案
1.前言 Vue中,使用el-table组件,经常遇到列字段转义的问题.常规处理方法有以下两种: 方法1:在模板中使用v-if,直接转义.如: <el-table-column label= ...