当前位置: 代码迷 >> 综合 >> tf.placeholder 和 feed_dict
  详细解决方案

tf.placeholder 和 feed_dict

热度:20   发布时间:2023-09-18 18:50:23.0

tf.placeholder

说明

X = tf.placeholder(dtype=tf.float32, shape=[144, 10], name='X')

dtype:数据类型,必填,默认为value的数据类型,传入参数为tensorflow下的枚举值(float32,float64…….)

shape:数据形状,选填,不填则随传入数据的形状自行变动,可以在多次调用中传入不同形状的数据

name:常量名,选填,默认值不重复,根据创建顺序为(Placeholder,Placeholder_1,Placeholder_2…….)

例子

import tensorflow as tfinput1 = tf.placeholder(tf.float32) #一般都是float32
input2 = tf.placeholder(tf.float32)
ouput = tf.multiply(input1, input2) #试了好几个乘法,就这一个可以with tf.Session() as sess:print(sess.run(ouput, feed_dict={input1: [7.], input2: [2.]}))
x = tf.placeholder(tf.string)
y = tf.placeholder(tf.int32)
z = tf.placeholder(tf.float32)with tf.Session() as sess:output = sess.run(x, feed_dict={x: 'Test String', y: 123, z: 45.67})

理解

  1. 所有的placeholder都需要指定类型,且后面需要保持一致,否则报错。
  2. tf.Variabletf.placeholder区别在于前者,需要先设定初值,后者则是在使用中赋值
  3. tf.Variable:适用于Weight 和 Bias 等会改变的值;而tf.placeholder一般放不会改变的数据集,比如图片等等。
  相关解决方案