TF(3): 安装部署_Windows
CUDA:
- CUDA(Compute Unified Device Architecture): CUDA™是一种由显卡厂商NVIDIA推出的通用并行计算架构,该架构使GPU能够解决复杂的计算问题。 它包含了CUDA指令集架构(ISA)以及GPU内部的并行计算引擎。 此外,它还提供了硬件的直接访问接口,而不必像传统方式那样必须依赖图形的API接口来实现GPU的访问。
cuDNN
- cuDNN的全称为NVIDIA CUDA® Deep Neural Network library,是NVIDIA专门针对深度神经网络(Deep Neural Networks)中的基础操作而设计基于GPU的加速库。cuDNN为深度神经网络中的标准流程提供了高度优化的实现方式,例如convolution、pooling、normalization以及activation layers的前向以及后向过程
- cuDNN只是NVIDIA深度神经网络软件开发包中的其中一种加速库。( https://developer.nvidia.com/deep-learning-software )
- 基本上所有的深度学习框架都支持cuDNN这一加速工具,例如:Caffe、Caffe2、TensorFlow、Torch、Pytorch、Theano等。
Anaconda
- Anaconda指的是一个开源的Python发行版本,其包含了conda、Python等180多个科学包及其依赖项。 因为包含了大量的科学包,Anaconda 的下载文件比较大(约 531 MB),如果只需要某些包,或者需要节省带宽或存储空间,也可以使用Miniconda这个较小的发行版(仅包含conda和 Python)
- NumPy: NumPy 是一个 Python 包。 它代表 “Numeric Python”。 它是一个由多维数组对象和用于处理数组的例程集合组成的库。NumPy 是开源的。
- Scipy:是一个高级的科学计算库,它和Numpy联系很密切,Scipy一般都是操控Numpy数组来进行科学计算,所以可以说是基于Numpy之上了。
- Six : 它是一个专门用来兼容 Python 2 和 Python 3 的库。它解决了诸如 urllib 的部分方法不兼容, str 和 bytes 类型不兼容等“知名”问题。
- Matplotlib:是Python中最常用的可视化工具之一,可以非常方便地创建海量类型地2D图表和一些基本的3D图表。Matplotlib最早是为了可视化癫痫病人的脑皮层电图相关的信号而研发,因为在函数的设计上参考了MATLAB,所以叫做Matplotlib。
安装环境
如果要安装GPU版本(有N卡,即NVIDIA显卡),需要以下额外环境:
- 有支持CUDA计算能力3.0或更高版本的NVIDIAGPU卡。
- 下载安装CUDA Toolkit 8.0,并确保其路径添加到PATH环境变量里;
- 下载安装cuDNN v6或v6.1,并确保其路径添加到PATH环境变量里;
- CUDA8.0相关的NVIDIA驱动。
本人机器环境: Win10 X64 专业版; NVIDIA GeForce 940MX

- CUDA Toolkit安装成功后会自动和系统的编译器进行绑定。如下图:

- 通过在命令窗中执行 nvcc -V 初步判断是否安装成功:

- 安装成功后(默认安装)系统会增加如下环境变量:

- 对于cuDnn库,解压下载的安装包,将这三个文件夹下的文件拷到CUDA对应的文件夹下面即可。

安装Anaconda
tensorflow是基于python脚本语言的,是一种高级应用,它必须依赖于底层的应用发挥作用。因此需要安装python,当然还需要安装numpy、scipy、six、matplotlib等几十个扩展包。如果一个个安装,十分耗费时间,不过现在有了集成环境anaconda,安装就方便了。python的大部分扩展包,都集成在anaconda里面了,因此只需要装这一个东西就行了。
- 先到官网下载(https://www.anaconda.com/download/)
- 安装完成后,查看版本: conda –version

- 检测目前安装了哪些环境:conda info --envs

- 检查目前有哪些版本的python可以安装:conda search --full -name python

- 安装不同版本的python:conda create --name tensorflow python=3.5.2


- 按照提示,激活:conda activate tensorflow

- 它前面的括号代表当前环境为tensorflow,看到这里,你已经将准备工作做好了。
- 你可以退出当前环境:deactivate tensorflow
- 确保名叫tensorflow的环境已经被成功添加:conda info --envs

- 检查新环境中的python版本:python --version

安装TensorFlow
- 按照官网的指示:另一种尝试:pip install tensorflow
- 安装CPU版本输入: pip install --ignore-installed --upgrade tensorflow
- 安装GPU版本输入: pip install --ignore-installed --upgrade tensorflow-gpu
- 安装成功后如下图:试运行验证环境示意代码:

安装TensorFlow环境下的Spyder插件
- 进入Anaconda Navigator(开始菜单->Anaconda 3->Anaconda Navigator),注意,现在的Application栏是root,也就是Anaconda的根,此时的环境是Python3.6.
- 切换到TensorFlow下面,然后再安装Spyder,你还可以选择安装qtconsole,notebook,或者orange。
- 安装Spyder后打开,写下我们第一个Hello (Spyder是Python(x,y)的作者为它开发的一个简单的集成开发环境。和其他的Python开发环境相比,它最大的优点就是模仿MATLAB的“工作空间”的功能,可以很方便地观察和修改数组的值。)查看执行结果
import tensorflow as tf hello = tf.constant('Hello,TensorFlow!')
sess = tf.session()
print(sess.run(hello))
配置PyCharm
- 下载PyCharm,https://www.jetbrains.com/pycharm/download/#section=windows
- 打开 --> 文件 -->setting

- 如上代码,执行效果:

Tensorboard的启用
tensorboard是TensorFlow的一个可视化工具,能够监控TensorFlow运行过程中的计算图,各种指标随着时间的变化趋势以及训练中使用到的图像等信息使用tensorboard包括两个步骤:
- 在python程序中将想要可视化的结果,包括中间结果,例如准确率变化等,以及计算图模型使用tf.Summary.FileWriter()写入到文件系统。
- 运行tensorboard –path-to-log命令读取之前输出的log,并显示在web服务器上,这时可通过浏览器访问。
示意代码如下:
- 输出日志文件
- 生成文件如下:
- 找到tensorboard.exe所在文件夹,复制路径,然后在CMD下进入此路径。命令: .\tensorboard.exe --logdir=c:\MLSrc\log_1
- 在浏览器中输入以下网址就可以启动tensorboard了
参考资料:
- http://wiki.jikexueyuan.com/project/tensorflow-zh/
- https://blog.csdn.net/lxy_2011/article/details/79181990
- https://blog.csdn.net/Eppley/article/details/79297503
- https://blog.csdn.net/lucifer_zzq/article/details/76675239
- https://blog.csdn.net/weixin_36368407/article/details/54177380
- https://blog.csdn.net/shuzfan/article/details/76602710
- https://blog.csdn.net/jinyuan7708/article/details/79428189
TF(3): 安装部署_Windows的更多相关文章
- Oracle安装部署,版本升级,应用补丁快速参考
一.Oracle安装部署 1.1 单机环境 1.2 Oracle RAC环境 1.3 Oracle DataGuard环境 1.4 主机双机 1.5 客户端部署 二.Oracle版本升级 2.1 单机 ...
- KVM安装部署
KVM安装部署 公司开始部署KVM,KVM的全称是kernel base virtual machine,对KVM虚拟化技术研究了一段时间, KVM是基于硬件的完全虚拟化,跟vmware.xen.hy ...
- Linux平台oracle 11g单实例 + ASM存储 安装部署 快速参考
操作环境:Citrix虚拟化环境中申请一个Linux6.4主机(模板)目标:创建单机11g + ASM存储 数据库 1. 主机准备 2. 创建ORACLE 用户和组成员 3. 创建以下目录并赋予对应权 ...
- 分布式文件系统 - FastDFS 在 CentOS 下配置安装部署
少啰嗦,直接装 看过上一篇分布式文件系统 - FastDFS 简单了解一下的朋友应该知道,本次安装是使用目前余庆老师开源的最新 V5.05 版本,是余庆老师放在 Github 上的,和目前你能在网络上 ...
- C# winform安装部署(转载)
c# winform 程序打包部署 核心总结: 1.建议在完成的要打包的项目外,另建解决方案建立安装部署项目(而不是在同一个解决方案内新建),在解决方案上右击-〉添加-〉现有项目-〉选择你要打包的项目 ...
- Ubuntu14.04 Django Mysql安装部署全过程
Ubuntu14.04 Django Mysql安装部署全过程 一.简要步骤.(阿里云Ubuntu14.04) Python安装 Django Mysql的安装与配置 记录一下我的部署过程,也方便 ...
- 比Ansible更吊的自动化运维工具,自动化统一安装部署_自动化部署udeploy 1.0
新增功能: 2015-03-11 除pass(备份与更新)与start(启动服务)外,实现一切自动化. 注:pass与start设为业务类,由于各类业务不同,所以无法实现自动化.同类业务除外,如更新的 ...
- 比Ansible更吊的自动化运维工具,自动化统一安装部署自动化部署udeploy 1.0 版本发布
新增功能: 逻辑与业务分离,完美实现逻辑与业务分离,业务实现统一shell脚本开发,由框架统一调用. 并发多线程部署,不管多少台服务器,多少个服务,同时发起线程进行更新.部署.启动. 提高list规则 ...
- SCCM 2012 R2安装部署过程和问题(三)
上篇 SCCM 2012 R2安装部署过程和问题(二) 个人认为对于使用SCCM 2012的最重要的经验是耐心. SCCM采用分布式部署的架构,不同的站点角色可以部署在不同的服务器上,站点角色之间的通 ...
随机推荐
- guxh的python笔记三:装饰器
1,函数作用域 这种情况可以顺利执行: total = 0 def run(): print(total) 这种情况会报错: total = 0 def run(): print(total) tot ...
- linux——常用命令清单
目录 文件目录相关命令 压缩命令 关机重启命令 挂载命令 用户登录查看命令 搜索命令的命令 本文整理了学习过程中linux的一些常用操作命令,方便以后查阅.学习的课程是Linux达人养成计划 I. 文 ...
- js之Object属性封装
在object.create出现之前,我们实现继承一般使用: function base(){} function children(){} //实现children继承base (function( ...
- React文档(十一)提升state
经常有些组件需要映射同一个改变的数据.我们建议将共用的state提升至最近的同一个祖先元素.我们来看看这是怎样运作的. 在这一节中,我们会创建一个温度计算器来计算提供的水温是否足够沸腾. 我们先创建一 ...
- icpc2018-焦作-E Resistors in Parallel-数论+大数
http://codeforces.com/gym/102028/problem/E 定义n种电阻,阻值r[i]={ inf | i%d2==0 && d>1 , i | e ...
- 转载 [c#] 虚函数(Virtual),抽象函数(abstract)和接口的区别
1.virtual:允许被重写,但不强制要求.声明时提供其自身实现: 2.abstract:强制要求其继承者重写.声明时不提供其自身的实现,抽象类不能被实例化: 3.interface:接口就是协议, ...
- 八大排序算法——选择排序(动图演示 思路分析 实例代码Java 复杂度分析)
一.动图演示 二.思路分析 1. 第一个跟后面的所有数相比,如果小于(或小于)第一个数的时候,暂存较小数的下标,第一趟结束后,将第一个数,与暂存的那个最小数进行交换,第一个数就是最小(或最大的数) ...
- Component(组件)
1.Component是一个模板的控制类用于处理应用和逻辑页面的视图部分. 2.Component时Angular2应用最基础的建筑砖块. 3.任何一个Component都是NgModule的一部分, ...
- Python随笔--函数(参数)
函数文档: 关键字参数: 默认参数:定义了默认值的参数 收集参数(可变参数):
- 阶段01Java基础day23多线程
23.01_多线程(多线程的引入) 1.什么是线程 线程是程序执行的一条路径, 一个进程中可以包含多条线程 多线程并发执行可以提高程序的效率, 可以同时完成多项工作 2.多线程的应用场景 红蜘蛛同时共 ...





