Aliases:
tf.sparse.placeholder
tf.sparse_placeholder
tf.sparse.placeholder(
dtype,
shape=None,
name=None
)
Defined in tensorflow/python/ops/array_ops.py
.
Inserts a placeholder for a sparse tensor that will be always fed.
Important: This sparse tensor will produce an error if evaluated.
Its value must be fed using the feed_dict
optional argument to
Session.run()
, Tensor.eval()
, or Operation.run()
.
For example:
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} Placeholders are not compatible with eager execution.
Args:
dtype
: The type ofvalues
elements in the tensor to be fed.shape
: The shape of the tensor to be fed (optional). If the shape is not specified, you can feed a sparse tensor of any shape.name
: A name for prefixing the operations (optional).
Returns:
A SparseTensor
that may be used as a handle for feeding a value, but not
evaluated directly.
Raises:
RuntimeError
: if eager execution is enabled