假设我有一个张量list
,volumes
,我可以遍历它:
for volume in range(len(volumes)):
print (volume.shape)
torch.Size([3, 512, 512, 222])
<class 'torch.Tensor'>
torch.Size([3, 512, 512, 185])
<class 'torch.Tensor'>
torch.Size([3, 512, 512, 271])
<class 'torch.Tensor'>
torch.Size([3, 512, 512, 261])
<class 'torch.Tensor'>
torch.Size([3, 512, 512, 215])
<class 'torch.Tensor'>
torch.Size([3, 512, 512, 284])
<class 'torch.Tensor'>
torch.Size([3, 512, 512, 191])
<class 'torch.Tensor'>
如何将所有卷的通道从3更改为1 ?
感谢如果您希望删除前两个通道,那么您应该只保留最后一个dim=-1
即。dim=2
:
>>> vnew = [v[2:] for v in volumes] # list of (1, 512, 512, *)
如果您想在过程中压缩单例维度,则执行:
>>> vnew = [v[2] for v in volumes] # list of (512, 512, *)
如果您只想为每个卷保留第一个通道,您可以创建一个新的列表,如下所示:
new_volumes = [volume[0,...] for volume in volumes]