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

深度学习中用来训练的train.py 探究学习2.0( 数据预处理)

 数据预处理

下列代码为train.py中常见的一些数据处理方法

train_transform = transforms.Compose([transforms.Resize((224, 224)),transforms.RandomVerticalFlip(),# 随机旋转,-45度到45度之间随机选transforms.RandomRotation(45),# 从中心开始裁剪transforms.CenterCrop(224),# 随机水平翻转 选择概率值为 p=0.5transforms.RandomHorizontalFlip(p=0.5),# 随机垂直翻转transforms.RandomVerticalFlip(p=0.5),# 参数:亮度、对比度、饱和度、色相transforms.ColorJitter(brightness=0.2, contrast=0.1, saturation=0.1, hue=0.1),# 转为3通道灰度图 R=G=B 概率设定0.025transforms.RandomGrayscale(p=0.025),transforms.ToTensor(),transforms.Normalize([0.5, 0.5, 0.5], [0.5, 0.5, 0.5])])

1.transforms.Resize

在下述示例中,我们首先使用PIL库的Image.open方法读取了一张图片。然后,我们使用transforms.Resize(500)定义了一个resize操作,将图片的短边缩放至500像素,同时保持长宽比不变。最后,我们将resize操作应用到图片上,得到了resize后的图片resized_image。最后一步是使用show方法显示resize后的图片。

from PIL import Image
from torchvision import transforms# 读取图片
image = Image.open('image.jpg')# 定义transforms.Resize操作
resize = transforms.Resize(500)# 对图片进行resize操作
resized_image = resize(image)# 显示resize后的图片
resized_image.show()

将resize = transforms.Resize(500) 改为 resize = transforms.Resize((500,500))

 

2. transforms.RandomVerticalFlip

transforms.RandomVerticalFlip是一个PyTorch中的数据预处理方法,用于垂直翻转图像。它可以根据给定的概率p,以p的概率对图像进行垂直翻转,以1-p的概率保持原始图像不变。

以下是一个使用transforms.RandomVerticalFlip的示例代码:

import torch
from torchvision import transforms
from PIL import Image# 加载图像
image = Image.open('image.jpg')# 定义数据预处理方法
transform = transforms.Compose([transforms.RandomVerticalFlip(p=0.5)
])# 对图像进行数据预处理
transformed_image = transform(image)# 显示预处理后的图像
transformed_image.show()

在上面的示例中,我们首先加载了一张图像,然后定义了一个transforms.Compose对象,其中包含了transforms.RandomVerticalFlip方法。接下来,我们将图像传递给transform对象,它会根据给定的概率p对图像进行垂直翻转。最后,我们显示了预处理后的图像。 

3. transforms.RandomHorizontalFlip 

transforms.RandomHorizontalFlip是torchvision.transforms中的一个类,用于对图像进行随机水平翻转的操作。它可以将图像水平翻转,即左右翻转。这个操作可以增加数据的多样性,提高模型的泛化能力。

下面是一个使用transforms.RandomHorizontalFlip的示例代码:

import torchvision.transforms as transforms
from PIL import Image# 创建一个RandomHorizontalFlip对象
transform = transforms.RandomHorizontalFlip(p=0.5)# 加载图像
image = Image.open('image.jpg')# 对图像进行水平翻转
flipped_image = transform(image)# 显示原始图像和翻转后的图像
image.show()
flipped_image.show()

在上面的代码中,我们首先导入了transforms模块和Image模块。然后,我们创建了一个RandomHorizontalFlip对象,并设置了翻转的概率为0.5。接下来,我们加载了一张图像,并使用transform对图像进行水平翻转操作。最后,我们分别显示了原始图像和翻转后的图像。 

4. transforms.RandomRotation 随机旋转

transforms.RandomRotation是PyTorch中的一个图像变换操作,用于对图像进行随机旋转。它可以将图像按照一定的角度范围进行随机旋转,增加数据的多样性和鲁棒性。

以下是transforms.RandomRotation的使用示例:

import torchvision.transforms as transforms
from PIL import Image# 创建一个RandomRotation对象,设置旋转角度范围为±30度
random_rotation = transforms.RandomRotation(30)# 加载图像
image = Image.open('image.jpg')# 对图像进行随机旋转
rotated_image = random_rotation(image)# 显示旋转后的图像
rotated_image.show()

在上述示例中,我们首先导入了transforms模块和Image类。然后,我们创建了一个RandomRotation对象,并设置旋转角度范围为±30度。接下来,我们加载了一张图像,并使用random_rotation对图像进行随机旋转。最后,我们显示了旋转后的图像。

5. transforms.CenterCrop 中心裁剪

transforms.CenterCrop是PyTorch中的一个图像变换函数,用于对图像进行中心裁剪。它可以根据给定的尺寸对图像进行裁剪,并将图像的中心部分保留下来。

以下是一个使用transforms.CenterCrop的示例代码:

import torchvision.transforms as transforms
from PIL import Image# 加载图像
image = Image.open('image.jpg')# 定义裁剪尺寸
crop_size = 224# 创建CenterCrop变换对象
center_crop = transforms.CenterCrop(crop_size)# 对图像进行中心裁剪
cropped_image = center_crop(image)# 显示裁剪后的图像
cropped_image.show()

在上面的示例中,我们首先导入了transforms模块和Image类。然后,我们加载了一张图像,并定义了裁剪尺寸为224。接下来,我们创建了一个CenterCrop变换对象,并将裁剪尺寸作为参数传递给它。最后,我们使用center_crop对象对图像进行中心裁剪,并显示裁剪后的图像。

6.   transforms.ColorJitter(brightness=0.2, contrast=0.1, saturation=0.1, hue=0.1)

transforms.ColorJitter是PyTorch中的一个图像变换类,它可以改变图像的亮度、对比度、饱和度和色调等属性。在你提供的例子中,brightness=0.2表示将图像的亮度随机变化为原图亮度的80%(1-0.2)到120%(1+0.2)之间。同样地,contrast=0.1saturation=0.1hue=0.1分别表示对比度、饱和度和色调的变化范围。

以下是一个示例代码,展示了如何使用transforms.ColorJitter来改变图像的亮度、对比度、饱和度和色调属性:

import torch
from torchvision import transforms# 创建一个ColorJitter对象,设置亮度、对比度、饱和度和色调的变化范围
jitter = transforms.ColorJitter(brightness=0.2, contrast=0.1, saturation=0.1, hue=0.1)# 加载图像
image = Image.open('image.jpg')# 对图像进行变换
transformed_image = jitter(image)# 显示变换后的图像
transformed_image.show()

这段代码会加载一张名为image.jpg的图像,并使用transforms.ColorJitter对图像进行亮度、对比度、饱和度和色调的变换。最后,显示变换后的图像。

可以明显看到这些人的脸更红了

7.transforms.RandomGrayscale

transforms.RandomGrayscale是一个用于随机将图像转换为灰度图像的操作。它可以在图像上随机选择一些像素,并将它们转换为灰度值,而其他像素保持不变。

下面是一个使用transforms.RandomGrayscale的示例代码:

import torchvision.transforms as transforms
from PIL import Image# 加载图像
image = Image.open("image.jpg")# 定义transforms
transform = transforms.Compose([transforms.RandomGrayscale(p=0.5),])# 对图像进行转换
transformed_image = transform(image)# 显示转换后的图像
transformed_image.show()

在上面的示例中,我们首先加载了一张图像,然后定义了一个transforms.Compose对象,其中包含了transforms.RandomGrayscale操作和transforms.ToTensor操作。然后,我们将图像应用于这个transforms对象,得到了转换后的图像。最后,我们使用show()方法显示了转换后的图像。

8.transforms.ToTensor()

transforms.ToTensor()是PyTorch中的一个图像转换函数,它将PIL图像或NumPy数组转换为张量(Tensor)。这个函数的作用是将图像数据从范围[0, 255]转换为范围[0.0, 1.0]的浮点数张量,并且将通道顺序从H×W×C转换为C×H×W。

下面是一个使用transforms.ToTensor()的示例:

import torch
from torchvision import transforms# 假设有一张PIL图像img
img = Image.open('image.jpg')# 创建一个transforms对象,将图像转换为张量
transform = transforms.ToTensor()# 使用transforms对象对图像进行转换
tensor_img = transform(img)print('tensor_img',tensor_img.shape)print(tensor_img)

输出结果将是一个形状为[C, H, W]的张量,其中C是通道数,H是图像的高度,W是图像的宽度。

tensor_img torch.Size([3, 375, 500])
tensor([[[1.0000, 1.0000, 1.0000,  ..., 1.0000, 1.0000, 1.0000],[1.0000, 1.0000, 1.0000,  ..., 1.0000, 1.0000, 1.0000],[1.0000, 1.0000, 1.0000,  ..., 1.0000, 1.0000, 1.0000],...,[0.5333, 0.4431, 0.4667,  ..., 0.4392, 0.4431, 0.4627],[0.4510, 0.6275, 0.4549,  ..., 0.4510, 0.4196, 0.4235],[0.5804, 0.4196, 0.3961,  ..., 0.4588, 0.4275, 0.4157]],[[1.0000, 1.0000, 1.0000,  ..., 1.0000, 1.0000, 1.0000],[1.0000, 1.0000, 1.0000,  ..., 1.0000, 1.0000, 1.0000],[1.0000, 1.0000, 1.0000,  ..., 1.0000, 1.0000, 1.0000],...,[0.4941, 0.4078, 0.4392,  ..., 0.4392, 0.4314, 0.4510],[0.4000, 0.5882, 0.4275,  ..., 0.4392, 0.4039, 0.4078],[0.5176, 0.3804, 0.3843,  ..., 0.4471, 0.4118, 0.3882]],[[1.0000, 1.0000, 1.0000,  ..., 1.0000, 1.0000, 1.0000],[1.0000, 1.0000, 1.0000,  ..., 1.0000, 1.0000, 1.0000],[1.0000, 1.0000, 1.0000,  ..., 1.0000, 1.0000, 1.0000],...,[0.4471, 0.3725, 0.4078,  ..., 0.4078, 0.3961, 0.4157],[0.3373, 0.5490, 0.3961,  ..., 0.4039, 0.3686, 0.3725],[0.4549, 0.3412, 0.3569,  ..., 0.4196, 0.3765, 0.3569]]])

9.transforms.Normalize([0.5, 0.5, 0.5], [0.5, 0.5, 0.5])

transforms.Normalize([0.5, 0.5, 0.5], [0.5, 0.5, 0.5])是PyTorch中的一个数据预处理操作,用于将图像数据进行归一化处理。具体来说,它将输入的图像数据减去均值[0.5, 0.5, 0.5],然后再除以标准差[0.5, 0.5, 0.5],从而使得处理后的图像数据的均值为0,标准差为1。

这个操作的目的是为了使得模型更容易收敛,因为经过归一化处理后的数据符合标准正态分布。在归一化之前,图像数据的像素值通常是在[0, 1]的范围内,归一化之后,像素值会变成在[-1, 1]的范围内。

需要注意的是,如果使用的是transforms.Normalize(channel_mean, channel_std),其中channel_mean和channel_std是根据数据计算得到的均值和标准差,那么归一化之后的数据的均值会变成0,标准差会变成1。

以下是一个示例代码,演示了如何使用transforms.Normalize进行图像数据的归一化处理:

import torch
import torchvision.transforms as transforms# 假设img是一个图像数据
img = ...# 定义归一化操作
normalize = transforms.Normalize([0.5, 0.5, 0.5], [0.5, 0.5, 0.5])# 对图像数据进行归一化处理
normalized_img = normalize(img)# 打印归一化后的图像数据
print(normalized_img)

输出

normalized_img torch.Size([3, 375, 500])
tensor([[[ 1.0000,  1.0000,  1.0000,  ...,  1.0000,  1.0000,  1.0000],[ 1.0000,  1.0000,  1.0000,  ...,  1.0000,  1.0000,  1.0000],[ 1.0000,  1.0000,  1.0000,  ...,  1.0000,  1.0000,  1.0000],...,[ 0.0667, -0.1137, -0.0667,  ..., -0.1216, -0.1137, -0.0745],[-0.0980,  0.2549, -0.0902,  ..., -0.0980, -0.1608, -0.1529],[ 0.1608, -0.1608, -0.2078,  ..., -0.0824, -0.1451, -0.1686]],[[ 1.0000,  1.0000,  1.0000,  ...,  1.0000,  1.0000,  1.0000],[ 1.0000,  1.0000,  1.0000,  ...,  1.0000,  1.0000,  1.0000],[ 1.0000,  1.0000,  1.0000,  ...,  1.0000,  1.0000,  1.0000],...,[-0.0118, -0.1843, -0.1216,  ..., -0.1216, -0.1373, -0.0980],[-0.2000,  0.1765, -0.1451,  ..., -0.1216, -0.1922, -0.1843],[ 0.0353, -0.2392, -0.2314,  ..., -0.1059, -0.1765, -0.2235]],[[ 1.0000,  1.0000,  1.0000,  ...,  1.0000,  1.0000,  1.0000],[ 1.0000,  1.0000,  1.0000,  ...,  1.0000,  1.0000,  1.0000],[ 1.0000,  1.0000,  1.0000,  ...,  1.0000,  1.0000,  1.0000],...,[-0.1059, -0.2549, -0.1843,  ..., -0.1843, -0.2078, -0.1686],[-0.3255,  0.0980, -0.2078,  ..., -0.1922, -0.2627, -0.2549],[-0.0902, -0.3176, -0.2863,  ..., -0.1608, -0.2471, -0.2863]]])

相关文章:

深度学习中用来训练的train.py 探究学习2.0( 数据预处理)

数据预处理 下列代码为train.py中常见的一些数据处理方法 train_transform transforms.Compose([transforms.Resize((224, 224)),transforms.RandomVerticalFlip(),# 随机旋转,-45度到45度之间随机选transforms.RandomRotation(45),# 从中心开始裁剪transforms.C…...

vscode debug c++代码

需要提前写好CMakeLists.txt 在tasks.json中写好编译的步骤,即tasks,如cmake … 和make -j 在lauch.json中配置可执行文件的路径和需要执行tasks中的哪一个任务 具体步骤: 1.写好c代码和CMakeLists.txt 2.配置tasks.json 终端–>配置任务…...

HarmonyOS的功能及场景应用

一、基本介绍 鸿蒙HarmonyOS主要应用的设备包括智慧屏、平板、手表、智能音箱、IoT设备等。具体来说,鸿蒙系统是一款面向全场景(移动办公、运动健康、社交通信、媒体娱乐等)的分布式操作系统,能够支持手机、平板、智能穿戴、智慧屏、车机等多种终端设备…...

汽车级EEPROM 存储器 M24C64-DRMN3TP/K是电可擦除可编程只读存储器?它的功能特性有哪些?

M24C64-DRMN3TP/K是一款64 Kbit串行EEPROM汽车级设备,工作温度高达125C。符合汽车标准AEC-Q100 1级规定的极高可靠性。 该设备可通过一个高达1MHz的简单串行I2C兼容接口访问。 存储器阵列基于先进的真EEPROM技术(电可擦除可编程存储器)。M2…...

VS Code无法远程ubuntu

①windows下cmd中执行命令: ssh-keygen -t rsa -C "xxxxxx.com" ②ubuntu 下bash 命令 ssh-keygen -t rsa -C "xxxxxx.com" ③cat id_rsa.pub >> ~/.ssh/authorized_keys ④ C:\Users\Administrator\AppData\Roaming\Code\User\set…...

大数据开发职业规划

大数据开发职业规划 我的学历是双非本,在学校学习的是大数据专业,目前是在企业做大数据全栈的工作,爬虫,数仓,风控项目,etl开发都做 .................................................................…...

XxIJob入门-示例

一、部署 xxlJob (一) 下载地址, git clone 到本地。 http://gitee.com/xuxueli0323/xxl-job https://github.com/xuxueli/xxl-job (二) 插入 xxl_job 的sql脚本: 在项目的 /xxl-job/doc/db/tables_xxl_job.sql ,找到sql脚本&#xff0c…...

单挑力扣(LeetCode)SQL题:1549. 每件商品的最新订单(难度:中等)

相信很多学习SQL的小伙伴都面临这样的困境,学习完书本上的SQL基础知识后,一方面想测试下自己的水平;另一方面想进一步提升,却不知道方法。 其实,对于技能型知识,我的观点一贯都是:多练习、多实…...

Javacv-利用Netty实现推流直播复用(flv)

前言 上一篇文章《JavaCV之rtmp推流(FLV和M3U8)》介绍了javacv的基本使用,今天来讲讲如何实现推流复用。 以监控摄像头的直播为例,通常分为三步: 从设备获取音视频流利用javacv进行解码(例如flv或m3u8&am…...

cfa一级考生复习经验分享系列(十一)

理工科已经毕业,正在工作,毫无金融背景。一共准备了四个月,每天下班和周末抽时间看看。前三个月节奏比较松散,毕竟时不时有人叫我出去high,最后一个月认真看了看。 用到的资料 JC网课,官方Mock,…...

Nginx基本配置内容

http 模块适用于处理 Web 请求,而 stream 模块适用于处理非 HTTP 流量,如数据库连接、邮件传输等。 在 stream 模块中,你可以配置一些 TCP 或 UDP 的代理服务,以便 Nginx 能够转发这些流量。 与网站相关的 关于网站相关的要写在ht…...

Jenkins安装与设置(插件安装失败,版本问题解决)

早期的使用docker安装jenkins的方法会出现插件无法安装的问题,是由于docker拉取的jenkins版本太低了 jdk安装 Linux系统安装JDK1.8 详细流程 maven安装: centos7下安装Maven 使用docker进行安装jenkins: 先把镜像和容器卸干净 docker ps -a…...

精度提升10个点!HD-Painter:无需训练的文本引导高分辨率图像修复方案!

基于文本到图像扩散模型的空前成功,在文本引导的图像修复方面取得了最新进展,取得了异常逼真和视觉上可靠的结果。然而,目前的文本到图像修复模型仍然存在显著的改进潜力,特别是在更好地与用户提示对齐和执行高分辨率修复方面。因…...

javaweb初体验

javaweb初体验 文章目录 javaweb初体验前言一、流程:1.创建Maven的父工程2.创建Maven,Webapp的子工程3.在pom.xml文件中添加依赖(父工程与子工程共用)4.写一个helloservlet类实现httpservlet接口,重写doget&#xff0c…...

手写爬虫框架

前言 参照了Scrapy、Feapder的设计模式,实现的一个轻量级爬虫框架(目前约200行代码) 源码地址 https://gitee.com/markadc/pader 项目持续更新中…...

基于Kettle和帆软Finereport的血缘解析

一、背景: 用户经常会针对数据存在质量的存疑,反馈数据不准。开发人员排查数据质量问题步骤:首先和业务人员对接了解是哪里数据不准确,要定位是哪张报表,然后查看报表后面数据来源,然后一路排查数仓。往往定…...

给qemu虚机更换(Windows PE)光盘

1. 背景 qemu虚机里运行windows。如果遇到虚机windows启动故障,甚至连安全模式也故障时,可以尝试更换另一个光驱里的光盘为pe光盘。 2. 步骤 2.1. 找出VDI虚机所在的计算节点 ssh登录之,virsh list获得虚机id,例如 391 1255…...

python 神经网络归纳

CNN卷积神经网络 一个卷积神经网络主要由以下5层组成: 数据输入层/ Input layer卷积计算层/ CONV layerReLU激励层 / ReLU layer池化层 / Pooling layer全连接层 / FC layer 1. 数据输入层 该层要做的处理主要是对原始图像数据进行预处理,其中包括&…...

Python高级语法与正则表达式

Python提供了 with 语句的写法,既简单又安全。 文件操作的时候使用with语句可以自动调用关闭文件操作,即使出现异常也会自动关闭文件操作。 # 1、以写的方式打开文件 with open(1.txt, w) as f:# 2、读取文件内容f.write(hello world) 生成器的创建方…...

【洛谷算法题】P4414-[COCI2006-2007#2] ABC【入门2分支结构】Java题解

👨‍💻博客主页:花无缺 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 本文由 花无缺 原创 收录于专栏 【洛谷算法题】 文章目录 【洛谷算法题】P4414-[COCI2006-2007#2] ABC【入门2分支结构】Java题解🌏题目描述&a…...

Python如何将图片转换成字符

PIL(Python Image Library)库是Python平台上一个功能强大的图像处理标准库,支持图像的存储、显示和处理,几乎可以处理所有图片格式,如图像的压缩、裁剪、叠加、添加文字等等。 安装PIL库:pip install pillow from PIL import Image ascii_cha…...

国家开放大学形成性考核 统一资料 参考试题

试卷代号:1174 水工钢筋混凝土结构(本)参考试题 一、选择题(每小题2分,共20分,在所列备选项中,选1项正确的或最好的作为答案,将选项号填入各题的括号中) 1.钢筋混凝土结…...

4.7 【共享源】流的生产者(二)

七,模式 流的模式决定了Screen如何使前台缓冲区可用。生产者通过调用screen_set_stream_property_iv()并设置SCREEN_PROPERTY_MODE属性来设置模式。有效模式如下: 7.1 SCREEN_STREAM_MODE_DEFAULT 如果生产者应用程序没有在流上明确设置 SCREEN_PROPERTY_MODE 属性,则 Sc…...

流量录制回放工具在自动化测试领域应用探索

引言: 随着中国农业银行技术架构的日益更迭与业务场景的不断创新,测试工作正在面临数据构造繁琐、案例维护成本较高且质量参差不齐等诸多问题与挑战,主要体现在以下四方面: 一是在系统架构升级与代码重构时,大量原始接…...

【高数定积分求解旋转体体积】 —— (上)高等数学|定积分|柱壳法|学习技巧

🌈个人主页: Aileen_0v0 🔥热门专栏: 华为鸿蒙系统学习|计算机网络|数据结构与算法 💫个人格言:"没有罗马,那就自己创造罗马~" 目录 Shell method Setting up the Integral 例题 Example 1: Example 2: Example 3: Example …...

Ubuntu20.04 及深度学习环境anaconda、cuda、cudnn、pytorch、paddle2.3安装记录

学习目标: Ubuntu20.04下装好torch、paddle深度学习环境。 选择的版本环境是 :最新的nvidia驱动、cuda 11.1 、cudnn v8.1.1,下面会说为啥这么选。 学习内容: 1. Ubuntu20.04仓库换源 本节参考Ubuntu 20.04 Linux更换源教程 2…...

场景切割CVPr2022 SceneSegmentation

目录 算法介绍 无监督训练原理 源码地址: lstm模块 bilstm opencv场景分割 加阈值:...

Spring Cloud Feign作为HTTP客户端调用远程HTTP服务

如果你的项目使用了SpringCloud微服务技术,那么你就可以使用Feign来作为http客户端来调用远程的http服务。当然,如果你不想使用Feign作为http客户端,也可以使用比如JDK原生的URLConnection、Apache的Http Client、Netty的异步HTTP Client或者Spring的RestTemplate。 那么,为…...

[node] Node.js的文件系统

[node] Node.js的文件系统 文件系统的使用异步和同步input.txt示例 常用方法打开文件语法示例 获取文件信息语法示例 写入文件语法示例 读取文件语法示例 关闭文件语法示例 截取文件语法示例 删除文件语法示例 创建目录语法示例 读取目录语法示例 删除目录语法示例 文件模块方法…...

【Linux系统基础】(2)在Linux上部署MySQL、RabbitMQ、ElasticSearch、Zookeeper、Kafka、NoSQL等各类软件

实战章节:在Linux上部署各类软件 前言 为什么学习各类软件在Linux上的部署 在前面,我们学习了许多的Linux命令和高级技巧,这些知识点比较零散,同学们跟随着课程的内容进行练习虽然可以基础掌握这些命令和技巧的使用,…...

CJson 使用 - 解析Object结构

简介 准备在开发板中使用json结构传送数据, 选用了cJson, 现在看下cJson的使用吧步骤 下载 git clone https://github.com/DaveGamble/cJSON 或者直接压缩包下载也行, 毕竟国内有时候下载不下来Qt 中使用cJson 在下载的cJson 目录中加入cJson.pri, 内容如下 INCLUDEPATH …...

MySQL8主主搭建

-- mysql8 主主搭建 mysql-8.0.35-linux-glibc2.12-x86_64.tar.xz 主1 : 192.168.2.160 主2 : 192.168.2.161 --解压mysql-8.0.35-linux-glibc2.12-x86_64.tar.xz为mysql8 -- 初始化mysql8 (略) -- 参数192.168.2.160 [root…...

使用Pycharm一键将.ui文件生成.py文件配置教程、一键打开QTDesigner教程

2df3621a-7ffd-4f18-9735-b86464b83a5b 前言 我痛恨所有将白嫖归为理所应当的猪🐖。 教程 打开pycharm之后,依次点击File->Settings->Tools->External Tools,进入如下界面: 1、配置快捷打开Qt Designer 点击号&…...

React 路由跳转

1. push 与 replace 模式 默认情况下,开启的是 push 模式,也就是说,每次点击跳转,都会向栈中压入一个新的地址,在点击返回时,可以返回到上一个打开的地址, 就像上图一样,我们每次返…...

【MySQL】数据处理:从SQL批量删除报错到Python优雅解决

一、背景 MySQL数据库表中有一批重复的脏数据,为不影响正常业务,需要进行批量删除。 二、SQL批量删除 首先想到的是编写SQL语句来批量删除:删除身份证号为51****59且ID不为5的全部数据(保留ID为5的那一条数据) DELETE FROM test_table WHERE id IN ( SELECT i…...

Rust 软件测试

Rust 第18节 软件测试 测试已写的函数 在创建每一个lib crate时,rust都会自动生产一个测试 mod;名字为tests; tests mod 被属性 #[cfg(test)] 修饰,用于测试; 在mod 内,需要在函数头上加属性 #[test]进行修饰,让其变为…...

win11下配置visual studio 2022+PCL1.13.1

第一部分:visual studio2022 安装 vs官网网址如下:https://visualstudio.microsoft.com/zh-hans/vs/ 第一步:我们打开官网链接,按如下操作点击下载免费版本的exe文件 第二步:打开下载目录下的安装文件进行安装&#…...

智能优化算法应用:基于法医调查算法3D无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用:基于法医调查算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用:基于法医调查算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.法医调查算法4.实验参数设定5.算法结果6.…...

【分享】4个方法打开PDF文件

PDF是很多人工作中经常使用的电子文档格式,但是可能有些刚接触的小伙伴不知道用什么工具来打开PDF文件,今天小编就来分享一下4种常用的工具。 1. 使用浏览器 只要有电脑基本都会安装一到两款浏览器,其实浏览器也可以用来打开PDF文件。 只需…...

React 调试

React 调试 console 调试 console.log console.info console.warn console.error console.time() & console.timeEnd() console.count() debugger调试 chrome断点调试 chrome条件断点 HTML节点复制 选中节点,使用 $0复制 JavaScript对象复制 copy…...

List 流的使用

摘要 本文将介绍在 Java 1.8 中对 List 进行流操作的使用方法。引入的 java.util.stream 包为开发者提供了一种更为便捷和强大的方式来处理集合数据。通过使用流,我们能够以声明性的方式进行集合操作,减少了样板代码,提高了代码的可读性和可…...

设计模式:单例模式(使用c++分别实现饿汉式单例、带双重检查锁定机制的懒汉式单例以及IoDH技术的单例)

单例模式 引言正文1. 饿汉式单例2. 带双重检查锁定机制的懒汉式单例3. IoDH技术的单例 结论优点饿汉式单例带双重检查锁定机制的懒汉式单例IoDH技术的单例 缺点饿汉式单例带双重检查锁定机制的懒汉式单例IoDH技术的单例 引言 在软件开发中,单例模式是一种很常用的设…...

[编程相关]正则表达式Regex语法

--目录-- 0. 前言1. 正则语法2. 正则搜索语法(1)字符集 Character_Classes(2)锚定符 Anchors(3)计数 Quantifiers(4)分组与索引 Group_And_Reference(5)周围 …...

axios实例配置和使用

一.vite项目中引入axios 1.1.安装axios pnpm add axios --save 二.配置axios实例 2.1实例配置 import axios from ‘axios’ import router from ‘/router’ const instance axios.create({ baseURL:“http://127.0.0.1:8080”, timeout:10*1000, //最长响应时间 }) instan…...

uni-app 工程目录结构介绍

锋哥原创的uni-app视频教程: 2023版uniapp从入门到上天视频教程(Java后端无废话版),火爆更新中..._哔哩哔哩_bilibili2023版uniapp从入门到上天视频教程(Java后端无废话版),火爆更新中...共计23条视频,包括:第1讲 uni…...

YOLOv8改进 | 主干篇 | 利用SENetV2改进网络结构 (全网首发改进)

一、本文介绍 本文给大家带来的改进机制是SENetV2,其是2023.11月的最新机制(所以大家想要发论文的可以在上面下点功夫),其是一种通过调整卷积网络中的通道关系来提升性能的网络结构。SENet并不是一个独立的网络模型,而是一个可以和现有的任何…...

TUP实现一对一聊天

package TCP; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintWriter; import java.net.ServerSocket; import java.net.Socket; import java.util.Scanner; /** * 发送消息线程 */ class Send ext…...

Kafka设计原理详解

Kafka核心总控制器 (Controller) 在Kafka集群中,通常会有一个或多个broker,其中一个会被选举为控制器 (Kafka Controller),其主要职责是管理整个集群中所有分区和副本的状态。具体来说: 当某个分区的leader副本出现故障时&#…...

光耦继电器

光耦继电器(光电继电器) AQW282SX 282SZ 280SX 280SZ 284SX 284SZ 212S 212SX 21 2SZ 文章目录 光耦继电器(光电继电器)前言一、光耦继电器是什么二、光耦继电器的类型三、光电耦合器的应用总结前言 光耦继电器在工业控制、通讯、医疗设备、家电及汽车电子等领域得到广泛应…...

【C++练级之路】【Lv.5】动态内存管理(都2023年了,不会有人还不知道new吧?)

目录 一、C/C内存分布二、new和delete的使用方式2.1 C语言内存管理2.2 C内存管理2.2.1 new和delete操作内置类型2.2.2 new和delete操作自定义类型 三、new和delete的底层原理3.1 operator new与operator delete函数3.2 原理总结3.2.1 内置类型3.2.2 自定义类型 四、定位new表达…...