UserWarning: Creating a tensor from a list of numpy.ndarrays is extremely slow. Please consider converting the list to a single numpy.ndarray with numpy.array() before converting to a tensor. (Triggered internally at ..\torch\csrc\utils\tensor_new.cpp:233.) return torch.tensor(advantage_list, dtype=torch.float)
时间: 2024-03-08 22:50:39 浏览: 350
Pytorch之Tensor和Numpy之间的转换的实现方法
这是一个警告信息,意思是将一个由numpy数组组成的列表转换成tensor的速度非常慢,建议在转换成tensor之前先使用numpy.array()将列表转换成一个numpy数组。这个警告信息是由PyTorch在内部触发的,目的是提醒用户在处理大量数据时应该注意转换的效率问题。如果你需要处理大量的numpy数组数据,可以考虑使用numpy.array()来提高代码的性能。下面是一个可能的修改方式:
```
advantage_array = np.array(advantage_list, dtype=np.float32)
return torch.from_numpy(advantage_array)
```
这样就可以避免警告信息的出现,并且提高代码的效率。需要注意的是,在将numpy数组转换成tensor时,应该使用torch.from_numpy()函数而不是torch.tensor()函数,因为后者会在转换过程中复制数据,而前者不会。
阅读全文