TensorFlow中定义"运算"

原创 2018年04月15日 13:47:14
定义“运算”的过程是建立模型的核心过程,直接决定模型的拟合效果。
一 定义正向传播模型
最简单的神经元是只有一个神经元。还有多层神经网络,卷积神经网络、循环神经网络及更深层的GoogLeNet、Resnet等。
它们都是由神经元以不同的组合方式组成的网络结构,而且每年还会有很多更高效且拟合性更强的新结构诞生。

二 定义损失函数
损失函数主要是计算“输出值”与“目标值”之间的误差,是配合反向传播使用的。为了在 反向函数中可以找到最小值,要求该函数必须是可导的。
损失函数近几年来没有太大的变化,只需要记住常用的几种,并了解内部原理就可以了,不需要掌握太多的细节,因为TensorFlow框架已经做好了。

三 优化函数、优化目标
在有了正向结构和损失函数后,就可以通过优化函数来优化学习参数,这个过程也是在反向传播中完成的。
反向传播的过程,就是沿着正向传播的结构向相反方向将误差传递过去。这里面涉及的技术比较多,如L1、L2正则化、冲量调节、学习率自适应、adm随机梯度下降算法等,每个技术都代表一个时代。
随着深度学习的飞速发展,反向传播过程的技术会达到一定程序的瓶颈,更新并不如网络结构变化得那么快,只需要将常用的几种记住即可。

四 迭代更新参数到最优解
在迭代训练环节中,都是需要通过建立一个session来完成的,常用的是使用with语法,可以在session结束后自行关闭,当然还有其他方法。
with tf.Session() as sess:
在session中通过run来运算模型中的节点,在训练环节中也是如此,只不过run里面放的是优化操作OP,同时会在外层加上循环次数。
    # Fit all training data
    for epoch in range(training_epochs):
        for (x, y) in zip(train_X, train_Y):
            sess.run(optimizer, feed_dict={X: x, Y: y})
真正使用过程中会引入一个叫做MINIBATCH概念进行迭代训练,即每次取一定量的数据同时放到网络里进行训练。
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/chengqiuming/article/details/79948709

tensorflow入门之Variable

tensorflow中很重要的一个部分就是Variable,它能构建一个变量,在计算图的运算过程中,其值会一直保存到程序运行结束,而一般的tensor张量在tensorflow运行过程中只是在计算图中...
  • zhangshaoxing1
  • zhangshaoxing1
  • 2017-04-03 11:19:02
  • 528

Python+tensorflow计算整数阶乘的方法与局限性

Python+tensorflow计算整数阶乘的方法与局限性
  • dongfuguo
  • dongfuguo
  • 2017-04-25 19:33:36
  • 492

[Tensorflow]tensor 数学运算和逻辑运算

一、arthmetic 算术操作(+,-,*,/,Mod) #运算规则:element-wise。即c[i,j,..,k]=a[i,j,..,k] op b[i,j,..,k] #两个tensor 运...
  • vcvycy
  • vcvycy
  • 2017-11-09 14:59:45
  • 2657

tensorflow-张量

从TensorFlow的名字就可以看出张量(tensor)是一个很重的概念。在tensorflow程序中所有的数据都通过张量的形式来表示。从功能的角度看,张量可以被理解为多维数组。其中零阶张量表示标量...
  • fireflychh
  • fireflychh
  • 2017-06-22 16:21:02
  • 423

即时执行:一个由运行定义的命令式 TensorFlow 接口

今天,我们宣布为 TensorFlow 引入即时执行。即时执行是一个由运行定义的命令式接口,在这个接口中,运算将在从 Python 调用时立即执行。这样可以让 TensorFlow 的入门变得更加简单...
  • kwame211
  • kwame211
  • 2017-11-22 17:59:47
  • 249

tensorflow张量详解

从TensorFlow的名字就可以看出张量(tensor)是一个很重的概念。在tensorflow程序中所有的数据都通过张量的形式来表示。从功能的角度看,张量可以被理解为多维数组。其中零阶张量表示标量...
  • u011509971
  • u011509971
  • 2017-04-27 16:14:05
  • 5283

TensorFlow矩阵向量运算

1 向量点乘 结果是一个向量在另一个向量方向上投影的长度,是一个标量。 2 向量叉乘 结果是一个和已有两个向量都垂直的向量。 向量a = (x1,y1),b = (x2,y2) a *b =...
  • qfzxhy
  • qfzxhy
  • 2018-01-31 11:12:36
  • 335

Tensorflow中placeholder用法

#关于placeholder import tensorflow as tf #这样就定义了一个tf.float32这种类型的一个placeholder input1 = tf.placeholder...
  • fahaiL
  • fahaiL
  • 2017-06-30 14:17:07
  • 559

tensorflow使用gpu进行计算的配置步骤

1、先安装cudahttps://developer.nvidia.com/cuda-downloads 2、安装cudnn https://developer.nvidia.com/cud...
  • lizhixiong2
  • lizhixiong2
  • 2017-12-19 18:44:11
  • 248

tensorflow: 如何定义常量tensor与变量tensor

Refence:  《Tensorflow machine learning cookbook》 : Declaring Tensors Packt.TensorFlow.Machine.L...
  • vagrantabc2017
  • vagrantabc2017
  • 2017-09-22 13:57:20
  • 786
收藏助手
不良信息举报
您举报文章:TensorFlow中定义"运算"
举报原因:
原因补充:

(最多只允许输入30个字)