TensorFlow中输入张量占位符tf.placeholder用法

一、环境

TensorFlow API r1.12

CUDA 9.2 V9.2.148

cudnn64_7.dll

Python 3.6.3

Windows 10

二、官方说明

网络输入张量的占位符

https://www.tensorflow.org/api_docs/python/tf/placeholder

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

输入:

(1)dtype:输入张量中数据的类型

(2)shape:可选参数,输入张量的维度形状,该项不设置则表示输入的张量可以是任何维度

(3)name:可选参数,操作的名称

返回结果:

(1)张量,用来给网络输入数据的一个工具,但没有具体的数值

 

说明:

tf.placehoder()定义一个输入占位符,没有具体的值,只有在会话执行时通过sess.run(feed_dict = {input_x:x输入数据, input_y:y具体输入数据})进行幅值使用

 

三、实例

(1)不设置维度

>>> import tensorflow as tf
>>> import numpy as np
>>> x = tf.placeholder(dtype=tf.float32)
>>> y = tf.matmul(x, x)
>>> data = np.random.rand(2,2)
>>> with tf.Session() as sess:
...     sess.run(y, feed_dict={x:data})
...
array([[1.1486264 , 0.67143285],
       [1.1721172 , 0.7071244 ]], dtype=float32)

(2)设置固定维度

>>> import tensorflow as tf
>>> import numpy as np
>>> x = tf.placeholder(dtype=tf.float32, shape=(28, 28))
>>> y = tf.matmul(x, x)
>>> data = np.random.rand(28,28)
>>> with tf.Session() as sess:
...     sess.run(y, feed_dict={x:data})

 

(3)某一个维度设置None,一般表示数量可变的batch_size

>>> import tensorflow as tf
>>> x = tf.placeholder(dtype=tf.float32, shape=[None,2])
>>> sum = tf.add(x,x)
>>> data1 = np.random.rand(1,2)
>>> data2 = np.random.rand(2,2)
>>> data3 = np.random.rand(3,2)
>>> with tf.Session() as sess:
...     sess.run(sum, feed_dict={x:data1})
...     sess.run(sum, feed_dict={x:data2})
...     sess.run(sum, feed_dict={x:data3})
...
array([[0.41804734, 0.58225584]], dtype=float32)
...
array([[0.88173157, 0.48073   ],
       [0.78674865, 0.9617455 ]], dtype=float32)
...
array([[0.54382133, 0.23284811],
       [0.8744685 , 1.3424295 ],
       [0.7200361 , 1.609155  ]], dtype=float32)

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

csdn-WJW

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值