Pytorch中四维Tensor转图片并保存(维度顺序调整)

最近在复现一篇论文代码的过程中,想要输出中间图片的结果图,通过debug发现在pytorch网络中是用Tensor存储的四维张量。在这里插入图片描述
1、维度顺序转换

第一维代表的是batch_size,然后是通道数和图像尺寸,首先要进行维度顺序的转换
通过permute函数实现

outputRs = outputR.permute(0,2,3,1)

shape转为96 * 128 * 3在这里插入图片描述

2、转为numpy数组
		#由于代码中的中间结果是带有梯度的要进行detach()操作
		k = outputRs.cpu().detach().numpy()
3、根据第一维度batch_size逐个读取中间结果,并存储到磁盘中

Image需导入from PIL import Image

		for i in range(10):
			res = k[i] #得到batch中其中一步的图片
			image = Image.fromarray(np.uint8(res)).convert('RGB')
			#image.show()
			#通过时间命名存储结果
			timestamp = datetime.datetime.now().strftime("%M-%S")
			savepath = timestamp + '_r.jpg'
			image.save(savepath)
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值