年终盘点文生图的狂飙之路,2023年文生图卷到什么程度了?

news2024/9/25 11:20:24

目录

  • 前言
  • 发展
    • 1月
    • 2月
    • 3月
    • 4月
    • 5月
    • 6月
    • 7月
    • 9月
    • 10月
    • 11月
    • 12月
  • 思考与总结
  • 参考文献

前言

说到文生图,可能有些人不清楚,但要说AI绘画,就有很多人直呼:

15777305065297

2022可以说是AI绘图大爆发的元年。

AI绘画模型可以分为扩散模型(Diffusion Model)自回归模型(变分自编码器,Autoregressive Model)、**生成对抗网络模型 **(GAN,Generative Adversarial Networks)三大路径。

扩散模型有代表的例如Midjorney,Stable Diffusion、DALL-E 2,自回归模型以DALL-E、parti等代表,GAN例如有StackGAN++等。

扩散模型(大家还可以看看huggingface的diffusers库,收集了很多Diffusion model)由于生成图像质量高(FID值小),开源等特点,成为当下技术的主流。

1

发展

那么2023年,文生图领域卷到哪里了呢?

提前说明一下:

  1. 这里只说模型架构,不谈应用,当然如果是没技术细节没论文我也随便说下,因为不保真,不知道是不是你真自研🥲。
  2. 不同于别人写的流水账,我不仅介绍发展,还会粗略地介绍技术,进行简单的抛砖引玉,希望能够激起大家的兴趣,不断学习,多看相关知识,看一篇是不能完全理解原理的。

好的,废话不多说,现在开始。

1月

23年1月左右,微软在21年发表的LoRA能够极少数据微调模型,瞬间在AI绘图中火起来,这是目前最流行的微调 SD 的方法之一。

Refer to caption

LoRA的示意图如上,对于预训练的权重矩阵,LoRA增加了A和B这两个低秩矩阵,其中A是采用高斯初始化,B的初始值是0,在训练时只更新A、B的参数,w被冻结,公式如下: h = w 0 x + Δ W x = w 0 x + α r B A x h=w_0x+\Delta Wx=w_0x+\frac{\alpha}{r} BAx h=w0x+ΔWx=w0x+rαBAx Δ W \Delta W ΔW称为微调权重, α \alpha α是个超参数,r是矩阵的秩。

其实这个原理,你可以认为,本来的预训练权重很大,这时候被冻结了,我们反而学习新的知识,但这个知识的大小是精华,量小而有效,我们就靠它来微调我们的模型,节省训练的代价。

17日,GLIGEN 模型由威斯康星大学麦迪逊分校、哥伦比亚大学和微软的研究人员和工程师创建。该方法能够在现有的预训练好的扩散模型的基础上,增加对定位输入的支持,从而实现开放集的基于定位语言的图像生成。

23日,来自英伟达等机构的研究者死活不服扩散模型如今地地位,试图表明GAN仍然具有竞争力,提出StyleGAN-T模型,只需0.1秒即可生成 512×512分辨率图像。

Refer to caption

该研究选择StyleGAN-XL作为基线架构,因为StyleGAN-XL在以类别为条件的ImageNet合成任务中表现出色。然后该研究依次从生成器、判别器和变长与文本对齐的权衡机制的角度修改 StyleGAN-XL。作者使用零样本MS COCO来衡量改动的效果,使用预训练的CLIP ViT-L/14文本编码器来嵌入文本提示,以此来代替类别嵌入,删除了用于引导生成的分类器。

2月

9日,UniPC是23年提出的调度器,受到同名的常微分方程求解法思路的影响。可以在5-10个步骤中实现高质量图像生成。

10日,张吕敏发布了ControlNet,那么什么是ControlNet呢?

我还记得在高铁上,突然刷到ControlNet(量子位发表的“四少女火爆外网…”),用户终于可以控制图片生成的稳定性,ControlNet 的核心思想是在文本描述之外添加一些额外条件来控制扩散模型(如 Stable Diffusion),从而更好地控制生成图像的人物姿态、深度、画面结构等信息。

img

我们可以看到使用controNet,它将神经网络块的权重复制为“locked”副本和“trainable可训练”副本。zero convolution是权重和偏差都初始化为零的 1×1 卷积。最后还会把零卷积后的可训练副本和冻结副本相加。

这样的好处是,锁定副本保留了原来模型能力,最后把训练出来的新知识进行相加,使得模型训练时候不会忘记自己今天来月球是来干什么的,哦,原来只要跨一小步就行了。零卷积会在训练中,逐渐成为具有非零权重的公共卷积层,并不断优化参数权重

16日,腾讯提出T2I-Adapter,*“挖掘”T2I 模型隐式学习的能力,然后显式地使用它们来更精细地控制生成。*学习简单且轻量级的 T2I 适配器,以将 T2I 模型中的内部知识与外部控制信号结合起来,同时冻结原始的大型 T2I 模型。

23日,谷歌提出一种通过人类反馈来改进文生图模型的图文一致性的方法,仅使用基于Reward的加权损失对文本到图像模型进行微调。

3月

2日,OpenAI提出了Consistency Models,它是一种支持快速one-step生成的模型,并且仍然允许few-step采样,以在计算量和样本质量之间做出权衡。它们还支持零样本数据编辑,例如图像修复、着色和超分辨率,而无需为这些任务进行具体训练。Consistency Models可以通过蒸馏预训练扩散模型的方式进行训练,也可以作为独立的生成模型进行训练。

9日,针对增加StyleGAN架构容量会导致不稳定的问题,来自浦项科技大学(韩国)、卡内基梅隆大学和Adobe研究院的研究人员提出了一种全新的生成对抗网络架构GigaGAN,打破了模型的规模限制,展示了GAN仍然可以胜任文本到图像合成模型。

img

GigaGAN生成器是由文本编码分支、风格映射网络、多尺度合成网络组成,并通过稳定注意力和自适应内核选择进行增强。在文本编码分支中,首先使用预训练的CLIP模型和学习的注意力层T来提取文本嵌入。然后将嵌入传递到样式映射网络M,以生成样式向量w,类似于StyleGAN。合成网络使用样式代码作为调制,使用文本嵌入作为注意力来生成图像金字塔。此外,引入样本自适应内核选择,根据输入文本条件自适应地选择卷积内核。

img

判别器由两个分支组成,一个处理图像条件,一个处理文本条件。图像分支接收图像金字塔并对每个图像尺度进行独立预测,并在下采样层的所有后续尺度上进行预测。此外,采用额外的损失来鼓励有效的收敛。

结果是比SD1.5更快,图像质量更好。

21日,Adobe 发布了Firefly(萤火虫),在6月,ps也能玩AI辅助了。由于是设计公司发布的,所以其输出的内容可以分层、精细化地进行修改,一切为了设计。由于是设计公司,真的一点细节都没有,真的论文也不露一手。所以我也不给你配图了!

4月

21日,谷歌实现了在 GPU 驱动的设备上运行 Stable Diffusion 1.4 ,达到 SOTA 推理延迟性能(在三星 S23 Ultra 上,通过 20 次迭代生成 512 × 512 的图像仅需 11.5 秒)。论文地址,此前,有研究者开发了一个应用程序,该应用在 iPhone 14 Pro 上使用 Stable Diffusion 生成图片仅需一分钟,使用大约 2GiB 的应用内存。谷歌为Group Norm 和 GELU设计了专用内核,优化softmax,提高注意力模块的效率,并且使用Winograd 卷积,Stable Diffusion 的主干在很大程度上依赖于 3×3 卷积层,于是使用4x4 tile大小的 Winograd进行优化。

23日,俄罗斯团队发布了Kandinsky2.1,这是继承了 Dall-E 2 和潜在扩散的最佳实践,同时引入了一些新的想法。作为文本和图像编码器,它使用 CLIP 模型和 CLIP 模式的潜在空间之间的扩散图像先验(映射)。这种方法提高了模型的视觉性能,并揭示了混合图像和文本引导图像操作的新视野。

kandinsky21

5月

x2

9日,面对当前预训练的扩散模型在处理简单叙述提示时,理解语义和进行常识推理方面存在限制,这会导致图像生成效果不理想的现状,国内中山大学HCP实验室提出了SUR-adapter,一种简单而有效的参数高效微调方法。

x3

他们引入了一个新数据集叫做SURD,它包含超过57,000个经过语义修正的图像和文本对。此外,他们还开发了一个名为SUR适配器的模块,该模块能够从基于关键字的复杂提示和大型语言模型中提取语义理解和推理知识。通过对SURD进行大量实验和严格评估,结果表明SUR适配器能够增强扩散模型的语义理解能力,同时不影响图像生成的质量。

12日,清华提出了UniDiffuser,采用称为U-ViT 的transformer主干,这也是首个基于Transformer的多模态扩散大模型,率先发布了对多模态生成式模型的一些探索工作,实现了任意模态之间的相互转化。除了单向的文生图,还能实现图生文、图文联合生成、无条件图文生成、图文改写等多种功能,大幅提升文图内容的生产效率,也进一步提升了生成式模型的应用想象力。

众所周知,Diffusion耗时最长的是Unet结构,所以天下苦卷积久矣,当它出来的时候,好家伙,研究了几年的Transformer,什么又回卷积了。

将diffusion unet换成transformer,这是我目前看到的第二篇,还有一篇是22年12月20提出的[Scalable Diffusion Models with Transformers,这是我目前看到的首个将UNet架构换成transformer(DIT),但是实践下来,提示词太限制了…效果没有U-ViT好。

17日,MIT提出了FastComposer是一种无需微调、个性化、多主题的文本到图像生成方法,它利用图像编码器提取的主题嵌入来增强扩散模型中的文本条件,在生成图像身份保持方面优于Stable Diffusion、Custom Diffusion、DreamBooth等。

24日,Salesforce公司开源了自己最新的文生图的研究成果:Blip-diffusion,源码1,源码2,通过BLIP-2 编码器来提取多模态主题表示,然后将其与文本提示一起用于扩散模型引导,使得生成图像既能捕获特定主题的视觉外观特征,又能很好地与文本提示对齐。

29日,商汤提出的绘画大模型RAPHAEL,也是基于扩散模型开发。

x3 (1)

(a) 每个块包含四个主要组件,包括自注意力层、交叉注意力层、空间 MoE 层和时间 MoE 层。空间 MoE 负责描述特定图像区域中的不同文本概念,而时间 MoE 处理不同的扩散时间步长。每个块都使用边缘监督交叉注意力学习来进一步提高图像质量。 (b) 显示了 space-MoE 的详细信息。例如,给定提示“天空下有毛茸茸的熊”,每个文本标记及其相应的图像区域(由二进制掩模给出)都通过不同的空间专家进行引导,即每个专家都学习一个区域的特定视觉特征。通过堆叠多个空间 MoE,我们可以轻松学习描述数千个文本概念。

6月

1日,Snap 研究院推出最新高性能 Stable Diffusion 模型-SnapFusion,主要是对 UNet 进行优化,还提出一种 CFG-aware 蒸馏损失函数,在 iPhone 14 Pro 上实现 2 秒出图(512x512),且比 SD-v1.5 取得更好的 CLIP score。

这也是目前在移动端出图最快的

同日,Wuerstchen被提出,其团队开发了一种潜在扩散技术,这种高度压缩的图像表示提供了更详细的指导,这显着降低了实现最先进结果的计算要求,能够以两倍以上的速度执行推理

19日,美图发布基于扩散模型的视觉大模型MiracleVision,运用零样本学习算法,利用类别的高维语义特征代替样本的低维特征,使得训练出来的模型具有迁移性。

7月

12日,Kandinsky 2.2 对其前身 Kandinsky 2.1 进行了重大改进,引入了新的、更强大的图像编码器 - CLIP-ViT-G 和 ControlNet 支持。

在去年,谷歌提出了DreamBooth,是我们微调SD的方法之一,时隔8月,谷歌在7月13日又提出了HyperDreamBooth,但开源工作还得靠大家。它能通过超网络和快速微调实现高效的个性化生成,减小模型大小并提高生成速度。

img

14日,Meta在官网公布了CM3leon,首个基于Transformer的多模态自回归模型。我们前面看到更改Transformer的扩散模型,而这里是自回归。CM3leon采用的是完全不同的方法,它利用注意力机制来权衡输入数据(无论是文本还是图像)的相关性。Transformer结构的好处是什么?并行啊,而且训练的计算量还比此前基于 Transformer 的方法少了五倍。

image-20231223224353082

从这张图可以看见,CM3leon赢麻了。要是开源就更好了!🥹🥹🥹🥹

CM3leon还使用SFT训练,SFT已在ChatGPT训练中得到认证。果然取经还得去NLP。


27日,Stability AI正式公布最新的开源绘图模型——SDXL1.0,其实最早在4月就发布,6月推出0.9的研究版本。Stable Diffusion XL已经超越了先前发布的各种版本的Stable Diffusion,并且与当前未开源的文生图SOTA模型(如midjorney)具有不相上下的效果。

Refer to caption

Stable Diffusion XL是一个二阶段的级联扩散模型,包括Base模型和Refiner模型。其中Base模型就是原来的SD,而原来的模型有时会产生局部质量较低的样本,因此接入了Refiner模型,在同一潜在空间中训练一个单独的 LDM,该 LDM 专门用于高质量、高分辨率数据并采用SDEdit在Base模型的样本上引入的噪声去噪过程。

SDXL使用了更大的backbone,参数量大约为之前版本的SD的3倍。

9月

9月,DALL-E 3基于DALL-E 2 和 ChatGPT的文生图模型,同时发布的还有GPT-4 Turbo,现在大家用的GPT4多模态功能中的绘图功能,没错,用的就是DALL-E 3。

在前面我们说过,DALL-E 3 模型架构基于扩散模型,它同时还继承transformer架构,使用 T5 XXL 文本编码器来处理输入文本。

此外,DALL-E 3 论文还提出一个定制的图像字幕生成器(image captioner)来为训练数据集生成改进的字幕,这显着增强了模型的提示跟踪能力。这有什么用呢?你可以想想,有时候你的提示词,真的生成了你想要的图片了吗?这个工作就是做了这方面的探索。

10月

6日,站在OpenAI的肩膀上,清华大学交叉信息研究院的研究者提出Latent Consistency Models(潜在一致性模型),采用一致性蒸馏Latent Consistency Distillation(LCD)的方法,在SD模型的基础上蒸馏加速后的基础模型或LoRA模型。

  • LCD在潜在空间中进行,利用自动编码器将高维图像数据转换为低维潜在向量,并通过解码重构图像来降低计算负担并合成高分辨率图像。
  • LCM集成了无分类器引导到其过程中,采用单阶段引导蒸馏方法,并使用跳步技术加速收敛。
  • LCF是一种微调方法,用于在定制化数据集上高效进行推断。
  • 此外,LCM中的采样算法与传统多步采样不同,它直接预测增强轨迹的起点,从而实现单步样本生成,以提高图像质量。

10日,Adobe的Firefly2(萤火虫2号)出场,提升了图像质量,引入矢量图生成功能。

23日,苹果提出了俄罗斯套娃式扩散模型(Matryoshka Diffusion Models,MDM),一种用于高分辨率图像和视频合成的端到端框架。MDM的主要创新之处在于其能够在多个分辨率上联合去噪输入,并采用了一种嵌套式的UNet架构。MDM通过在扩展空间中引入多分辨率扩散过程,在此过程中学习单一扩散过程与层级结构,使得MDM能够同时生成多种分辨率的图像。MDM还采用了正常去噪目标在多个分辨率上进行联合训练,并使用渐进式训练技术,逐步将更高分辨率加入训练目标中,从而加快了整体收敛速度。此外,MDM的NestedUNet架构将所有分辨率的潜在变量组合在一个去噪函数中,形成一个嵌套结构,共享多尺度计算,简化了高分辨率生成的学习过程。

image-20231224172635672

11月

相对上面的LCM代码开源,2日,谷歌提出了UFOGen,一种能极速采样的扩散模型变种,UFOGen采用混合方法,将扩散模型与GAN相结合。利用新的diffusion-GAN和预训练扩散模型的初始化,UFOGen可以在单步中根据文本描述生成高质量图像。

image-20231224165331112

于是就有目前提升扩散模型的生成速度的5条路:

  1. 设计更加高效的数值计算方法硬解ODE(常微分方程),比如清华朱军团队提出DPM-Solver++
  2. 利用知识蒸馏ODE,比如LCM
  3. 量化
  4. 换结构
  5. 扩散与GAN结合

28日,Stability AI在官网发布了开源文生图模型SDXL Turbo,可以做到文本生成图片实时响应,比LCM还快。SDXL Turbo是基于SDXL 1.0迭代而成,使用了全新的对抗扩散蒸馏技术(Adversaral Diffusion Distillatio,ADD),所需图像的生成步骤从50步减少到1步,并且不会损坏图片的质量。

ADD 采用两种类型的蒸馏损失:首先是对抗性损失(adversarial loss),其中鉴别器的任务是区分生成的图像和真实图像;其次是传统的蒸馏损失,它将学生模型的输出与教师模型的输出对齐

image-20231224160903363

12月

15日,谷歌发布Imagen2,图像逼真程度达到新高度。同样也是扩散模型。

Imagen-BlogTout-1_zKElMC5.max-1400x1400

21日,Midjorney V6出世,图像质量更好,语言理解能力更强。

思考与总结

2023的文生图很卷,我在上面尽可能地列举了很多架构,如果不是创新就没有出现在上面。

当然大家如果还看见其它文生图方面的创新在本文并没有列出,可以在底下回复,我将会进行相应的补充。

这仅仅是算法层面,在应用层面,以主流的扩散模型为例,如果你去搜索相关扩散模型论文,你会发现围绕扩散模型的应用真的很多很多。😂

目前,文生图还是有许多技术难点等待攻破,实际上终究难逃3个要素:算法,算力,数据集。

算法的提出就是为了图片生成速度更快,图片的质量更高,这是肯定的,但你看,现在的图片都是固定尺寸产生的,如果我想生成300x200呢?

再说数据集,大家肯定都知道前段时间有2个新闻,1是字节被爆用了ChatGPT训练,2是谷歌Gemini被爆中文语料用文心一言,数据集永远是不够的,而数据集的开源工作实在是太少了。

最后说说算力,实际上,上面也有工作在做扩散模型的加速工作,在当前大模型大爆发的时代,算力资源尤其缺乏,这往往也是模型落地的一大阻碍。所以,如何让文生图在有限的算力上运行呢?比如在2080TI上?比如在内存只有2GB的5,6年前的老显卡上?可能老的显卡就是无法运行,我希望我们有时候看到的不是又出什么模型,效果多么好,普通显卡能运行吗?而是模型的运行下限又被攻破了,我们可以在更低算力的显卡上跑了!

在当前,AI创业搞得如火如荼,许多创业公司可基于Stable Diffusion基础版本进行进一步调优和个性化数据训练,其实我感觉文生图领域的商业模式有待讨论,因为说到SD,现在大家只要买个RTX3090也能跑,甚至在手机上也能,买卖的群体只有小白以及显卡算力不足的用户,只图个方便,没有其它引用用户的地方。其实说实话,当文生图深入我们的生活时候,这种热度自然而然就淡下去了,最后留下来的公司只有少数,当然你搞个性化数据也没有用,生成的图片终究到用户手上,终有勇士把这些收集起来,重新训练公开出去,所以搞文生图且用SD创业的公司存活率我认为不是很高,没有属于自己的核心技术,终究无法有自己的地位。

好了,本文的介绍内容就这么多,如果上面的内容有任何不对,欢迎大家的指出。

参考文献

  • AIGC专题报告:从文生图到文生视频,技术框架与商业化-国海证券
  • https://zhuanlan.zhihu.com/p/669353808
  • https://zhuanlan.zhihu.com/p/660924126
  • https://zhuanlan.zhihu.com/p/646831196
  • https://news.adobe.com/news/news-details/2023/Adobe-Releases-Next-Generation-of-Firefly-Models/default.aspx
  • https://cloud.google.com/blog/products/ai-machine-learning/imagen-2-on-vertex-ai-is-now-generally-available
  • https://www.zhihu.com/column/c_1631303321183805441

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

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

相关文章

ElasticSearch 使用映射定义索引结构

动态映射 dynamic 可选值解释true默认值,启用动态映射,新增的字段会添加到映射中runtime查询时动态添加到映射中false禁用动态映射,忽略未知字段strict发现未知字段,抛出异常 显示映射 创建映射 PUT user {"mappings&qu…

《钢结构设计标准》中抗震性能化设计的概念

文章目录 0. 背景1. 前言2. 什么是抗震性能化设计3. 我国规范是如何实现性能化设计的4. 从能量角度理解性能化设计05. 《钢结构设计标准》抗震性能化设计的思路06. 《钢结构设计标准》抗震性能化设计的步骤 0. 背景 关于抗震性能化设计,之前一直理解的很模糊&#…

售前工程师宝典:整理服务器最全知识点

如何保证服务器可以支持百万用户访问?服务器品牌有哪些?如何选购服务器?对于这些问题,今天我们就一起来看下关于服务器的相关知识。 假如你开发了一个网站或者一个app把他放到服务器上,之后你把它发布到了网上&#x…

Matlab/Simulink的一些功能用法笔记(3)

01--引言 最近加入到一个项目组,有一些测试需要去支持,通过了解原先团队的测试方法后,自己作了如下改善,大大提高了工作效率。这也许就是软件开发的意义吧,能够去除一些重复的机械的人工操作并且结果还非常不可靠。 …

一位年薪35W的全栈开发被开除,回怼的一番话,令人沉思

一位年薪35W开发工程师被开除回怼道:“反正我有技术,在哪不一样” 一技傍身,万事不愁,当我们掌握了一技之长后,在职场上说话就硬气了许多,不用担心被炒,反过来还可以炒了老板,这一点…

iOS苹果App应用程序上架后提示有三方登入是怎么回事?如何解决?

Hello大家好!我是咕噜铁蛋!现在越来越多的 App 都提供了三方登入功能,比如使用微信、QQ、微博等社交媒体账号登入。但是,有些开发者在将 App 上架到苹果应用商店时,会遇到提示“您的应用程序使用了第三方登录”的问题。…

BERT的学习

BERT 1.前言 self-supervised learning是一种无监督学习的特殊形式,算法从数据本身生成标签或者目标,然后利用这些生成的目标来进行学习。(也就是说数据集的标签是模型自动生成的,不是由人为提供的。)例如&#xff0…

<<USB2.0>>第2章:大局观

2.7、USB外设连接 Full-Speed Hubs High-Speed Hubs

智能监控平台/视频共享融合系统EasyCVR点击通道后页面分页不显示是什么原因?如何解决?

TSINGSEE青犀视频监控汇聚平台EasyCVR可拓展性强、视频能力灵活、部署轻快,可支持的主流标准协议有国标GB28181、RTSP/Onvif、RTMP等,以及支持厂家私有协议与SDK接入,包括海康Ehome、海大宇等设备的SDK等。平台既具备传统安防视频监控的能力&…

国产POE芯片-XS2184四通道,兼容 IEEE 802.3at/af,内建 N-MOSFET以太网供电 PSE 控制器

XS2184 是一个四通道、供电设备( PSE )电源控制器,内建 N 通道 MOSFET ,设计用于 IEEE 802.3at/af 兼容 PSE 。器件提供用电设备( PD )侦测、分级、限流以及负载断开检测。器件支持自动工作和软件编程。器…

Redis缓存常见问题之预热、雪崩、击穿、穿透

👏作者简介:大家好,我是爱吃芝士的土豆倪,24届校招生Java选手,很高兴认识大家📕系列专栏:Spring源码、JUC源码、Kafka原理、分布式技术原理、数据库技术🔥如果感觉博主的文章还不错的…

如何使用Jellyfin结合内网穿透搭建私人影音平台远程可访问

作者简介: 懒大王敲代码,计算机专业应届生 今天给大家如何使用Jellyfin结合内网穿透搭建私人影音平台远程可访问,希望大家能觉得实用! 欢迎大家点赞 👍 收藏 ⭐ 加关注哦!💖💖 前言…

怎么制作挪车电话二维码?扫码直接拨号的快捷方法

怎么制作挪车电话二维码?现在遇到需要挪车情况是,经常会发现很多车主都将自己的联系方式做成二维码图片放在车上,其他车主只需要扫码就可以直接获取手机号拨打,无需自己手动输入手机号,更加的简单方便。那么想要将手机…

【算法】利用双指针法解决算法题(C++)

文章目录 1. 前言2. 双指针法引入283.移动零 3. 使用双指针法解决算法题1089.复写零202.快乐数11.盛最多水的容器[611.有效三角 形的个数](https://leetcode.cn/problems/valid-triangle-number/description/)LCR179.查找总价格为目标值的两个商品15.三数之和18.四数之和 1. 前…

Scala(一)基本类型

Scala语言快速入门(基本类型) 一、Linux和Windows环境安装 这部分跳过,直接使用IDEA进行搭建,和其他编程语言配置差不多 二、HelloWorld 1.object表示一个伴生对象(相当于一个对象)2.HelloWorld是对象的…

Java项目-瑞吉外卖项目优化Day2

读写分离Linux配置 如果只有一台数据库,会导致数据库压力过大,也可能出现磁盘损坏数据丢失的情况。所以考虑借助mysql数据库的主从复制解决以上两个问题。 mysql主从复制的原理 实现主从复制的操作 注意此处的master_log_file的值和master_log_pos的值要…

渗透测试——1.1初认识kali

一、kali的下载 官方地址:www.kali.org 下载后压缩就可用vmware打开即可(初始账号和密码都是kali) 二、三种网络配置 1、桥接模式:将虚拟机看成局域网中的独立主机 2、NAT模式:将物理机当做路由器(rout…

php一句话木马变形技巧

一、什么是一句话木马? 一句话木马就是只需要一行代码的木马,短短一行代码,就能做到和大马相当的功能。为了绕过waf的检测,一句话木马出现了无数中变形,但本质是不变的:木马的函数执行了我们发送的命令。 …

深度学习 | 基本循环神经网络

1、序列建模 1.1、序列数据 序列数据 —— 时间 不同时间上收集到的数据,描述现象随时间变化的情况。 序列数据 —— 文本 由一串有序的文本组成的序列,需要进行分词。 序列数据 —— 图像 有序图像组成的序列,后一帧图像可能会受前一帧的影响…

开源持续测试平台Linux MeterSphere本地部署与远程访问

文章目录 前言1. 安装MeterSphere2. 本地访问MeterSphere3. 安装 cpolar内网穿透软件4. 配置MeterSphere公网访问地址5. 公网远程访问MeterSphere6. 固定MeterSphere公网地址 前言 MeterSphere 是一站式开源持续测试平台, 涵盖测试跟踪、接口测试、UI 测试和性能测试等功能&am…