当前位置:首页 >> 脚本专栏

Window版下在Jupyter中编写TensorFlow的环境搭建

在疫情飘摇的2020年初,TensorFlow发布了2.1.0版本,本Python小白在安装过程中遇坑无数,幸得多年练就的百度功力终于解决,特记录下来以免后人跳坑。

准备工作

Python 3.6或3.7 。TensorFlow2.1.0版本将是最后一个支持Python 2的版本,但Python3.8还不支持,因此请自行从官网下载安装Python 3.6或3.7(我安装的是3.6)。

一、搭建虚拟环境(以下顺序不要乱)

virtualenv可以搭建虚拟且独立的Python环境,解决不同的工程依赖不同版本的库的问题,亦可使不同环境仅保留项目有用的库以免引发未来的依赖灾难。

1. 安装virtualenv

pip3 install virtualenv 安装virtualenv

任意目录> pip3 install virtualenv

2. 安装virtualenvwrapper

virtualenv的一个最大的缺点就是,每次开启虚拟环境要去虚拟环境所在目录下的bin目录下运行一下activate,这不仅麻烦,还需要我们记住每个虚拟环境所在的目录,which你应该记不住。这时,我们就可以使用virtualenvwrapper管理你的虚拟环境的目录,以后每次使用只需要 work on 虚拟环境名 即可。

pip3 install virtualenvwrapper-win 安装Windows版virtualenvwrapper

任意目录> pip3 install virtualenvwrapper-win

3. 创建WORKON_HOME环境变量

在我的电脑-属性-高级系统设置-环境变量-系统变量中,添加WORK_ON变量,存储你想要创建的虚拟环境的地址。

Window版下在Jupyter中编写TensorFlow的环境搭建

4. 创建虚拟环境

mkvirtualenv 你的虚拟环境名称 [--python=安装路径\python.exe] 会创建一个指定Python版本的虚拟环境

任意目录> mkvirtualenv v36env --python=D:\Python\Python36\python.exe

这会在我的WORKON_HOME目录创建一个v36env文件夹,使用我安装在D:\Python\Python36\目录下的3.6版本的Python

5. 使用虚拟环境

workon 命令会列出你当前的虚拟环境名称(其实列出的是WORKON_HOME目录下所有文件夹的名称)
workon 虚拟环境名称 激活虚拟环境并在虚拟环境上工作

任意目录> workon
Pass a name to activate one of the following virtualenvs:
=============================================================
v36env

任意目录> workon v36env
(v36env) 任意目录>

6. 离开、删除虚拟环境

deactivate 当虚拟环境使用完毕,用这个命令退出

(v36env) 任意目录> deactivate
任意目录>

rmvirtualenv 虚拟环境名称 删除虚拟环境(其实就是删除文件夹,你手动删除也可以)

任意目录> rmvirtualenv v36env
  Deleted D:\Python\Env\v36env
任意目录>

二、安装TensorFlow(以下顺序可以乱)

1. 在虚拟环境中安装TensorFlow

在命令行中进入你的虚拟环境所在目录(我的是D:\Python\Env),然后workon 虚拟环境激活并开始使用虚拟环境。
pip install tensorflow安装TensorFlow,这个过程比较漫长。

如果你还需要其他数据分析相关的库,比如pandas,matplotlib,也需要在虚拟环境中安装

D:\Python\Env>workon v36env
(v36env) D:\Python\Env> pip install tensorflow

2. 确保你安装了VC++2015

TensorFlow是基于VC++2015开发的,所以需要下载安装 Microsoft Visual C++ Redistributable for Visual Studio 2015, 2017 and 2019 来获取MSVCP140.DLL的支持。安装方法很简单,点击上面链接在官网下载安装即可。

3. 安装CUDA和CUDNN

TensorFlow 2.1.0 现在默认包括针对 Linux 和 Windows 的 GPU 支持,因此需要安装NVIDIA CUDA Toolkit和对应版本的NVIDIA CUDA Deep Neural Network library (cuDNN) 。我安装的是10.1版本,现在已经有10.2版本了。下载cuDNN的时候需要免费注册NVIDIA账号,当然如果你是像我一样吃鸡的小伙伴对显卡有稍高需求,那你八成已经有这个帐号了。
顺便吐槽一下NVIDIA账号什么都没有,还非要密码包含大小写加符号,我三次输入错误后账号被锁,想通过contact us解锁却发现给客服发邮件需要先登录 >_<

4. 检验TensorFlow是否安装成功

在虚拟环境中,运行import tensorflow,如果没有报错,恭喜你,你成功了一大半了!如果报错了,那也恭喜你,你发现了我还没发现的坑,请你稳住心态,移步百度。

(v36env) D:\Python\Env\v36env> python
Python 3.6.8 (tags/v3.6.8:3c6b436a57, Dec 24 2018, 00:16:47) [MSC v.1916 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
> import tensorflow as tf
2020-04-08 21:05:37.219916: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library cudart64_101.dll
>

三、在Jupyter中编写TensorFlow代码

别问我为啥要在Jupyter Notebook中编写TensorFlow,人家还是小白~

1. 安装ipykernel

pip install ipykernel 在刚刚你的虚拟环境中,安装ipykernel

(v36env) D:\Python\Env\v36env> pip install ipykernel

2. 在Jupyter中添加虚拟环境

python -m ipykernel --user --name 虚拟环境名 [--display-name Jupyter中要显示的名字]

(v36env) D:\Python\Env> python -m ipykernel --user --name v36env
(v36env) D:\Python\Env> jupyter notebook

打开后Jupyter Notebook后,就可以在Kernel-Change kernel中看到刚刚添加的虚拟环境了,我的是v36env。当你选择该虚拟环境后,右上角应该显示为可信的(而不是挂掉了)。

Window版下在Jupyter中编写TensorFlow的环境搭建

3. 在Jupyter中编写TensorFlow

来了老铁!
现在你可以在cell里输入import tensorflow并运行一下,如果没有报错,那么恭喜你终于成功的搭建好了编程环境,可以开始编写TensorFlow代码了!

Window版下在Jupyter中编写TensorFlow的环境搭建