当前位置: 首页 > news >正文

深圳自己做网站 服务器企业宣传片模板

深圳自己做网站 服务器,企业宣传片模板,网站采集信息怎么做,网站建设是指ImageFolder详解 1、数据准备2、ImageFolder类的定义transforms.ToTensor()解析 3、ImageFolder返回对象 1、数据准备 创建一个文件夹#xff0c;比如叫dataset#xff0c;将cat和dog文件夹都放在dataset文件夹路径下#xff1a; 2、ImageFolder类的定义 class ImageFol… ImageFolder详解 1、数据准备2、ImageFolder类的定义transforms.ToTensor()解析 3、ImageFolder返回对象 1、数据准备 创建一个文件夹比如叫dataset将cat和dog文件夹都放在dataset文件夹路径下 2、ImageFolder类的定义 class ImageFolder(DatasetFolder):def __init__(self,root: str,transform: Optional[Callable] None,target_transform: Optional[Callable] None,loader: Callable[[str], Any] default_loader,is_valid_file: Optional[Callable[[str], bool]] None,):可以看到ImageFolder类有这几个参数 root:图片存储的根目录即存放不同类别图片文件夹的前一个路径。 transform:即对加载的这些图片进行的前处理的方式这里可以传入一个实例化的torchvision.Compose()对象里面包含了各种预处理的操作。 target_transform:对图片类别进行预处理通常来说不会用到这一步因此可以直接不传入参数默认图像标签没有变换如果需要进行标签的处理同样可以传入一个实例化的torchvision.Compose()对象。 loader:表示图像数据加载的方式通常采用默认的加载方式ImageFolder加载图像的方式为调用PIL库因此图像的通道顺序是RGB而非opencv的BGR。 is_valid_file:获取图像文件路径的函数并且可以检查是否有损坏的文件。 示例代码 ROOT_TEST dataset #dataset/cat, dataset/dog normalize transforms.Normalize([0.5, 0.5, 0.5], [0.5, 0.5, 0.5]) val_transform transforms.Compose([transforms.Resize((224, 224)),transforms.ToTensor(),normalize ])# 加载训练数据集 val_dataset ImageFolder(ROOT_TEST, transformval_transform)transforms.ToTensor()解析 这里需要特别说一下ToTensor()这个函数的作用刚接触深度学习的我那时以为只是单纯的将图像的ndarray和PIL格式转成Tensor格式后来查看了一下源码之后发现事情并没有这么简答 Convert a PIL Image or ndarray to tensor and scale the values accordingly.This transform does not support torchscript.Converts a PIL Image or numpy.ndarray (H x W x C) in the range[0, 255] to a torch.FloatTensor of shape (C x H x W) in the range [0.0, 1.0]if the PIL Image belongs to one of the modes (L, LA, P, I, F, RGB, YCbCr, RGBA, CMYK, 1)or if the numpy.ndarray has dtype np.uint8In the other cases, tensors are returned without scaling... note::Because the input image is scaled to [0.0, 1.0], this transformation should not be used whentransforming target image masks. See the references_ for implementing the transforms for image masks... _references: https://github.com/pytorch/vision/tree/main/references/segmentation这是关于ToTensor()函数的注解这里明确指出了ToTensor()可以将PIL和ndarray格式的图像数据转成Tensor并缩放它们的值这里的缩放他们的值的意思在下面也指出了即将[0 255]的像素值域归一化[0, 1.0]并且图像转换成Tensor格式之后维度的顺序也会发生一点变化从一开始的HWC变成了CHW的排列方式。 3、ImageFolder返回对象 以第一部分为例我们用一个val_dataset接收了ImageFolder的返回值那么这个Val_dataset对象里面包含了什么呢 val_dataset.classes:存放着根目录下的子文件夹的名称类别名称的列表。 val_dataset.class_to_idx:存放着类别名称和各自的索引字典类型。 val_dataset.extensions:存放着ImageFolder可以读取的图像格式名称元组类型。 val_dataset.targets:存放着根目录下每一张图的类别索引。 val_dataset.transform:我们提供的transform的方式。 val_dataset.imgs:存放着根目录下每一张图的路径和类别索引。元组列表类型。 以上是关于这个ImageFolder返回的对象的属性的解析。 此外我们可以通过一个for循环来遍历整个val_dataset的所有图像数据其中val_dataset[i]是一个元组类型的数据val_dataset[i][0]代表了前处理后的图像数据类型为tensor以AlexNet为例此时的tensor应该是3 * 224 * 224的维度。val_dataset[i][1]代表了图像的类别索引。 完整示例代码 import torch from AlexNet import AlexNet from torch.autograd import Variable from torchvision import transforms from torchvision.transforms import ToPILImage from torchvision.datasets import ImageFolder from torch.utils.data import DataLoader# ROOT_TRAIN D:/pycharm/AlexNet/data/train ROOT_TEST dataset# 将图像的像素值归一化到[-1,1]之间 normalize transforms.Normalize([0.5, 0.5, 0.5], [0.5, 0.5, 0.5])val_transform transforms.Compose([transforms.Resize((224, 224)),transforms.ToTensor(),normalize ])# 加载训练数据集 val_dataset ImageFolder(ROOT_TEST, transformval_transform)# 如果有NVIDA显卡转到GPU训练否则用CPU device cuda if torch.cuda.is_available() else cpu# 模型实例化将模型转到device model AlexNet().to(device)# 加载train.py里训练好的模型 model.load_state_dict(torch.load(rsave_model/model_best.pth))# 结果类型 classes [cat,dog ]# 把Tensor转化为图片方便可视化 show ToPILImage()# 进入验证阶段 model.eval() for i in range(10):x, y val_dataset[i][0], val_dataset[i][1]# show()显示图片# show(x).show()# torch.unsqueeze(input, dim)input(Tensor)输入张量dim (int)插入维度的索引最终扩展张量维度为4维x Variable(torch.unsqueeze(x, dim0).float(), requires_gradFalse).to(device)with torch.no_grad():pred model(x)# argmax(input)返回指定维度最大值的序号# 得到预测类别中最高的那一类再把最高的这一类对应classes中的那一类predicted, actual classes[torch.argmax(pred[0])], classes[y]# 输出预测值与真实值print(fpredicted:{predicted}, actual:{actual})
http://www.pierceye.com/news/146317/

相关文章:

  • linux建立网站做网站的应该怎么发广告
  • wordpress使用端口百度seo排名软
  • 用英文字母做网站关键词个人网站的设计与实现专业论文图像处理工具
  • 重庆企业网站推广流程php网站开发技术训练心得
  • 汽车销售网站学校建网站
  • 两台电脑一台做服务器 网站潍坊专业网站建设多少钱
  • 青岛科技街网站建设安徽 网站开发
  • 黑糖不苦建设的网站wordpress获取文章图片不显示
  • 美食网站建设的功能免费做简历的网站
  • 网站建设公司谁管手机如何创建网站
  • 可以自己做网站优化吗最好用的wordpress主题
  • 瓜子二手车网站开发智慧团建注册登记入口
  • 青岛网站开发建设安阳市商祺网络有限责任公司
  • 自己怎么做装修网站网站建设设计岗位职责
  • php语言 网站建设投资2 3万小生意
  • 全美网站开发微转app是用网站做的吗
  • 禹州 什么团购网站做的好广州网站建设程序开发
  • 成都市微信网站建设公司专业app开发
  • 郑州网站建设hndream神木网站设计公司
  • 关于网站集约化建设的讲话抓取网站访客qq号码
  • 南昌住房城市建设支行官方网站海洋网络提供网站建设
  • 网站外链建设的八大基本准则做网站卖得出去吗
  • 网站建设不完整 审核天元建设集团有限公司一公司尤作岭
  • 论坛程序做导航网站专做轮胎的网站
  • 网站开发软件解决方案个人网站可以做资讯吗
  • 网站右击无效是怎么做的牛商网建设的食品网站
  • 新北网站建设全网营销网站建设
  • 网站建设与管理 教学设计自己的身份已经网站备案了
  • 长沙网站列表网站开发实例及研究
  • 东莞阳光网官方网站吉林百度查关键词排名