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

【T2I】MIGC: Multi-Instance Generation Controller for Text-to-Image Synthesis

code:CVPR 2024

MIGC: Multi-Instance Generation Controller for Text-to-Image Synthesis

[CVPR 2024] MIGC: Multi-Instance Generation Controller for Text-to-Image Synthesis - 知乎

 Abstract

我们提出了一个多实例生成(Multi-Instance Generation, MIG)任务,在一个图像中同时生成具有不同控件的多个实例。给定一组预定义的坐标及其相应的描述,任务是确保生成的实例准确地位于指定位置,并且所有实例的属性都符合其相应的描述。这扩大了当前单实例生成研究的范围,将其提升到一个更通用和实用的维度。受分而治之思想的启发,我们引入了一种名为多实例生成控制器(MIGC)的创新方法来解决MIG任务的挑战。最初,我们将MIG任务分解为几个子任务,每个子任务都涉及单个实例的着色。为了保证每个实例的精确着色,我们引入了一个实例增强注意机制。最后,我们聚合了所有阴影实例,以提供在稳定扩散(SD)中准确生成多个实例所需的信息。为了评估生成模型在MIG任务上的执行情况,我们提供了一个COCO-MIG基准以及一个评估管道。在提出的COCO-MIG基准以及各种常用基准上进行了大量实验。评估结果说明了我们的模型在数量、位置、属性和交互方面的卓越控制能力。


Introduction

在具有不同控件的一个图像中同时生成多个实例的更实际的情况很少被探索。

Challenges in MIG. MIG不仅要求实例遵守用户给出的描述和布局,而且还确保所有实例之间的全局对齐。将这些信息直接纳入SD常常导致失败。一方面,当前的文本编码器(如CLIP)难以区分每个单一属性和包含多个属性的提示。另一方面,稳定扩散中的Cross-Attention层缺乏对位置的控制能力,导致在指定区域内生成多个实例时存在困难。

Multi-Instance Generation Controller (MIGC) 将MIG分解为多个子任务,然后将这些子任务的结果组合在一起。虽然SD在MIG中的直接应用仍然是一个挑战,但单实例生成中突出的SD能力可以促进这一任务。如图

MIGC包括三个步骤:

1)Divide: MIGC仅在sd的Cross-Attention层中将mig分解为多个instanceshading子任务,加快每个子任务的分辨率,使生成的图像更加和谐。

2)Conquer:MIGC使用增强注意层(Enhancement Attention Layer)来增强通过冻结的交叉注意(Cross-Attention)获得的着色结果,确保每个实例的着色成功。

3)Combine:MIGC通过Layout Attention层获得遮阳模板,然后将其与遮阳背景和遮阳实例一起输入到遮阳聚合控制器中,从而获得最终的遮阳结果。

Benchmark for MIG. 为了评估生成模型在MIG任务上的表现,提出了一个基于COCO数据集的COCOMIG基准,该基准要求生成模型同时实现对位置、属性和数量的强控制。

贡献:

1)为了促进视觉生成的发展,提出了MIG任务,以解决学术和工业领域的普遍挑战。同时,提出了COCO-MIG基准来评估生成模型固有的MIG能力。

2)受分而治之原则的启发,引入了一种新的MIG方法,通过改进MIG能力来增强预训练的SD。

3)在三个基准上进行了大量的实验,显著超过了以前的SOTA方法。

Related work

Text-to-Image Generation

Layout-to-Image Generation

由于文本不能精确控制生成实例的位置。一些layout -to- image方法[6 Training-free layout control with cross-attention guidance.,32 Guided image synthesis via initial image editing in diffusion model.,34 Glide: Towards photorealistic image generation and editing with text-guided diffusion models,49 Boxdiff,61 Layoutdiffusion]扩展了预训练的T2I模型,将布局信息整合到生成中,实现对实例位置的控制。

Method

Preliminaries

Stable diffusion CLIP text encoder

Attention layers. R表示输出残差

Overview

Problem Definition 在多实例生成(Multi-Instance Generation, MIG)中,用户将给生成模型全局提示符P,实例布局边界框B = {b1,…, bN},其中bi = [xi 1, yi 1, xi 2, yi 2],对应描述D = {d1,…,dn}。根据用户提供的输入,模型需要生成一个图像I,其中框bi内的实例应遵循实例描述di,并确保所有实例的全局对齐。

Difficulties in MIG. 在处理多实例提示时,SD与属性泄漏作斗争,即1)文本泄漏。由于CLIP编码器中使用了因果注意掩码,后一个实例令牌可能会出现语义混淆。2)空间泄漏。交叉注意缺乏精确的位置控制,并且实例会影响彼此区域的生成。

Motivation. 分而治之是一个古老而明智的想法。它首先将一个复杂的任务分解成若干个较简单的子任务,然后分别征服这些子任务,最后将子任务的解组合起来得到原任务的解。这个想法非常适用于米格战斗机。例如,对于大多数T2I模型来说,MIG是一项复杂的任务,而单实例生成是一个更简单的子任务,T2I模型可以很好地解决。基于这一思想,提出了我们的MIGC,它扩展了SD,具有更强的MIG能力。

Divide MIG into Instance Shading Subtasks

Instance shading subtasks in Cross-Attention space. 交叉注意是文本和图像特征在SD中相互作用的唯一途径,输出决定了生成的内容,这看起来像是对图像特征的着色操作。在这个观点中,MIG任务可以定义为对图像特征进行正确的多实例着色,subtask可以定义为找到满足以下条件的单实例着色结果Ri:

其中Rcorrect表示客观存在的正确特征,Mi是根据框bi生成的实例掩码,框区域内的值设为1,其余位置设为0。也就是说,每一个底纹实例在其对应的区域都应该有正确的文本语义。

每个子任务的目标是找到最优的实例特征着色结果Ri,使其在掩码Mi(框内为1,其余为0)区域内尽可能接近客观正确的特征Rcorrect,通过最小化L2范数实现

Two benefits of division in the Cross-Attention space. 

1)征服效率更高:对于N个实例生成,MIGC只在Cross-Attention层上征服N个子任务,而不是整个Unet网络,效率更高;

2)更和谐地组合:与网络最终输出的组合相比,在中间层组合子任务增强了生成图像的整体凝聚力

Conquer Instance Shading

Shading stage 1: shading results of Cross-Attention. 

预训练的交叉注意会注意到高注意权重的区域,并根据文本语义进行着色。如图图所示,MIGC使用被遮挡的Cross-Attention输出作为第一个着色结果:

其中Ki和Vi由di的文本嵌入得到,Q由图像特征映射得到。下标 f(代表“first stage”)

 Two issues of Cross-Attention shading results. 

1)实例合并。根据上述方程,对于具有相同描述的两个实例,它们在Cross-Attention层会得到相同的K和V。如果它们的盒子很接近甚至重叠,网络将很容易合并两个实例;

2)实例丢失。从初始编辑方法可以看出,SD的初始噪声在很大程度上决定了生成图像的布局,即特定区域宁愿生成特定实例,也不愿生成特定实例。如果初始噪声不倾向于根据方框bi中的描述di生成实例,则Ri f较弱,导致实例丢失。

Grounded phrase token for solving instance merge. 

为了识别具有相同描述但不同框的实例,MIGC将每个实例的文本标记扩展为文本和位置标记的组合。如图图(a)所示,MIGC首先将边界框信息投影到傅里叶嵌入中,然后使用MLP层获得位置令牌。MIGC将文本标记与位置标记连接起来以获得基础短语标记:

[·] represents the concatenation.

文本与位置信息结合,生成唯一标识符:

  • 边界框 bi 通过傅里叶嵌入编码位置特征。

  • MLP 生成位置令牌,与 CLIP 文本令牌拼接

区分相同描述但不同位置的实例,避免键值共享导致的合并。

Shading stage 2: Enhancement Attention for solving instance missing.

如图图所示,MIGC使用可训练的增强-注意(EA)层来增强阴影结果。具体而言,如图图(a)所示,EA在获得扎根短语令牌后,使用新的可训练的CrossAttention层获得增强的着色结果,并将其添加到第一个着色结果Ri f中:

其中Ki ea和Vi ea由grounded phrase tokenGi得到,Qea由图像特征映射得到。

在训练期间,由于Mi保证了精确的空间定位,EA输出的实例着色结果只影响正确的区域,因此EA很容易学习:无论图像特征是什么,EA都应该进行增强的着色,以满足di的文本语义,解决实例缺失的问题。最后,MIGC将增强后的结果Ri s作为子任务的解。

Combine Shading Results

Global prompt residual as shading background. 

获得n个实例的着色结果作为着色前景,MIGC的下一步是获得着色背景。如图(c)所示,MIGC利用全局提示符P以类似方程(3)的方式获得遮阳背景结果Rbg,背景掩码为Mbg,其中包含实例的位置赋值为0,而所有其他位置均标记为1。

Layout Attention residuals as shading template. 

在着色实例{R1s, . . . ,RNs }和shading background Rbg之间存在一定的间隙。因为它们的遮阳过程是独立的。为了桥接这些遮阳结果并最小化差距,MIGC需要根据图像特征映射的信息学习遮阳模板。如图2所示,在MIGC中使用布局注意层来实现上述目标。如图3(b)所示,布局注意的表现与自注意力机制相似,实例掩码Minst = {Mbg,M1, . . . ,MN}用于构造注意力掩模:

⊙ represents the Hadamard product

A∈R((H,W),(H,W))表示注意掩码,其中A(a,b)(c,d)决定像素(a,b)是否应该关注像素(c,d)。构造的注意掩码A保证了一个像素只能关注同一实例区域内的其他像素,避免了实例间的属性泄漏。

Shading Aggregation Controller for the final fusion.

其中MLA为RLA对应的全1制导掩码。为了动态地聚合生成过程中不同时间步长的着色结果,提出了Shading Aggregation Controller(SAC)。如图3(c)所示,SAC依次执行实例内注意和间注意,并通过softmax函数对每个空间像素上的着色结果赋予聚合权和为1,从而得到最终的着色。

Summary

Training Loss.  original denoising loss :

其中,θ表示预训练稳定扩散的冻结参数,θ′表示MIGC参数。

此外,为了将生成的实例约束在其区域内,防止在背景中产生额外的对象,设计了抑制损失来避免背景区域的高关注权:

其中 DNR(⋅)为背景区域去噪操作(如平均滤波)。

其中Ai表示Unet解码器冻结的16 × 16交叉注意层中第i个实例的注意图,DNR(·)表示背景区域的去噪(例如使用平均操作)。

  • 约束实例注意力图 Aci 在背景掩码 Mbg(实例区域为0,背景为1)区域内保持低权重。

最终训练损失设计如下:

the loss weight λ as 0.1.

Implementation Details.

只在UNet的中间层(即8 × 8)和最低分辨率的解码器层(即16 × 16)部署MIGC,这在很大程度上决定了生成图像的布局和语义信息[6,33]。在其他交叉注意层中,使用全局提示来进行全局着色。使用COCO 2014培训MIGC。为了获得实例描述及其边界框,使用stanza拆分全局提示符,并使用ground - dino模型检测实例。基于预训练的SDv1.4训练MIGC。使用恒定学习率为1e−4的AdamW优化器,在40个V100 gpu,每个VRAM为16GB的情况下,训练300个epoch,批大小为320,需要15个小时。对于推理,使用EulerDiscreteScheduler[22]和50个示例步骤,并在前25个步骤中使用MIGC。选择CFG刻度为7.5。

Experiments

Benchmarks 

三个基准上评估模型的性能:COCO-MIG、COCO-Position和DrawBench。使用8个种子为每个提示符生成图像。

In COCO-MIG 注意位置、颜色和数量。为了构建数据集,随机采样800张COCO图像,并在保持原始布局的同时为每个实例分配一种颜色。此外,以“a <attr1><obj1>和a <attr2> <obj2>和a…”的格式重构全局提示符。根据生成图像中的实例数量将该基准分为五个级别。每种方法将生成6400张图像。

In COCO-Position 采样了800张图片,使用标题作为全局提示,标签作为实例描述,边界框作为布局来生成6400张图片。

Drawbench 是一个具有挑战性的T2I基准。使用GPT4[15,35]提取所有实例描述并生成每个提示符的布局。总共使用64个提示,其中25个与颜色有关,19个与计数有关,20个与位置有关,最终生成512张图像。

Evaluation Metrics

Position Evaluation. 使用groundingdino来检测每个实例,并计算检测盒和真实值盒之间的最大IoU。如果上述IoU高于阈值t=0.5,将其标记为正确生成的位置。

Attribute Evaluation. 对于Position correct Generated实例,使用ground - sam模型[25,29]对其进行分割,并计算目标颜色在HSV颜色空间中的百分比。如果上述百分比超过阈值S=0.2,将其表示为完全正确生成。

Metrics on COCO-MIG. 主要测量实例Success Rate和mIoU。成功率计算每个实例完全正确生成的概率,mIoU计算所有实例的最大IoU的平均值。注意,如果颜色属性不正确,将IoU值设置为0。

Metrics on COCO-Position 使用Success Rate、mIoU和ground - dino AP评分来衡量空间精度。成功率表示一个图像中的所有实例是否正确生成位置。此外,还使用了初始化距离(FID)[16]来评估图像质量。为了测量图像-文本一致性,使用CLIP分数和Local CLIP分数[1]。

Metrics on DrawBench. 评估与位置相关的图像的成功率,并通过检查每个图像中的所有实例是否正确生成位置来计数。对于颜色相关的图像,检查是否所有的实例都是完全正确生成的。除了自动评估之外,还进行了手动评估。

Baselines

与SOTA布局到图像的方法比较:Multi-Diffusion[3]、Layout Diffusion[61]、GLIGEN[26]、TFLCG[6]和Box-Diffusion[49]。

由于布局扩散不能控制颜色,只在COCO-Position上运行它。在Drawbench中,还将本方法与SOTA T2I的一些方法进行了比较:stable diffusion v1.4[40], AAE[5],Structure Diffusion[14]。所有方法都使用官方代码和默认配置执行。

Quantitative Results

COCO-MIG. 

COCO-Position.

DrawBench.

Qualitative Results

Analysis of Shading Aggregation Controller

用50个步骤生成每个图像,在前25个步骤中使用MIGC。图6显示了T=50、40和30时SAC聚集权值(即T=50表示第一步)。在早期的时间步骤中,SAC将更多的权重分配给前景中的EA层的着色实例,而将更多的权重分配给背景中的LA层的着色模板。在之后的时间步长中,SAC逐渐增加了对背景中全局上下文的关注。

Ablation Study

消融主要由四个部分组成:(1) Enhancement Attention Layer. (2) Layout Attention Layer. (3) Shading Aggregation Controller. (4) The inhibition loss.在COCO-Position和COCO-MIG上进行了实验。

Shading Aggregation Controller. 

Enhancement Attention Layer.

Layout Attention Layer.

Inhibition Loss.

Qualitative Results.

相关文章:

【T2I】MIGC: Multi-Instance Generation Controller for Text-to-Image Synthesis

code&#xff1a;CVPR 2024 MIGC: Multi-Instance Generation Controller for Text-to-Image Synthesis [CVPR 2024] MIGC: Multi-Instance Generation Controller for Text-to-Image Synthesis - 知乎 Abstract 我们提出了一个多实例生成(Multi-Instance Generation, MIG)任务…...

MyBatis的第三天笔记

4. MyBatis核心配置文件详解 4.1 配置文件结构 MyBatis核心配置文件采用XML格式&#xff0c;主要用于配置数据库连接、事务管理、映射文件等信息。以下是一个基本的配置文件示例&#xff1a; <?xml version"1.0" encoding"UTF-8" ?> <!DOCTY…...

03_docker 部署 nginx 配置 HTTPS 并转发请求到后端服务

03_Docker 部署 Nginx 配置 HTTPS 并转发请求到后端服务 一、在 Docker 内部署 Nginx 拉取 Nginx 镜像 docker pull nginx:1.19.4 //如果能直接拉取使用这个命令 docker pull docker.xuanyuan.me/nginx:1.19.4 //不能直接拉取需要在前面加上镜像地址拉取成功后&#xff0c;创建…...

位运算题目:N 天后的牢房

文章目录 题目标题和出处难度题目描述要求示例数据范围 解法思路和算法代码复杂度分析 题目 标题和出处 标题&#xff1a;N 天后的牢房 出处&#xff1a;957. N 天后的牢房 难度 5 级 题目描述 要求 8 \texttt{8} 8 间牢房排成一排&#xff0c;每间牢房的状态是被占用或…...

OceanBase V4.3.5 上线全文索引功能,让数据检索更高效

近日&#xff0c;OceanBase 4.3.5 BP1 版本正式推出了企业级全文索引功能。该版本在中文分词、查询效率及混合检索能力上进行了全面提升。经过自然语言模式和布尔模式在不同场景下的对比测试&#xff0c;OceanBase 的全文索引性能明显优于 MySQL。 点击下载 OceanBase 社区版…...

【MySQL 数据库】数据表的操作

&#x1f525;博客主页&#x1f525;&#xff1a;【 坊钰_CSDN博客 】 欢迎各位点赞&#x1f44d;评论✍收藏⭐ 目录 1. 表的查看 1.1 语法 2. 表的创建 2.1 语法 2.2 练习 3. 查看表结构 3.1 语法 3.2 示例 4. 表的修改 4.1 语法 4.2 示例操作 4.2.1 向表中添加字段…...

(三十七)Dart 中使用 Pub 包管理系统与 HTTP 请求教程

Dart 中使用 Pub 包管理系统与 HTTP 请求教程 Pub 包管理系统简介 Pub 是 Dart 和 Flutter 的包管理系统&#xff0c;用于管理项目的依赖。通过 Pub&#xff0c;开发者可以轻松地添加、更新和管理第三方库。 使用 Pub 包管理系统 1. 找到需要的库 访问以下网址&#xff0c…...

几款开源网盘的比较

开源网盘 1. Nextcloud2. Seafile3. ownCloud4. Syncthing5. FileBrowser6. Z-File7. kiftd总结对比推荐选择 1. Nextcloud 开发语言&#xff1a;PHP (后端) JavaScript (前端) 官网&#xff1a;https://nextcloud.com/ 特点&#xff1a; 功能全面&#xff08;文件同步、共享…...

python中的in关键字查找的时间复杂度

列表&#xff08;List&#xff09; 对于列表来说&#xff0c; in 运算符的复杂度是 O(n)&#xff0c;其中n是列表的长度。这意味着如果列表中有n个元素&#xff0c;那么执行 in 运算符需要遍历整个列表来查找目标元素。 以下是一个示例&#xff0c;演示了在列表中使用 in 运算…...

Windows注册鼠标钩子,获取用户选中的文本

注册鼠标钩子 // 注册鼠标钩子 HHOOK hMouseHook; hMouseHook SetWindowsHookEx(WH_MOUSE_LL, MouseProc, GetModuleHandle(NULL), 0);// 取消鼠标钩子 UnhookWindowsHookEx(hMouseHook); hMouseHook nullptr; 上述代码中MouseProc方法用于处理系统的鼠标消息 处理鼠标消息…...

UE5 蓝图里的反射

蓝图支持使用名字调用函数 使用SetTimerByFunctionName节点即可&#xff0c;该节点是指延后多少时间调用函数&#xff0c;注意时间不能是0也不能是负数&#xff0c;否者不会执行...

私有化视频会议系统,业务沟通协作安全不断线

BeeWorks Meet视频会议平台具备丰富而强大的功能&#xff0c;能够满足企业多样化的业务场景需求。其会议管理功能&#xff0c;让企业能够轻松安排和管理各类会议。 从创建会议、设置会议时间、邀请参会人员到会议提醒&#xff0c;一应俱全&#xff0c;确保会议的顺利进行。多人…...

大数据学习(100)-kafka详解

&#x1f34b;&#x1f34b;大数据学习&#x1f34b;&#x1f34b; &#x1f525;系列专栏&#xff1a; &#x1f451;哲学语录: 用力所能及&#xff0c;改变世界。 &#x1f496;如果觉得博主的文章还不错的话&#xff0c;请点赞&#x1f44d;收藏⭐️留言&#x1f4dd;支持一…...

unittest测试模块:Python 标准库中的单元测试利器

在当今的软件开发中&#xff0c;测试的必要性不言而喻。为了确保代码的质量和稳定性&#xff0c;开发者需要一种高效的方式去编写和运行单元测试。Python 提供了一个强大的工具——unittest。这是一个标准库模块&#xff0c;专为编写和运行测试而设计&#xff0c;帮助开发者减少…...

java后端对时间进行格式处理

时间格式处理 通过java后端&#xff0c;使用jackson库的注解JsonFormat(pattern "yyyy-MM-dd HH:mm:ss")进行格式化 package com.weiyu.pojo;import com.fasterxml.jackson.annotation.JsonFormat; import lombok.AllArgsConstructor; import lombok.Data; import …...

Spring的简单介绍

Spring的简单介绍 Spring 是一个开源的 Java 企业级应用开发框架&#xff0c;旨在简化企业应用的开发过程。它通过提供全面的基础设施支持&#xff0c;帮助开发人员构建可靠的、高效的、可扩展的企业级应用程序。Spring 提供了多种功能模块&#xff0c;支持开发不同类型的应用…...

Python基础知识点(函数2)

#需求 打印stu_info def show_info(name,age): print(f"姓名&#xff1a;{name},年龄&#xff1a;{age}") #1.必要参数 在调用函数的时候必须传值 show_info("tom",3) #注意&#xff01;对于形参&#xff0c;除了个数要匹配&#xff0c;顺序也要匹配 …...

MySQL的左连接、右连接、内连接、外连接

一、前言 MySQL中的左连接、右连接、内连接和全外连接是用于多表关联查询的核心操作。 二、内连接&#xff08;INNER JOIN&#xff09; 定义&#xff1a;返回两个表中完全匹配的行&#xff0c;即只保留两个表连接字段值相等的行。示例场景&#xff1a;查询所有有选课记录的学…...

Springboot JPA ShardingSphere 根据年分表

Spring Boot集成JPA与ShardingSphere实现按年分表&#xff0c;需重点关注分片算法选择、时间字段映射及动态表管理。以下是实现方案&#xff1a; 一、依赖配置 1‌. 核心依赖引入‌ <!-- ShardingSphere JDBC --> <dependency><groupId>org.apache.shardi…...

巧记英语四级单词 Unit1-3【晓艳老师版】

light 光&#xff0c;轻的、 grant v.准予&#xff0c;承认 gr官人&#xff0c;ant蚂蚁&#xff0c;外面下着大雨&#xff0c;官人让蚂蚁进来了grind v.摩擦&#xff0c;磨碎 官人在里面的 磨刀&#xff0c;准备找法海给白娘子报仇slight v.稍微的&#xff0c;有点的 light 光…...

Flink 任务调度机制

一、Task 任务调度执行流程 一、Graph 的概念 Flink 中的执行图可以分为四层:StreamGraph -> JobGraph -> ExecutionGraph -> 物理执行图。 StreamGraph:执行用户代码中的 env.execute() 方法后,根据用户通过 Stream API 编写的代码生成的最初的图。用来表示程序的…...

设计模式之享元模式

1. 概念 享元模式(Flyweight Pattern), 运用共享技术有效地支持大量细粒度对象的复用。系统只使用少量的对象&#xff0c;而这些对象都很相似&#xff0c;状态变化很小&#xff0c;可以实现对象的多次复用。 在享元模式中可以共享的相同内容称为内部状态(Intrinsic State)&…...

设计模式 - 策略模式Strategy

设计思想&#xff1a; 策略模式的就是定义一系列算法&#xff0c;将他们一个个封装起来&#xff0c;并且使它们可以相互替换&#xff0c;通常我们的代码中出现大量的if...else...或者switch语句时&#xff0c;我们都可以使用策略模式来优化代码 典型场景&#xff1a; 支付系…...

23种设计模式-行为型模式-策略

文章目录 简介场景解决代码关键实现细节 总结 简介 策略是一种行为设计模式&#xff0c;它能让你定义一系列算法&#xff0c;并将每种算法分别放入独立的类中&#xff0c;以使算法对象能够被替换。 场景 你在开发一款导航应用&#xff0c;类似高德。你要实现自动路线规划的功…...

Ubuntu16.04配置远程连接

配置静态IP Ubuntu16.04 修改超管账户默认密码 # 修改root账户默认密码 sudo passwd Ubuntu16.04安装SSH # 安装ssh服务&#xff1a; sudo apt-get install ssh# 启动SSH服务&#xff1a; sudo /etc/init.d/ssh start # 开机自启 sudo systemctl enable ssh# 如无法连接&…...

window部署虚拟机VirtualBox来部署flink

window通过Cygwin部署flink-1.15.0失败 按理来说Cygwin可以在window模拟unix环境来部署运行flink&#xff0c; 但是在flink 不知从哪个版本开始&#xff0c;flink启动时会在window时创建临时文件夹&#xff0c;传递的文件夹名称参数中有冒号&#xff0c;导致文件夹创建失败&a…...

mac 卸载流氓软件安全助手

之前个人电脑在公司使用过一段时间&#xff0c;为了使用网线联网安装了公司指定的 联软上网助手&#xff0c;谁知安装容易卸载难&#xff0c;后来找运维来卸载&#xff0c;输入管理员密码后&#xff0c;也无反应&#xff0c;最后不了了之了&#xff0c;这个毒瘤软件长期在后台驻…...

java基础使用- 泛型

泛型 泛型作用泛型语法(1) 泛型类/接口(2) 泛型方法 类型参数命名习惯类型通配符&#xff08;Wildcards&#xff09;(1) 无界通配符 <?>表示“未知类型”(2) 上界通配符 <? extends T>表示“T 或 T 的子类”。(3) 下界通配符 <? super T>表示“T 或 T 的父…...

Appium的学习总结-Inspector参数设置和界面使用(5)

环境搭建好后&#xff0c;怎么使用呢&#xff1f; 环境这里使用的是&#xff1a; Appium的Server端GUI 22版本 Inspector需要单独下载安装&#xff0c;GUI里并没有集成。 &#xff08;使用Appium v1.22.0,查看元素信息需要另外安装下载Appium Inspector&#xff09; 操作&…...

多孔介质电化学:原理、应用与展望

引言 多孔介质广泛存在于自然界与人工材料体系中&#xff0c;从土壤、岩石到电池电极、催化剂载体等。多孔介质电化学作为一门交叉学科&#xff0c;融合了电化学与多孔介质理论&#xff0c;聚焦于电流在充满电解液的多孔介质内的传输规律以及电化学反应在复杂多孔结构中的发生…...

使用Prometheus监控systemd服务并可视化

实训背景 你是一家企业的运维工程师&#xff0c;需将服务器的systemd服务监控集成到Prometheus&#xff0c;并通过Grafana展示实时数据。需求如下&#xff1a; 数据采集&#xff1a;监控所有systemd服务的状态&#xff08;运行/停止&#xff09;、资源占用&#xff08;CPU、内…...

网络游戏服务器如何构建全方位防御体系?DDoS与CC攻击实战防护指南

一、DDoS与CC攻击&#xff1a;游戏服务器的两大“隐形杀手” DDoS攻击&#xff1a;通过僵尸网络发起海量流量冲击&#xff0c;常见形式包括SYN Flood&#xff08;占满连接队列&#xff09;、UDP Flood&#xff08;耗尽带宽&#xff09;、DNS放大攻击&#xff08;小查询引发大流…...

geoserver搭建Docker一键直接安装并上传tif影像预览

geoserver搭建Docker一键直接安装 文章目录 geoserver搭建Docker一键直接安装前言一、Docker拉取Geoserver二、运行后使用geoserver进行数据管理进入geoserver调整语言登录geoserver上传一个tif影像建立工作空间并上传自己的tif数据建立图层预览 总结 前言 使用docker安装geos…...

ragflow本地部署(WSL下Ubuntu)

本地docker及 docker-compose版本 安装参考&#xff1a; 实践笔记-docker安装及配置镜像源实践笔记-docker-compose安装 1.下载源码 git clone https://github.com/infiniflow/ragflow.git2.运行docker-compose拉取镜像 cd ragflow/docker docker-compose up -d3.启动报错…...

面试题ing

1、js中set和map的作用和区别? 在 JavaScript 中&#xff0c;Set 和 Map 是两种非常重要的集合类型 1、Set 是一种集合数据结构&#xff0c;用于存储唯一值。它类似于数组&#xff0c;但成员的值都是唯一的&#xff0c;没有重复的值。Set 中的值只能是唯一的&#xff0c;任何…...

我的NISP二级之路-02

目录 一.数据库 二.TCP/IP协议 分层结构 三.STRIDE模型 四.检查评估与自评估 检查评估 自评估 五.信息安全应急响应过程 六.系统工程 七.SSE-CMM 八.CC标准 九.九项重点工作 记背: 一.数据库 关于数据库恢复技术&#xff0c;下列说法不正确的是&#xff1a…...

私有云平台总体建设方案

一、总体规划 二、项目建设...

前端使用正则表达式提取经纬度 度分秒值

经纬度&#xff1a;1240′0.0″&#xff0c;我想提取度分秒 const regex /(\d\.\d)\s*(\d\.\d)′\s*(\d\.\d)″/; const latMatches record.latDegreeMinuteSecond.match(regex); if (latMatches) {record.latDegree latMatches[1]; // 提取度record.latMinute latMatches[…...

如何在 Windows 11 上查找计算机的 IP 地址?

原文&#xff1a;如何在 Windows 11 上查找计算机的 IP 地址&#xff1f; | w3cschool笔记 在开始之前&#xff0c;我们先来了解一下什么是 IP 地址&#xff1a; 假设你住在一栋公寓楼里&#xff0c;快递员需要把包裹送到你家。为了确保快递能准确送到&#xff0c;你需要提供…...

JavaEE vs JavaSE:Java开发的两大世界深度解析

JavaEE vs JavaSE&#xff1a;Java开发的两大世界深度解析 &#x1f310;☕ 前言&#xff1a;Java世界的双子星座 作为一名Java开发者&#xff0c;你是否曾经困惑过JavaSE和JavaEE的区别&#xff1f;是否在选择学习路径时感到迷茫&#xff1f;别担心&#xff01;今天我们将彻…...

[环境配置] 2. 依赖库安装

依赖库安装 本文档详细介绍深度学习项目所需的核心依赖库安装过程&#xff0c;包括 CUDA、PyTorch 等组件的安装和配置。 CUDA和cuDNN安装 CUDA安装 检查显卡是否支持CUDA&#xff1a; 访问NVIDIA官网查看支持列表使用命令 nvidia-smi 查看显卡信息 下载安装CUDA Toolkit&a…...

No module named ‘keras.api._v2‘

No module named keras.api._v2 解解方法&#xff0c;同&#xff1a; No module named ‘keras.engine‘-CSDN博客...

线性方程组的解法

文章目录 线性方程组的解法认识一些基本的矩阵函数MATLAB 实现机电工程学院教学函数构造1.高斯消元法2.列主元消去法3. L U LU LU分解法 线性方程组的解法 看到以下线性方程组的一般形式&#xff1a;设有以下的 n n n阶线性方程组&#xff1a; A x b \mathbf{Ax}\mathbf{b} A…...

OpenHarmony-5.0.0-Risc-V架构搭建DeepSeek-R1

OpenHarmony-5.0.0-Risc-V架构搭建DeepSeek-R1 参考laval社区的文章&#xff1a;OpenHarmony带你玩转DeepSeekR1大模型 文章目录 OpenHarmony-5.0.0-Risc-V架构搭建DeepSeek-R1前言一、前期准备二、获取源码1.错误示范2.下载 三、编译llama.cpp1.生成makefile2.编译 四、模型文…...

Elixir语言的函数定义

Elixir语言的函数定义 Elixir是一种基于Erlang虚拟机&#xff08;BEAM&#xff09;的函数式编程语言&#xff0c;因其并发特性及可扩展性而受到广泛欢迎。在Elixir中&#xff0c;函数是程序的基本构建块&#xff0c;了解如何定义和使用函数对于掌握这门语言至关重要。本文将深…...

Spring MVC 数据绑定教程

一、数据绑定概述 将HTTP请求中的表单数据自动映射到Controller方法的参数中&#xff0c;支持多种数据类型绑定。 二、自动绑定数据类型 2.1 基本数据类型绑定 支持类型 基本类型&#xff1a;int, double 等包装类&#xff1a;Integer, Double 等String 类型 实现步骤 创…...

可发1区的超级创新思路(python 实现):基于时空解耦和对比学习的可解释性模型

首先声明,该模型为原创!原创!原创!且该思路还未有成果发表,感兴趣的小伙伴可以借鉴! 目录 首先声明,该模型为原创!原创!原创!且该思路还未有成果发表,感兴趣的小伙伴可以借鉴! 一、应用领域 二、模型解析 1.1 创新点深度解读 (1) 双路空间解耦架构(双路编码器…...

一个简单的php加密的理解

前言 原帖子 https://www.52pojie.cn/thread-1991616-1-1.html 一段简单的 php 代码加密&#xff0c;大佬使用了一段 python 代码给解密出来了&#xff0c;但是我没太理解整个逻辑 于是在本地跑了一遍&#xff0c;尝试理解整个解密流程&#xff0c;这里记录下整个学习过程 …...

基于微信小程序的高校寝室快修小程序研究

标题:基于微信小程序的高校寝室快修小程序研究 内容:1.摘要 随着高校规模的不断扩大&#xff0c;学生寝室数量增多&#xff0c;寝室设施维修需求日益增长。传统的维修报修方式效率低下&#xff0c;易出现信息传递不及时等问题。本文旨在研究基于微信小程序的高校寝室快修小程序…...

windows11在连接第二屏幕之后没有声音问题

博主在使用HDMI线连接第二个屏幕之后发现没有声音了。经过翻阅资料总结以下几个步骤。 1、拔开HDMI线&#xff0c;观察是否有声音&#xff0c;如果有声音就是HDMI线插上之后的声音输出设备选择问题。 观察下图&#xff1a; 声音输出设备&#xff1a;1、电脑麦克风&#xff0…...