pytorch 图像处理常见问题

1、Image 2 Tensor(三维到三维):

transforms.ToTensor:可以将PIL和numpy格式的数据从[0,255]范围转换到[0,1] ,具体做法其实就是将原始数据除以255。另外原始数据的shape是(H x W x C),经过 transforms.ToTensor 后shape会变为(C x H x W)

from torchvision import transforms
    
img = Image.open(img_path)
tran = transforms.ToTensor()
img_tensor = tran(img)

img_tensor 输出结果:
Alt

2、Tensor 2 Image (三维到三维):

from torchvision import transforms

img_original = transforms.ToPILImage () (img_tensor)
img_original,show()

Alt

3、升维:三维——四维(加上batch_size一维)

什么时候用: 把单张img放进一个net里的时候需要升维(考虑batch_size)

img_tensor_with_batchdim = torch.unsqueeze (img_tensor, dim=0) 
print(img_tensor.shape)
print(img_tensor_with_batchdim .shape)

Alt

4、降维:四维——三维(减去batch_size一维)

img = img[0]
img = img.detach ().numpy ()  # FloatTensor转为ndarray
x = np.transpose (img, (1, 2, 0))  # 把channel那一维放到最后
plt.imshow(x)
plt.show()

5、device(gpu,cpu)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值