How to print out the tensor type without printing out the whole tensor?

Simple: `tensor.type()`

. Unfortunately the docs aren’t totally clear that this works so easily.

Actually tensor.type() without any arguments returns an error that it’s missing an unspecified positional argument.

Something unusual about the tensor that you’re working with? The following should work fine (note that the Python builtin `type`

also gives what you want).

```
>>> import torch
>>> a = torch.ones(1)
>>> a.type()
'torch.FloatTensor'
>>> type(a)
<class 'torch.FloatTensor'>
```

Thanks. It seems that the issue has to do with if the tensor is a Variable.

import torch

from torch.autograd import Variable

a = torch.ones(1)

a.type()

'torch.FloatTensor’

type(a)

< class ‘torch.FloatTensor’>

b = Variable(a)

print(b.type())

TypeError: type() missing 1 required positional argument: 't’

print(b.data.type())

< class ‘torch.FloatTensor’>

If the object is a torch `Variable`

, not the plain torch Tensor, using `type()`

method of the object without any argument will cause this error.

TypeError: type() missing 1 required positional argument: ‘t’

But it is not clear what this error message means.

If you have a torch variable say a then simply do

```
type(a.data)
```

to know its type

In current builds, type(new Tensor(5)) now always returns ‘Variable’ instead of the actual tensor type… Is that a bug?

That’s not expected behavior I believe. Here is what I receive:

```
>>> type(torch.Tensor(5))
<class 'torch.FloatTensor'>
```

**To summarize this thread:**

- To print
**tensor**type use:`print(type(tensor))`

- To print
**variable**tensor type use:`print(type(tensor.data))`

In the latest stable release (`0.4.0`

) `type()`

of a `tensor`

no longer reflects the data type.

You should use `tensor.type()`

and `isinstance()`

instead.

Have a look at the Migration Guide for more information.