placeholder

placeholder是占位符,在tensorflow里是代替数据的存在,在一开始用的时候,总是搞错,现在小结一下用法,主要是比较用了placeholder和没有用placeholder的区别

 

假设数据为 x_data,输出数据为 y_data,预测为y_pred

输入输出的placeholder分别为xs,xy

拟合函数为 y=2\times x+1

 

placeholder实际是就是用xs,yx代替原来的 x_data 和 y_label。

 

1. 在开始定义占位符

#####################################################################################
# 1. 定义placeholder
xs = tf.placeholder(shape=[None, 1], dtype=tf.float32, name='ph_data')
ys = tf.placeholder(shape=[None, 1], dtype=tf.float32, name='ph_label')
#####################################################################################

2. 预测数据的时候,需要把输入数据x_data,替换为placeholder,这时候预测的数据完全依赖于placeholder,如果不喂数据,是不会有结果的,原来直接用x_data算,是可以直接出数据的

#####################################################################################
# 2.输入数据替换成placeholder
y_pred = weight * xs + bias
#####################################################################################

weight 和 bias 是 tensorflow 类型的变量

3. 比较数据的时候,把输出 y_label 数据替换成 placeholder ,这很容易理解,因为 y_pred 已经依赖于placeholder了,所以输出也应该是palceholder,这样才能对应上

#####################################################################################
# 3.把输出真实值替换成placeholder
loss = tf.losses.mean_squared_error(y_pred, ys)
#####################################################################################

4. 在Session里,喂入数据

#####################################################################################
# 4. 给placeholder feed 数据,真实的输入与输出
sess.run(train_op, feed_dict={xs:x_data, ys:y_label})
        #####################################################################################

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值