【深度学习】在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 $环 ...
随机推荐
- L3级自动驾驶
L3级自动驾驶 2020年开年 3月9日,工信部在其官网公示了<汽车驾驶自动化分级>推荐性国家标准报批稿,并拟于2021年1月1日开始实施. 按照中国自身标准制定的自动驾驶分级标准,在千呼 ...
- MindSpore 高阶优化器
MindSpore 高阶优化器 MindSpore自研优化器THOR(Trace-based Hardware-driven layer-ORiented Natural Gradient Desce ...
- P1828 [USACO3.2]香甜的黄油 Sweet Butter
题目描述 农夫$John$发现做出全威斯康辛州最甜的黄油的方法:糖.把糖放在一片牧场上,他知道$N(1\leqslant N\leqslant 500)$只奶牛会过来舔它,这样就能做出能卖好价钱的超甜 ...
- PHPList 安装
邮件发送开源软件 PHPList 安装介绍 1:安装基本信息 官网地址 地址:https://www.phplist.com/ 其他:https://www.d-ip.jp/phplist/ 官网手册 ...
- Luat Inside | 多功能YAP物联网终端机,你不会还不知道吧?
简洁高效是合宙产品的一个重要特点,合宙的工程师们用Demo取代繁杂的说明书,以便于开发者快速上手. 有没有可能把这个学习的过程变得更有趣,并且把技术入门难度进一步降低?作为一名Luat技术爱好者,我对 ...
- 【Azure Redis 缓存】由Azure Redis是否可以自定义密码而引申出Azure PaaS的Redis服务是否可以和自建的Redis进行主从配置呢?
问题描述 在自建的Redis服务中,可以通过 config set requirepass <Password> 设置Redis的登录密码,然后使用auth 命令输入密码.操作命令如下: ...
- java面试技巧及层次。
不断的积累,从打算找工作之日起,就要坚持在每天闲暇之余学习其中几道题目,日积月累,等到出去面试时,一切都水到渠成,面试时就自然会游刃有余了. 答题时,先答是什么,再答有什么作用和要注意什么,这里给人的 ...
- 【模拟7.27】题(liu_runda的神题)(卡特兰数,组合数)
考场的SB经验不再分享 case 0: 一道组合计数的水题,具体不再讲可以看以前的相似题 case 1: 很明显的卡特兰计数,我们把长度为n的序列看成01串 关于卡特兰计数的详细的讲解 由此可知我们需 ...
- Java安全之挖掘回显链
Java安全之挖掘回显链 0x00 前言 前文中叙述反序列化回显只是为了拿到Request和Response对象.在这里说的的回显链其实就是通过一连串反射代码获取到该Request对象. 在此之前想吹 ...
- 【Python】(六)Python数据类型-列表和元组,九浅一深,用得到
您好,我是码农飞哥,感谢您阅读本文,欢迎一键三连哦. 本文分十个章节介绍数据类型中的列表(list)和元组(tuple),从使用说到底层实现,包您满意 干货满满,建议收藏,需要用到时常看看. 小伙伴们 ...