torch[cpuType]的语法解释
The grammar explanation of torch[cpuType]
我第一次看到 lua 中的用法就像 torch[cpuType]
在文件 dataloader.lua of fb.resnest.torch:
中
batch = torch[cpuType](sz, nCrops, table.unpack(imageSize))
我没有找到任何关于它的语法解释。怎么理解呢?
PS:文件中定义了cpuType
,即self.cpuType
,我猜。
更新:根据我的测试,torch['FloatTensor']
等同于 torch.FloatTensor
。
根据我对 pytorch 的了解,它与 Lua Torch 非常相似(我也尝试过 lua torch),我会说它指定了您希望存储此张量的位置。请注意,火炬无法执行存储两个不同处理单元的操作。有一些方法可以在 cpu (net≈ß.cpu()) 和 gpu [net.cuda()] 之间移动数据。
我认为 torch[cpuType]
与 torch.cpuType
相同。
代码 (https://github.com/facebook/fb.resnet.torch/blob/master/dataloader.lua#L51-L57) 似乎说 cpuType
可以取几个不同的值,即 DoubleTensor
、FloatTensor
或 HalfTensor
。因此,此表示法创建 torch.DoubleTensor
或 torch.FloatTensor
或 torch.HalfTensor
。对于
这样的东西,它是一种更紧凑的表示法
if cpuType == 'torch.DoubleTensor' then
batch = torch.DoubleTensor(sz, nCrops, table.unpack(imageSize))
elseif cpuType == 'torch.FloatTensor' then
batch = torch.FloatTensor(sz, nCrops, table.unpack(imageSize))
elseif cpuType == 'torch.HalfTensor' then
batch = torch.HalfTensor(sz, nCrops, table.unpack(imageSize))
我第一次看到 lua 中的用法就像 torch[cpuType]
在文件 dataloader.lua of fb.resnest.torch:
batch = torch[cpuType](sz, nCrops, table.unpack(imageSize))
我没有找到任何关于它的语法解释。怎么理解呢?
PS:文件中定义了cpuType
,即self.cpuType
,我猜。
更新:根据我的测试,torch['FloatTensor']
等同于 torch.FloatTensor
。
根据我对 pytorch 的了解,它与 Lua Torch 非常相似(我也尝试过 lua torch),我会说它指定了您希望存储此张量的位置。请注意,火炬无法执行存储两个不同处理单元的操作。有一些方法可以在 cpu (net≈ß.cpu()) 和 gpu [net.cuda()] 之间移动数据。
我认为 torch[cpuType]
与 torch.cpuType
相同。
代码 (https://github.com/facebook/fb.resnet.torch/blob/master/dataloader.lua#L51-L57) 似乎说 cpuType
可以取几个不同的值,即 DoubleTensor
、FloatTensor
或 HalfTensor
。因此,此表示法创建 torch.DoubleTensor
或 torch.FloatTensor
或 torch.HalfTensor
。对于
if cpuType == 'torch.DoubleTensor' then
batch = torch.DoubleTensor(sz, nCrops, table.unpack(imageSize))
elseif cpuType == 'torch.FloatTensor' then
batch = torch.FloatTensor(sz, nCrops, table.unpack(imageSize))
elseif cpuType == 'torch.HalfTensor' then
batch = torch.HalfTensor(sz, nCrops, table.unpack(imageSize))