How to make an empty tensor in Pytorch?

Question:

In python, we can make an empty list easily by doing a = []. I want to do a similar thing but with Pytorch tensors.

If you want to know why I need that, I want to get all of the data inside a given dataloader (to create another customer dataloader). Having an empty tensor can help me gather all of the data inside a tensor using a for-loop. This is a sudo code for it.

all_data_tensor = # An empty tensor

for data in dataloader:
  all_data_tensor  = torch.cat((all_data_tensor, data), 0)

Is there any way to do this?

Asked By: Peyman

||

Answers:

We can do this using torch.empty. But notice torch.empty needs dimensions and we should give 0 to the first dimension to have an empty tensor.

The code will be like this:

# suppose the data generated by the dataloader has the size of (batch, 25)
all_data_tensor = torch.empty((0, 25), dtype=torch.float32)
# first dimension should be zero.

for data in dataloader:
  all_data_tensor = torch.cat((all_data_tensor, data), 0)
Answered By: Peyman
Categories: questions Tags: , ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.