我有一个pytorch ImageFolder。我看到ImageFolder的__getitem__(index)方法可以同时获得索引的张量和类。但是,如果我想使用ImageFolder从我选择的一个类(或多个类)中随机抽取一定数量的图像,然后为__getitem__方法获取它们的索引,该怎么办?(有点像反向操作,即选择类-> get index而不是选择index -> get class)
如何做到这一点?
在尝试初始化torch.zeros - torch.zeros((2000,2000,3200), device=device)时,我面临内存问题。
获取以下错误:
RuntimeError: CUDA out of memory. Tried to allocate 47.69 GiB (GPU 0; 8.00 GiB total capacity; 1.50 KiB already allocated; 6.16 GiB free; 2.00 MiB reserved in total by PyTorch)
我的问题是:为什么零张量需要那么大的记忆?还是我做错了什么?
我在另一个系统中与
我的目标是提取pytorch张量的维度,其索引不在给定的列表中。我想使用广播来做如下所示: Sim = torch.rand((5, 5))
samples_idx = [0] # the index of dim that I don't want to extract
a = torch.arange(Sim.size(0)) not in samples_idx
result = Sim[a] 我假设a是一个维度为5的True/Flase张量,但我得到了错误的RuntimeError: Boolean value of Tensor with more than one va
我是PyTorch的新手,我来自函数式编程语言(地图函数在任何地方都被使用)。问题是,我有一个张量,我想对张量的每个元素做一些运算。操作可能是多种多样的,所以我需要这样一个函数:
map : (Numeric -> Numeric) -> Tensor -> Tensor
e.g. map(lambda x: x if x < 255 else -1, tensor) # the example is simple, but the lambda may be very complex
在PyTorch中有这样的函数吗?我应该如何实现这样的功能?
我有一个Pytorch代码,它在for循环的每一次迭代中生成一个Pytorch张量,都是相同大小的。我想把每个张量分配给一排新的张量,其中包括最后的所有张量。在其他作品中,像这样的作品
for i=1:N:
X = torch.Tensor([[1,2,3], [3,2,5]])
#Y is a pytorch tensor
Y[i] = X
我想知道怎样才能用Py手电筒来实现这一点。
例如,我有一个N B x H张量列表(即N x B x H张量)和一个N向量列表(即N x B张量)。我要把列表中的每个B x H张量乘以相应的B维张量,从而得到N x H张量。
我知道如何使用单个for-loop和PyTorch来实现计算,但是有矢量注入吗?(即不使用for-loop,只使用PyTorch/numpy操作)