I have a problem converting a python list of numbers to pytorch Tensor :
this is my code :
caption_feat = [int(x) if x < 11660 else 3 for x in caption_feat]
printing caption_feat gives : [1, 9903, 7876, 9971, 2770, 2435, 10441, 9370, 2]
I do the converting like this : tmp2 = torch.Tensor(caption_feat)
now printing tmp2 gives : tensor([1.0000e+00, 9.9030e+03, 7.8760e+03, 9.9710e+03, 2.7700e+03, 2.4350e+03,
1.0441e+04, 9.3700e+03, 2.0000e+00])
However I expected to get : tensor([1. , 9903, , 9971. ......])
Any Idea?
To convert a list to a string, use Python List Comprehension and the join() function. The list comprehension will traverse the elements one by one, and the join() method will concatenate the list's elements into a new string and return it as output.
Tensors in CPU and GPU It is nearly 15 times faster than Numpy for simple matrix multiplication!
To convert a list to array in Python, use the np. array() method. The np. array() is a numpy library function that takes a list as an argument and returns an array containing all the list elements.
There are a few main ways to create a tensor, depending on your use case. To create a tensor with pre-existing data, use torch.tensor() . To create a tensor with specific size, use torch.* tensor creation ops (see Creation Ops).
You can directly convert python list
to a pytorch Tensor
by defining the dtype
. For example,
import torch
a_list = [3,23,53,32,53]
a_tensor = torch.Tensor(a_list)
print(a_tensor.int())
>>> tensor([3,23,53,32,53])
If all elements are integer you can make integer torch tensor by defining dtype
>>> a_list = [1, 9903, 7876, 9971, 2770, 2435, 10441, 9370, 2]
>>> tmp2 = torch.tensor(a_list, dtype=torch.int)
>>> tmp2
tensor([ 1, 9903, 7876, 9971, 2770, 2435, 10441, 9370, 2],
dtype=torch.int32)
While torch.Tensor
returns torch.float32
which made it to print number in scientific notation
>>> tmp2 = torch.Tensor(a_list)
>>> tmp2
tensor([1.0000e+00, 9.9030e+03, 7.8760e+03, 9.9710e+03, 2.7700e+03, 2.4350e+03,
1.0441e+04, 9.3700e+03, 2.0000e+00])
>>> tmp2.dtype
torch.float32
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With