Tensorflow中placeholder传入值与feed_dict喂食器的联系与用法
2018-03-17 21:24
399 查看
1.placeholder传入值
可以理解为提前占据一个存储空间,比如说你在一个城市中心买了一套房子,这个房子你也不知道是用来放货物还是用来住人的,但是你可以提前将这栋房子买下来,等以后再说以后的事情。tf.placeholder(type,shape) ,像是 a = tf.placeholder(tf.float32,[2,3],keep_prob:0.5)
第一个参数tf.float32是a的类型
第二个参数[2,3]是要输入的矩阵的维数,即输入一个两行三列的矩阵
第三个参数 keep_prob 是设置神经元被选中的概率,在初始化是keep_prob是一个占位符keep_prob = tf.placeholder(tf.float32),但是在神经网络run时设置具体的值,像是keep_prob:0.5,即随机选取一半的神经元进行激活,在不同的训练过程中随机扔掉一部分神经元,也就是让某个神经元的激活值以一定的概率p,让其停止工作,这次训练过程中不更新权值,也不参加神经网络的计算。但是它的权重得保留下来(只是暂时不更新而已),因为下次样本输入时它可能又得工作了。
示意图如下:
2.feed_dict喂食器
在这里我的理解是将要输入的数据直接喂入placeholder传入值中,但是不是什么数据类型都可以喂入,比如说刚才我在placeholder传入值的时候设定是float型和维度为两行三列的矩阵,那么必须要喂入符合要求的矩阵,要不然会出错,比如能吃一个馒头,你让人家吃两个或吃半个都不好对吧3.废话不多说,直接上例子
# -*- coding: utf-8 -*- """ Created on Sat Mar 17 20:35:14 2018 @author: DuYanfang """ import tensorflow as tf a = tf.placeholder(tf.int32) b = tf.placeholder(tf.int32) c= tf.multiply(a,b) with tf.Session() as sess: print(sess.run(c,feed_dict = {a:100,b:200})) x1 = tf.placeholder(tf.float32,[2,3]) x2 = tf.placeholder(tf.float32,[3,2]) x3 = tf.matmul(x1,x2) with tf.Session() as sess: print(sess.run(x3,feed_dict = {x1:[[1,2,3],[4,5,6]],x2:[[1,2],[3,4],[5,6]]}))运行结果:20000
[[ 22. 28.]
[ 49. 64.]]
相关文章推荐
- 五、tensorflow之传入值(placeholder)
- tensorflow 中 feed的用法
- tensorflow系列教程(1)之---fetch和feed的用法
- Tensorflow中placeholder用法
- tensorflow的基本用法(四)——placeholder
- tensorflow之feed用法
- Tensorflow中的placeholder和feed_dict的使用
- [tensorflow] feed_dict 传入序列
- TF:TF定义两个变量相乘之placeholder先hold类似变量+feed_dict最后外界传入值—Jason niu
- Tensorflow报错之一:InvalidArgumentError: You must feed a value for placeholder tensor 'inputs/x_input'
- tensorflow的基本用法(二)
- TensorFlow的基本用法
- tensorflow 传入值-【老鱼学tensorflow】
- PropertyPlaceholderConfigurer的用法:
- tensorflow中python中with用法的理解
- 【TensorFlow】tf.nn.softmax_cross_entropy_with_logits的用法
- ValueError: Cannot feed value of shape (1,) for Tensor u'Placeholder:0', which has shape '(1, 1)'
- TensorFlow入门基础知识(六)tf.train.ExponentialMovingAverage()的用法
- TensorFlow入门基础知识(七)tf.control_dependencies的用法
- GetMessage和PeekMessage的联系与区别以及用法 TranslateMessage与DispatchMessage