0.前言python
今年暑假买了个1660ti的游戏本学python,后来发现跑一些数据量比较大的代码和深度学习的时候太慢了,遂想装一下GPU版本,看了网上的资料搞了好几天,又是CUDA又是cudnn的,网速慢不说,装完还各类报错,最后发现随着anaconda和tensorflow的更新,如今利用anadonda只要一行命令就能完成。(装好虚拟环境后,直接看4.2)机器学习
1. 安装anaconda学习
这部分没啥难度,只要注意两点:测试
1.去官网下载https://www.anaconda.com/distribution/,而不要去清华的镜像站(已经好久没有更新了),官网下比清华慢一点,但相信我这是值得的。url
2.安装的时候建议直接把两个勾都选上(网上的其余教程都建议不勾选而后手动添加PATH,但我发现直接勾上没问题,以后加PATH反而有各类问题出现)spa
#.若是以前电脑里已经有安装python,建议先卸载再装anaconda,这样能避免不少问题code
作完这一步你就拥有了一个预装了不少包的base环境,包括pandas和numpy,足够初学者作不少事情了。blog
2. 换清华源教程
虽然上面说anaconda的安装包不要去清华上下,可是用镜像站来下载和更新python包仍是能够的(能快上很多)。打开CMD,复制打入就行token
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/
conda config --set show_channel_urls yes
3.建立一个另外的虚拟环境
起先看网上教程的时候一直不明白这一步有什么用,处理了不少报错之后发现这是为了不依赖包版本冲突。例如你在官网上下载的anaconda,自带的base环境是python3.8,而tensorflow是建议装python3.6,它要求的各类依赖包也是python3.6时代的,直接在base环境下安装,须要将原本是最新的软件包降级,可能会影响其余包,最新的功能就用不到了。
因此建立虚拟环境能够彻底避免依赖包冲突,须要使用tensorflow的时候切换过来就行。
3.1 打开CMD(若是你把anaconda装在了C盘,建议使用管理员运行,能够事先避免权限报错),键入:
conda create -n env_gpu python=3.6
(env_gpu是你给虚拟环境起的名字,依我的喜爱就行,网上大多叫tensorflow或者env_tf2,我这边叫env_gpu是由于我用这个环境来跑须要gpu加速的任务:tensorflow-gpu和cupy)
按y回车,anaconda就会安装一些必须的包(换源以后是很快的)
4. 在虚拟环境下安装tensorflow-GPU(用于机器学习)和cupy(numpy的GPU加速版本)
4.1 首先激活虚拟环境:
conda activate env_gpu
(整个第4步的cmd都别关掉,用同一个,假如手滑关了,就要再激活一次虚拟环境)
能够看到前面有个括号代表所在的环境
4.2.安装tensorflow-gpu和cupy
conda install tensorflow-gpu=2.0.0
conda install cupy
(一行一行来)
能够看到anaconda会自动安装匹配版本的cuda和cudnn,不用去英伟达官网下载了,也避免了操心版本问题。
4.3 安装spyder, jupyter notebook
由于咱们在第三步建立了一个独立的虚拟环境,和原来base环境里的spyder和jupyter notebook是不通用的,因此在这个环境下手动安装一个就行:
conda install spyder
conda install jupyter
安装完之后能够在开始菜单搜索spyder,(anaconda)结尾的是base环境下的spyder, (env_gpu)结尾的是这个环境下的spyder。
5.测试一下吧
5.1 打开spyder(env_gpu)
5.2 键入一些测试的code
5.3 cupy也导入测试下
都没有报错,大功告成!