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


Posted in Python onApril 10, 2020

在疫情飘摇的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的环境搭建

到此这篇关于Window版下在Jupyter中编写TensorFlow的环境搭建 的文章就介绍到这了,更多相关TensorFlow环境搭建 内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
python中的五种异常处理机制介绍
Sep 02 Python
Python使用itertools模块实现排列组合功能示例
Jul 02 Python
python 字典中取值的两种方法小结
Aug 02 Python
python引入不同文件夹下的自定义模块方法
Oct 27 Python
不归路系列:Python入门之旅-一定要注意缩进!!!(推荐)
Apr 16 Python
window7下的python2.7版本和python3.5版本的opencv-python安装过程
Oct 24 Python
python实现差分隐私Laplace机制详解
Nov 25 Python
Python3 解决读取中文文件txt编码的问题
Dec 20 Python
解决Jupyter notebook中.py与.ipynb文件的import问题
Apr 21 Python
python实现读取类别频数数据画水平条形图案例
Apr 24 Python
新版Pycharm中Matplotlib不会弹出独立的显示窗口的问题
Jun 02 Python
python Autopep8实现按PEP8风格自动排版Python代码
Mar 02 Python
Selenium常见异常解析及解决方案示范
Apr 10 #Python
pandas分组聚合详解
Apr 10 #Python
使用jupyter notebook直接打开.md格式的文件
Apr 10 #Python
Selenium使用Chrome模拟手机浏览器方法解析
Apr 10 #Python
Selenium基于PIL实现拼接滚动截图
Apr 10 #Python
在jupyter notebook 添加 conda 环境的操作详解
Apr 10 #Python
Selenium向iframe富文本框输入内容过程图解
Apr 10 #Python
You might like
phpMyAdmin 链接表的附加功能尚未激活的问题
2010/08/01 PHP
php启用zlib压缩文件的配置方法
2013/06/12 PHP
php 批量替换程序的具体实现代码
2013/10/04 PHP
PHP读取大文件的类SplFileObject使用介绍
2014/04/09 PHP
PHP 计算两个特别大的整数实例代码
2018/05/07 PHP
laravel 之 Eloquent 模型修改器和序列化示例
2019/10/17 PHP
JS location几个方法小姐
2008/07/09 Javascript
js为鼠标添加右击事件防止默认的右击菜单弹出
2013/07/29 Javascript
jQuery移动端日期(datedropper)和时间(timedropper)选择器附源码下载
2016/04/19 Javascript
jQuery插件autocomplete使用详解
2017/02/04 Javascript
jQuery获取table下某一行某一列的值实现代码
2017/04/07 jQuery
nodejs制作爬虫实现批量下载图片
2017/05/19 NodeJs
JS高级技巧(简洁版)
2018/07/29 Javascript
element ui table(表格)实现点击一行展开功能
2018/12/04 Javascript
微信小程序五子棋游戏的悔棋实现方法【附demo源码下载】
2019/02/20 Javascript
微信小程序 确认框的实现(附代码)
2019/07/23 Javascript
mock.js模拟前后台交互
2019/07/25 Javascript
JavaScript 预解析的4种实现方法解析
2019/09/03 Javascript
electron踩坑之dialog中的callback解决
2020/10/06 Javascript
[51:14]LGD vs VP 2018国际邀请赛淘汰赛BO3 第一场 8.21
2018/08/22 DOTA
[01:02:09]Liquid vs TNC 2019国际邀请赛淘汰赛 胜者组 BO3 第二场 8.21
2020/07/19 DOTA
使用tensorflow实现线性svm
2018/09/07 Python
pandas 数据归一化以及行删除例程的方法
2018/11/10 Python
python实现递归查找某个路径下所有文件中的中文字符
2019/08/31 Python
使用Python画出小人发射爱心的代码
2019/11/23 Python
Python脚本调试工具安装过程
2021/01/11 Python
Keds官方网站:购买帆布运动鞋和经典皮鞋
2016/11/12 全球购物
希尔顿酒店中国网站:Hilton中国
2017/03/11 全球购物
同步和异步有何异同,在什么情况下分别使用他们?举例说明
2014/02/27 面试题
使用C#编写创建一个线程的代码
2013/01/22 面试题
竞聘上岗演讲稿
2014/05/16 职场文书
工程售后服务承诺书
2014/05/21 职场文书
幼儿园户外活动总结
2014/07/04 职场文书
大学生党员自我剖析材料
2014/10/06 职场文书
白酒代理协议书范本
2014/10/26 职场文书
幼儿园法制宣传日活动总结
2014/11/01 职场文书