TensorFlow 基础练习 2 占位符 tf.placeholder

1、占位符:tf.placeholder

tf.placeholder(
    dtype,
    shape=None,
    name=None
)

参数:

  • dtype: 喂入张量的类型.
  • shape: 喂入张量的形状(可选项),如果没有指定,则喂入张量可以为任意形状
  • name: 定义placeholder 的名字(可选项).

返回:

一个Tensor,相当于为变量分配了一个存储空间,但不能直接计算.

# 使用占位符
import tensorflow as tf

x1 = tf.placeholder(dtype=tf.float32, shape=None)
y1 = tf.placeholder(dtype=tf.float32, shape=None)  # 定义一个占位符 类型为 tf.float32 大小为 None, 为None时为任意形状
z1 = x1 + y1      # z1 = x1 + y1

x2 = tf.placeholder(dtype=tf.float32, shape=[2, 1])  # 定义一个占位符 类型为 tf.float32 大小为 2x1。
y2 = tf.placeholder(dtype=tf.float32, shape=[1, 2])  # 定义一个占位符 类型为 tf.float32 大小为 1x2。
z2 = tf.matmul(x2, y2)   # 点乘 结果大小 2x2

with tf.Session() as sess:
    # 运行一个操作
    z1_value = sess.run(z1, feed_dict={x1: 1, y1: 2})  # feed_dict 相当于对 x1,y1 进行赋值 x1=1, y2=2
    print('z1_value=%f' % z1_value)

    # 执行两个操作
    z1_value, z2_value = sess.run([z1, z2],   # 执行 z1, z2 。这里有多少个操作将会返回多少个值
                                  feed_dict={  # 喂入数据
                                      x1: [[1, 2]], y1: [[1, 2]],
                                      x2: [[1], [2]], y2: [[1, 2]]
                                  })
    print('z1_value=', z1_value)
    print('z2_value=', z2_value)

结果: 

z1_value=3.000000

z1_value= [[ 2.  4.]]

z2_value= [[ 1.  2.],
                  [ 2.  4.]]

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值