莫烦python|Tensorflow笔记--tf8、tf9

Placeholder 传入值

placeholder是tensorflow的占位符,暂时存储变量,tensorflow要从外部传入数据,就要用到placeholder。 
要给节点输入数据时用 placeholder,在 TensorFlow 中用placeholder 来描述等待输入的节点,只需要指定类型即可,然后在执行节点的时候用一个字典来“喂”这些节点。相当于先把变量 hold 住,然后每次从外部传入data,注意 placeholder 和 feed_dict 是绑定一起用的。 
feed机制:给feed提供数据,作为run()调用的参数,feed只在调用它的方法内有效,方法结束,feed就会消失。 

import tensorflow as tf

# 在TensorFlow中需要定义placeholder的type,一般为float32形式
input1 = tf.placeholder(tf.float32)
input2 = tf.placeholder(tf.float32)
output = tf.multiply(input1, input2)   # 将input1和input2做乘法运算,并输出为output

with tf.Session() as sess:
    print(sess.run(output, feed_dict={input1: [7.], input2: [2.]}))

结果

E:\Anaconda\python.exe D:/code/tutorials-master(莫烦示例)/tensorflowTUT/tensorflow8_feeds.py
[ 14.]

激励函数

为了解决不能用线性函数表达的问题 
已知的激励函数有很多种,根据不同的神经网络选择不同的激励函数,当然,也可以自己构造出一个激励函数,但是构造的这个函数必须可微分,因为你要进行反向传播求导。

这里写图片描述

原函数y=Wx,这里的AF就是指的激励函数,激励函数拿出自己最擅长的”掰弯利器”,套在了原函数上 用力一扭,原来的 Wx 结果就被扭弯了。 
而这个AF其实就是另一个非线性函数,将这些掰弯利器嵌套在原有的结果之上,强行把原有的线性结果给扭曲了,使得输出结果 y 也有了非线性的特征。

常用选择

这里写图片描述

在浅层神经网络中,可以使用任意的激励函数,可以随便掰弯,不会有很大的影响,但是对于多层神经网络,会涉及到梯度爆炸以及梯度消失等问题。 
对于少量层结构的神经网络: 
卷积神经网络CNN:relu函数 
循环神经网络RNN:tanh函数或者relu函数

 

激励函数运行时激活神经网络中某一部分神经元,将激活信息向后传入下一层的神经系统。激励函数的实质是非线性方程。Tensorflow 的神经网络里面处理较为复杂的问题时都会需要运用激励函数。 
下图是常见的几种激励函数,x表示传递过来的值,y表示传递出去的值。

这里写图片描述

激励函数在隐藏层/预测层,判断哪些值要被送到预测结果那里。 

这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值