五、加载数据集

之前写过加载数据集的一些小笔记,这里详细内容就不再叙述了
详细学习可以参考该博文二、PyTorch加载数据

一、分析

因为U-net网络架构是输入1通道,大小为(572,572)的灰度图,图片大小无所谓,我的思路是将三通道的图像使用OpenCV进行相关的处理,转换为单通道突图片,之后再送入网络模型中

二、准备数据集

数据集的采集和制作可以参考该篇博文
四、采集和制作数据集
在这里插入图片描述

三、完整加载数据集代码

test_dataset

import torch
import cv2
import os
import glob
from torch.utils.data import Dataset
import randomclass Beyond_loader(Dataset):def __init__(self, data_path):# 初始化函数,读取所有data_path下的图片self.data_path = data_pathself.imgs_path = glob.glob(os.path.join(data_path, 'image/*.png'))def augment(self, image, flipCode):# 使用cv2.flip进行数据增强,filpCode为1水平翻转,0垂直翻转,-1水平+垂直翻转flip = cv2.flip(image, flipCode)return flipdef __getitem__(self, index):# 根据index读取图片image_path = self.imgs_path[index]# 根据image_path生成label_pathlabel_path = image_path.replace('image', 'label')# 读取训练图片和标签图片image = cv2.imread(image_path)label = cv2.imread(label_path)# 将数据转为单通道的图片image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)label = cv2.cvtColor(label, cv2.COLOR_BGR2GRAY)image = image.reshape(1, image.shape[0], image.shape[1])label = label.reshape(1, label.shape[0], label.shape[1])# 处理标签,将像素值为255的改为1if label.max() > 1:label = label / 255# 随机进行数据增强,为2时不做处理flipCode = random.choice([-1, 0, 1, 2])if flipCode != 2:image = self.augment(image, flipCode)label = self.augment(label, flipCode)return image, labeldef __len__(self):# 返回训练集大小return len(self.imgs_path)if __name__ == "__main__":beyond_loader = Beyond_loader("./dataset/train")print("数据个数:", len(beyond_loader))train_loader = torch.utils.data.DataLoader(dataset=beyond_loader,batch_size=1,shuffle=True)for image, label in train_loader:print(image.shape)

一共有6张图像,batch_size设为1,故train_loader有6组

数据个数: 6
torch.Size([1, 1, 320, 320])
torch.Size([1, 1, 320, 320])
torch.Size([1, 1, 320, 320])
torch.Size([1, 1, 320, 320])
torch.Size([1, 1, 320, 320])
torch.Size([1, 1, 320, 320])

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/377455.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CDMA的完整形式是什么?

CDMA:码分多址 (CDMA: Code Division Multiple Access) CDMA is an abbreviation of Code Division Multiple Access. Code Division Multiple Access is a digital cellular technology and displays a network of multiple accesses. The various radio communica…

DSP关于存储器读写、IO读写时序图的注意点

这里的存储器图不涉及插入等待周期。 IO设备的图可以自行减去插入等待周期,然后观察。 存储器读读写 存储器写写读 I/O设备读写操作

oem模式是什么_OEM的完整形式是什么?

oem模式是什么OEM:原始设备制造商 (OEM: Original Equipment Manufacturer) OEM is an abbreviation of "Original Equipment Manufacturer". Its meaning has changed over time. In former times, it alluded to a corporation that manufactures produ…

妈了个巴卡

配置文件修改: 一、打开PC端微信,打开咩了个咩小程序,点进入第一关,之后再关掉小程序 二、PC端微信设置里面,找到管理文件,打开文件夹 三、Applet下按修改日期找到a9结尾的文件 四、接着进入\usr\gamecac…

【C++进阶】利用重载二元运算符改进平面向量类Vec2D

先前回顾 在【C进阶】 遵循TDD原则,实现平面向量类(Vec2D)中我们初步实现了Vec2D内容,现在做出一定的改进: 实现Vec2D的一半二元算数运算符重载 1、 - (两个Vec2D对象运算以及1个Vec2D对象与一个double数运算) 2、*(点乘和数乘) 同时将之前…

简单的群体测试方案C++代码(Group testing against Covid-19)

原理参考链接 https://www.econstor.eu/handle/10419/221811 http://www.magigen.com/h-nd-348.html 文章原理回顾 文章比较了两种估计人群中病毒流行率的方法: 1、个体测试,即对12000人的样本进行病毒测试,并采用标准二项测试得出95%的置…

DDOS小测试

一、F12打开开发者工具,刷新待攻击的网站,重新获得一次请求 二、user-agent为浏览器的合法标识符 user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/105.0.0.0 Safari/537.36 是键值对的形式&…

融合注意力机制的YOLOv5火焰识别+Arduino UNO R3实现5s内连续识别到火焰,警报灯红灯亮起

效果:摄像头捕获室内图像,将视频实时通过串口通讯传递给改进之后的YOLOv5神经网络进行火焰识别,若5s内连续检测到有火焰,警报灯变红,进入危险状态。5s之内未连续出现火焰,警报灯变绿,进入安全状…

Moon.Orm性能报告

以下为有网友公司的评估测试及使用规范 大家可以下载word看看 http://pan.baidu.com/s/1hquvRuc 一、和ADO.NET进行的压力测试 说明:2000并发用户,此图为一网友公司对moon.orm的测评 二、和ADO.NET的性能对比测试 说明:同时请求10000条数据&a…

(保守群组测试 非保守群组测试 二次重复测试 自适应二次重复测试)四种群体测试的C++代码

目录原理保守组检测非保守组检测二次重复测试自适应二次重复测试四种测试方法的核心代码保守群组测试非保守群组测试二次重复测试与自适应二次重复测试测试代码参考文献原理 假设该病在人群中的患病率(先验概率)为p,我们想用群体检验法检验N…

AngularJS中的表达式

AngularJS表达式 (AngularJS Expressions) In AngularJS, expressions are solved to give a result. It outputs the result of the expression in the html element that called it. Expressions in AngularJS contain literals, constants, operators and variables with re…

学习总结:机器学习(一)

有监督学习(Supervised Learning)所谓有监督学习,是区别于无监督学习而言的。其过程如下:给定一系列样本,样本是由一系列特征值和输出值组成。比如,某个地方的商品房,包括房子大小、房间数、距离…

WPS双栏格式下插入单栏图片

以一个我认识的西工大博士大佬的一篇SCI为例,期刊是双栏,图片过大,需要单栏进行展示,效果图如下: 一、双栏内容 二、插入单栏图像 随便敲几个字,选中, 页面布局----分栏---一栏 这行字就会…

JavaScript中的数组

Here we are discussing one of the most useful data structure, Array. 在这里,我们讨论最有用的数据结构之一Array 。 By conventional definition of arrays, "Arrays are the homogeneous collection of data types. But in JS, Arrays simply are the c…

WPS根据章节编号依次排序

第Ⅲ章节有四小部分,分别为A、B、C、D 第Ⅳ章节要重新开始编号,从A开始 操作步骤: ①再D后面回车(红线位置回车),生成E ②把Ⅳ中待写内容写到E中 ③将E复制到Ⅳ下,这里需要注意D的换行也要复制…

【C++基础】异常匹配与内建异常类

目录异常匹配catch: 按异常类型匹配为何要使用异常类内建异常类标准库中的异常基类标准库中的异常类例1:vector下标访问越界out_of_range异常例2:内存分配失败bad_alloc异常例3:侧向转换失败bad_cast异常类几种情况,使用对应异常异…

小试---EF5.0入门实例1

现在做个小练习吧~~~ 第一步:首先新建一个数据库名字为Test;数据库里面只有一个表UserTable 脚本为: USE [master] GO /****** 对象: Database [Test] 脚本日期: 12/15/2013 18:51:54 ******/ CREATE DATABASE [Test] ON PRIMARY ( NAME NTest, F…

iScroll4 禁止select等页面元素默认事件的解决方法 转

iScroll4 禁止select等页面元素默认事件的解决方法起因在于onBeforeScrollStart : function(e){ e.preventDefault(); },这一行,iSroll禁止了事件的默认行为,导致select,option,textarea等元素无法点击。解决方法也很简单&#xf…

MPEG的完整形式是什么?

MPEG:运动图像专家组 (MPEG: Moving Picture Experts Group) MPEG is an abbreviation of Moving Picture Experts Group. It is a working group of authorities that is founded to establish standards for audio and video compression and transmission. The a…

安利一款倒计时插件---雨滴桌面

内容来自B站(搜索Rainmeter即可),里面教程很多,因为视频看的有点麻烦,故进行了整理 一、下载安装包、解压、安装 免费下载连接,不需要积分 skin文件夹存放皮肤的一些配置文件,因为原本皮肤太low了 第二个是可执行文…