当前课程知识点:Introduction to Artificial Intelligence > Chapter 7 Computer Vision > 7.3 Introduction to TensorFlow > Video 7.3
返回《Introduction to Artificial Intelligence》慕课在线视频课程列表
返回《Introduction to Artificial Intelligence》慕课在线视频列表
大家好
在本小节中
我们将介绍TensorFlow
有一些特定的库可用于开发深度学习应用程序
例如
Keras
TensorFlow
PyTorch
Caffe
Theano
现在,我们讨论为什么使用TensorFlow
TensorFlow的最佳品质之一
就是它使代码开发变得容易
易于使用的API
使用户不必重写某些原本会很费时的代码
TensorFlow加快了训练模型的过程
此外,程序错误的机会也减少了
通常减少了55%到85%
另一个重要方面
是TensorFlow具有高度可扩展性
你可以编写代码
然后使其在CPU GPU
或这些系统的群集上运行
以培训模型
常,训练模型是计算的大部分工作
此外,训练过程将重复多次
以解决可能出现的问题
此过程导致消耗更多算力
因此,需要采用分布式计算
如果你需要处理大量数据
TensorFlow可通过
以分布式方式运行代码来简化操作
GPU(图形处理单元)已经非常流行
英伟达是该领域的领导者之一
它擅长执行数学计算
例如矩阵乘法
并且在深度学习中起着重要作用
TensorFlow还与C ++和Python API集成在一起
从而使开发速度大大提高
TensorFlow可以定义如下
流行的机器学习库
特别适合大型机器学习
Google Brain小组的产品
用于Google相册
Google搜索
和Google Cloud Speech
使用数据流或计算图进行数值计算的
开源软件库
一种分布式计算工具
可在分布式服务器之间
训练巨型神经网络
谷歌还推出了云服务来
运行TensorFlow图
TensorFlow中的张量是什么意思
张量是表示为高维数组的数学对象
这些具有不同大小和等级的数据数组
将作为输入输入到神经网络
这些是张量
可以是一维的数组或向量
也可以具有二维的矩阵
但是张量可以超过3维,4维或5维
因此
它有助于将数据非常紧密地保持在一处
然后围绕该位置执行所有分析
这是二维张量[5,4]的示例
这是三维张量[3,3,3]的示例
张量的秩就是张量的维数
它从零开始
零是一个标量,其中不包含多个条目
是一个单一的指
例如
s = 1是秩为0的张量或称标量
V = [1, 2, 3]是秩为1的张量或称矢量
M = [[1, 2, 3],[4, 5, 6]]是秩为2的张量或称矩阵
TensorFlow中的所有内容
都基于设计计算图
那么,什么是计算图
计算图是一系列被安排为图中节点的
TensorFlow操作
每个节点将0个或多个张量作为输入
并产生一个张量作为输出
我们看一个简单的计算图示例
该图由三个节点a、b、c组成,如下所示
常量节点用于存储常量值
因为它需要零输入
但会生成存储的值作为输出
在此示例中
a和b是常数节点
其值分别为5和6
节点c表示将常数节点a乘以b的运算
因此,执行节点c
将导致常数节点a和b的乘法
基本上
我们可以将计算图
视为TensorFlow程序中发生的数学计算概念化的
另一种方式
分配给计算图的不同节点的操作
可以并行执行
从而在计算方面提供更好的性能
此处我们仅描述计算
不计算任何内容
不包含任何值
仅定义代码中指定的操作
在TensorFlow中
分配这些变量也是一项操作
步骤1是通过分配变量来构建图形
建立图表的步骤2是将b和c相乘
最后,我们得到结果
在这里,我们有3个节点
首先,我们定义每个节点
然后创建一个会话以执行该节点
接下来
此步骤将返回并执行3个节点中的每个节点
以获取这些值
与其他编程语言不同
TensorFlow允许我们将数据分配给
三个不同的数据元素
常量
我们不能在计算过程中更改常量的值
指定数据时,常量是可选的
占位符
TensorFlow常量允许存储一个值
但是,如果您希望节点在运行时接受输入
该怎么办
实现这个功能要使用占位符
占位符允许图形将外部输入作为参数
基本上,占位符就相当于一个承诺
在后面或运行时提供值的承诺
变量
变量使我们可以向计算图中添加新的可训练参数
要定义变量
我们使用tf.Variable()命令
并在会话中运行图形之前对其进行初始化
这是本小节的结尾
感谢您的观看,欢迎来到下一个阶段
-1.1 What is artificial intelligence
--Exercise 1.1
-1.2 The History of artificial intelligence
--Exercise 1.2
-1.3 Applications of Artificial Intelligence
--Exercise 1.3
-1.4 Machine Learning and Deep Learning
--Exercise 1.4
-2.1 What is Machine Learning
-2.2 Supervised Learning
-2.3 Unsupervised Learning
-2.4 Construction of Development Environment
-3.1 What is Regression
--Exercise 3.1
-3.2 Linear Regression
--Exercise 3.2
-3.3 Logistic Regression
--Exercise 3.3
-3.4 Practical Case
-4.1 What is Classification
-4.2 Naive Bayes
-4.3 Support Vector Machine
-4.4 Practical Case
-5.1 Introduction to Deep Learning
--Exercise 5.1
-5.2 What is Neural Network
--Exercise 5.2
-5.3 Neural Network Basics
--Exercise 5.3
-5.4 Practical Case
-6.1 What is Convolutional Neural Network
-6.2 Convolution Layer
-6.3 Pooling Layer
-6.4 Classical Convolutional Neural Network
-7.1 What is Computer Vision
--Exercise 7.1
-7.2 Image Classification
--Exercise 7.2
-7.3 Introduction to TensorFlow
--Exercise 7.3
-7.4 Practical Case
-8.1 What is Natural Language Processing
-8.2 Basics of NLP
-8.3 Recurrent Neural Network
-8.4 Practical Case