首页 > 其他分享 >pytorch保存单通道灰度图片

pytorch保存单通道灰度图片

时间:2023-07-01 10:35:17浏览次数:36  
标签:image pytorch 灰度 transforms 图像 import save 单通道


前言

import torch
import torchvision.transforms as transforms
from torchvision.utils import save_image
image = torch.randn(1, 256, 256)  # 示例,随机生成一个单通道图像

# 将图像张量保存为文件
save_image(image, "single_channel_image.png", normalize=True)

pytorch中通常如上使用torchvision.utils.save_image来保存图片,但是在保存单通道灰度图片时,该函数保存后的图片会是3通道的,虽然每个通道上的数据一样,视觉上也是灰度图片,但后续输入单通道的网络会报错。

方案

此时我们可以用将图片转换成PIL,用它提供的save()方法来保存

import torch
import torchvision.transforms as transforms
from PIL import Image

# 假设你有一个单通道的图像张量image,形状为 [H, W]
image = torch.randn(1, 256, 256)  # 示例,随机生成一个单通道图像

# 创建一个转换函数来将图像张量转换为PIL图像
to_pil = transforms.ToPILImage()

# 将图像张量转换为PIL图像
pil_image = to_pil(image)

# 保存PIL图像
pil_image.save("single_channel_image.png")


标签:image,pytorch,灰度,transforms,图像,import,save,单通道
From: https://blog.51cto.com/u_12390904/6598261

相关文章

  • 怎样导入pytorch gpu版本?
    1.下载anaconda2.在anaconda里创建环境create-npytorch_gpu#激活环境condaactivatepytorch_gpu3.在环境里install修改镜像接下来就是关键一步了,把-cpytorch表示的pytorch源,更改为国内的镜像。https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/先浏......
  • Kong入门学习实践(7)灰度发布与蓝绿部署
    两年前,我在学习K8s的时候有写过一篇基于NginxIngress实现灰度发布的博文。这次,我们基于Kong来实践一下。灰度发布的具体实现其实是流量切分,那就让我们先回顾一下流量切分的实现方式。流量切分实现方式Kong可以支持实现不同场景下的灰度发布和测试,可以满足金丝雀发布、蓝绿部署......
  • 使用numpy实现bert模型,使用hugging face 或pytorch训练模型,保存参数为numpy格式,然后使
     之前分别用numpy实现了mlp,cnn,lstm,这次搞一个大一点的模型bert,纯numpy实现,最重要的是可在树莓派上或其他不能安装pytorch的板子上运行,推理数据本次模型是随便在huggingface上找的一个新闻评论的模型,7分类看这些模型参数,这并不重要,模型占硬盘空间都要400+Mbert.embeddings.w......
  • 机器学习之pytorch环境配置以及cuda安装
     关于conda环境下安装cuda配置和pytorch安装cuda查看显卡型号 (进入cmd环境下) nvidia-smi 下载对应的cudaCUDA Toolkit Archive | NVIDIA Developer)选择与cuda相匹配的版本(版本尽量靠近些电脑的)建议使用迅雷下载,网站下载会限速正式安装安装路径的选择,......
  • AI_Pytorch_损失函数
    数据和向量损失函数数据的归一化Z-score均值方差归一化(standardization):把所有数据归一化到均值为0方差为1的分布中。适用于数据分布没有明显的边界,有可能存在极端的数据值。 数据符合正态分布,消除离群点的影响min-max标准化最值归一化(Normalizati......
  • 利用Pytorch实现Faster R-CNN
    代码解析: Pytorchtorchvision构建Faster-rcnn(一)----coco数据读取Pytorchtorchvision构建Faster-rcnn(二)----基础网络Pytorchtorchvision构建Faster-rcnn(三)----RPNPytorchtorchvision构建Faster-rcnn(四)----ROIHead训练模型:BaiduCloud 附加Pytorch源码:https://github.com/chen......
  • Pytorch | `torch.multiprocessing.spawn` 函数的使用
    torch.multiprocessing.spawn是PyTorch中用于启动多进程的函数,可以用于分布式训练等场景。其函数签名如下:torch.multiprocessing.spawn(fn,args=(),nprocs=1,join=True,daemon=False,start_method='spawn',)参数:fn(function)–函数被称......
  • PyTorch 从入门到放弃 —— 加载数据
    PyTorch有两种基础数据类型: torch.utils.data.DataLoader 和 torch.utils.data.Dataset. Dataset,它们存储着样本和对应的标记。 Dataset是样本数据集,DataLoader对Dataset进行封装,方便加载、遍历和分批等。importtorchfromtorchimportnnfromtorch.utils.dataimport......
  • Bert Pytorch 源码分析:四、编解码器
    #Bert编码器模块#由一个嵌入层和NL个TF层组成classBERT(nn.Module):"""BERTmodel:BidirectionalEncoderRepresentationsfromTransformers."""def__init__(self,vocab_size,hidden=768,n_layers=12,attn_heads=12,d......
  • Pytorch | 输入的形状为[seq_len, batch_size, d_model]和 [batch_size, seq_len, d_m
    首先导入依赖的torch包。importtorch我们设:seq_len(序列的最大长度):5batch_size(批量大小):2d_model(每个单词被映射为的向量的维度):10heads(多头注意力机制的头数):5d_k(每个头的特征数):21、输入形状为:[seq_len,batch_size,d_model]input_tensor=torch.randn(5,2,10)inp......