# Does tf.one create a constant tensor?

## Issue

I would like to understand the reason for using tf.constant command to create a tensor.
Why does it contain “constant” word in it?

x0 = tf.constant(np.random.randn(3,1))

and

x1 = tf.ones(3)

would there be any particular operation permitted for x1 but not for x0?

Would x1 be a constant tensor too?

I hope I am not making confusion with the way the question is asked but I am new to TensorFlow and would really like to understand the basics.

Henrikh

## Solution

Both are `tf.Tensors()`. The difference is that:

`tf.ones()` creates a tensor with all values equal to `1`. For example, `tf.ones((2, 2))` has as output:

``````<tf.Tensor: shape=(2, 2), dtype=float32, numpy=
array([[1., 1.],
[1., 1.]], dtype=float32)>
``````

By the other hand, `tf.constant()` creates a tensor with the values you want. For example, `tf.constant([[1, 2], [3, 4]])` creates:

``````<tf.Tensor: shape=(2, 2), dtype=int32, numpy=
array([[1, 2],
[3, 4]])>
``````

You can also change their types (with param `dtype`).

Both are equal in terms of doing same operations, because they are tensors. But how you use them and what for is up to your project!