在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的配置的更多相关文章

  1. windows 下 Anaconda 安装 TensorFlow

    转自: https://www.cnblogs.com/nosqlcoco/p/6923861.html 什么是 Anaconda? Anaconda is the leading open data ...

  2. windows下Anaconda的安装与配置正解

    一.下载anaconda 第一步当然是下载anaconda了,官方网站的下载需要用迅雷才能快点,或者直接到清华大学镜像站下载. 清华大学提供了镜像,从这个镜像下载速度很快,地址: https://mi ...

  3. windows下的pycharm配置 linux环境

    由于最近学习python的需要,为了方便程序的调试,尝试在Windows下的Pycharm远程连接到虚拟机中Centos下的python环境.(这里我采用的是ssh的远程连接)1.准备工作: 固定ce ...

  4. 转 windows下安装pycharm并连接Linux的python环境 以及 windows 下notepad ++编辑 linux 的文件

    ######sample 1:windows下安装pycharm并连接Linux的python环境 https://www.cnblogs.com/junxun/p/8287998.html wind ...

  5. [笔记]linux下和windows下的 创建线程函数

    linux下和windows下的 创建线程函数 #ifdef __GNUC__ //Linux #include <pthread.h> #define CreateThreadEx(ti ...

  6. 【转】linux和windows下安装python集成开发环境及其python包

    本系列分为两篇: 1.[转]windows和linux中搭建python集成开发环境IDE 2.[转]linux和windows下安装python集成开发环境及其python包 3.windows和l ...

  7. protobuff 配合 libevent 在Linux 和windows 下的使用

    protobuff 配合 libevent 在Linux 和windows 下的使用待补全. libprotobuf.lib libproto-lite.lib libprotoc.lib

  8. tar.xz如何解压:linux和windows下tar.xz解压命令介绍

    在linux下怎么解压和压缩tar.xz文件? (本文由www.169it.com搜集整理) 在linux下解压tar.xz文件步骤 1 2 # xz -d ***.tar.xz  //先解压xz # ...

  9. Linux和Windows下查看环境变量方法对比

    摘自:Linux和Windows下查看环境变量方法对比 一.查看所有环境变量的名称和值 Linux下:export Windows下:set 二.根据名称查该环境变量的值 Linux下:echo $环 ...

随机推荐

  1. HiCar SDK概述

    HiCar SDK概述 HUAWEI HiCar SDK 是 HUAWEI HiCar(以下简称 HiCar )为汽车硬件设备提供的软件开发工具包,为汽车硬件厂商接入 HiCar 提供应用 API 接 ...

  2. 基于C语言文件操作的学生成绩管理系统

    原理 在一个班级学生成绩管理系统中,希望处理每个学生的学习情况信息,其中包括学生的学号.姓名.各科名称和成绩等并能使管理人员通过界面完成对学生信息的录入及对学生信息的录入及对数据的查找.浏览.插入.排 ...

  3. mysql表ERROR 144 (HY000)Table 'dede_archives' is marked

    1.故障现象 mysql> select count(*) from dede_archives;ERROR 144 (HY000): Table '.xx' is marked as cras ...

  4. 剑指 Offer 04. 二维数组中的查找

    链接:https://leetcode-cn.com/problems/er-wei-shu-zu-zhong-de-cha-zhao-lcof/ 标签:数组.双指针.二分 题目 在一个 n * m ...

  5. .NET Core/.NET5/.NET6 开源项目汇总2:任务调度组件

    系列目录     [已更新最新开发文章,点击查看详细] 开源项目是众多组织与个人分享的组件或项目,作者付出的心血我们是无法体会的,所以首先大家要心存感激.尊重.请严格遵守每个项目的开源协议后再使用.尊 ...

  6. Java @SuppressWarnings:抑制编译器警告-4

    Java 中的 @SuppressWarnings 注解指示被该注解修饰的程序元素(以及该程序元素中的所有子元素)取消显示指定的编译器警告,且会一直作用于该程序元素的所有子元素.例如,使用 @Supp ...

  7. 【CSAPP】以CTFer的方式打开BufferLab

    [WARNING] 本文是对CSAPP附带的Buffer Lab的究极指北,PWN小白趁机来练习使用pwntools和gdb && 用老朋友IDA查看程序逻辑(可以说是抄小路了x. L ...

  8. Go语言深度比较值是否相等

    Go语言深度比较值是否相等 需求描述: 我们在开发过程中经常会遇到一些需要比较值是否相等的场景,例如比较两个数组.结构体.Map.等,自己写这些代码比较繁琐,大部分时候这里都可以使用到反射reflec ...

  9. 登录华科校园网,我用Socket

    登录华科校园网,我用Socket 导语: 找一个华科学生问一问,学校的网络怎么样?得到的大多数是负面回答.其实不论是从覆盖区域.网络稳定性.还是速度来说,华科做的都还是可以的(24:00断网除外).可 ...

  10. sonarqube 8.9版本配置发信邮箱

    admin登陆sonarqube系统 安装部署sonarqube 请参见我的安装博文: https://www.cnblogs.com/cndevops/p/14934434.html 配置邮箱 配置 ...