阅读(360)
赞(13)
TensorFlow函数:tf.sparse_placeholder
2018-03-01 11:07:26 更新
tf.sparse_placeholder 函数
sparse_placeholder(
dtype,
shape=None,
name=None
)
定义在:tensorflow/python/ops/array_ops.py.
请参阅指南:输入和读取器>占位符操作
为稀疏张量插入占位符,该稀疏张量将始终被提供.
注意:如果计算,此稀疏张量将产生一个错误;必须使用 feed_dict 可选参数将其值提供到 Session.run(),Tensor.eval() 或 Operation.run().
如下示例:
x = tf.sparse_placeholder(tf.float32)
y = tf.sparse_reduce_sum(x)
with tf.Session() as sess:
print(sess.run(y)) # ERROR: will fail because x was not fed.
indices = np.array([[3, 2, 0], [4, 5, 1]], dtype=np.int64)
values = np.array([1.0, 2.0], dtype=np.float32)
shape = np.array([7, 9, 2], dtype=np.int64)
print(sess.run(y, feed_dict={
x: tf.SparseTensorValue(indices, values, shape)})) # Will succeed.
print(sess.run(y, feed_dict={
x: (indices, values, shape)})) # Will succeed.
sp = tf.SparseTensor(indices=indices, values=values, dense_shape=shape)
sp_value = sp.eval(session=sess)
print(sess.run(y, feed_dict={x: sp_value})) # Will succeed
@compatibility {eager}占位符与 eager 执行不兼容.
函数参数:
- dtype:张量中要提供的 values 元素的类型.
- shape:要提供的张量的形状(可选).如果未指定形状,则可以提供任何形状的稀疏张量.
- name:前缀操作的名称(可选).
函数返回值:
tf.sparse_placeholder 函数返回一个可以用作提供值的句柄的 SparseTensor,但不能直接计算.
可能引发的异常:
- RuntimeError:如果 eager 执行已启用,则引发该异常.