Inserts a placeholder for a sparse tensor that will be always fed.
tf.compat.v1.sparse_placeholder(
dtype, shape=None, name=None
)
This API is not compatible with eager execution and tf.function
. To migrate
to TF2, rewrite the code to be compatible with eager execution. Check the
migration
guide
on replacing Session.run
calls. In TF2, you can just pass tensors directly
into ops and layers. If you want to explicitly set up your inputs, also see
Keras functional API on
how to use tf.keras.Input
to replace tf.compat.v1.sparse_placeholder
.
tf.function
arguments also do the job of tf.compat.v1.sparse_placeholder
.
For more details please read Better
performance with tf.function.
Description
Used in the notebooks
For example:
x = tf.compat.v1.sparse.placeholder(tf.float32)
y = tf.sparse.reduce_sum(x)
with tf.compat.v1.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.compat.v1.SparseTensorValue(indices, values, shape)})) # Will
succeed.
print(sess.run(y, feed_dict={
x: (indices, values, shape)})) # Will succeed.
sp = tf.sparse.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.
Args |
dtype
|
The type of values 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
|