【论文精读】StableSR

摘要

       将Diffusion先验嵌入到合成模型(如Stable Diffusion)的模式在图像视频编辑领域取得了良好的结果。本文提出StableSR,将Diffusion先验嵌入到超分辨率(SR),且不对图像退化模式做明确假设。具体有:

  • 为了利用Diffusion先验,所提出方法只需为SR任务微调了一个轻量级的时间感知编码器和一些特征调整层。时间感知编码器纳入了一个时间嵌入层来生成时间感知特征,因为迭代过程中冻结了原始Diffusion模型以保留Diffusion先验,故通过时间感知特征在图像恢复过程中为每个Diffusion步骤提供自适应指导,使Diffusion特征在不同的迭代轮次中自适应调整。时间感知编码器在早期迭代步骤提供更强的指导,在后期提供更弱的指导,以保持SR保真度
  • 为了抑制Diffusion模型的生成随机性以及自编码器编码过程中产生的信息损失,在自编码器解码过程中应用了一个系数可调的可控特征包装模块(CFW),来细化Diffusion模型的输出
  • 为了使模型适应任意分辨率图像,引入一种渐进式聚合采样策略。首先将图像划分为重叠的块,并在每个Diffusion迭代过程都使用高斯核对这些块进行融合。这个过程可以平滑图像块边界,以产生了更连贯的输出
    image

       上图在实际场景下对BSRGAN、Real-ESRGAN+、FeMaSR、LDM和StableSR进行了定性比较。

框架

Guided Finetuning with Time Awareness

       为了使SR能利用Stable Diffusion的先验知识建立以下约束:

  • 模型必须以低分辨率输入图像为条件,生成高分辨率图像
  • 模型只对原始Stable Diffusion进行最小程度的修改,以防止破坏封装在其中的知识

Feature Modulation

       采用一个额外的编码器从退化的LR图像中提取多尺度特征 { F n } n = 1 N \{ F^n\}^N_{n=1} {Fn}n=1N,并结合空间特征变换(SFT)调制Stable Diffusion残差块的中间特征映射:
F ^ d i f n = ( 1 + α n ) ⊙ F d i f n + β n ; α n , β n = M θ n ( F n ) \hat F^n_{dif}=(1+\alpha^n)\odot F^n_{dif}+\beta^n;\ \ \alpha^n,\beta^n=M_\theta^n(F^n) F^difn=(1+αn)Fdifn+βn;  αn,βn=Mθn(Fn)

       其中, M θ n M_\theta^n Mθn表示由多个卷积层组成的小网络, α n α^n αn β n β^n βn表示SFT中的仿射参数, n n n索引Stable Diffusion的UNet空间尺度。微调过程中,会冻结Stable Diffusion的权重,只训练编码器和SFT层,该策略允许向Stable Diffusion中插入从LR图像中提取的结构信息,而不破坏Stable Diffusion捕获的生成先验。

Time-aware Guidance

image
       实验发现,在编码器中使用一个时间嵌入层合并时间信息,可以大大提高了生成的图像质量和保真度,这可以使Stable Diffusion在迭代过程中自适应地调整来自LR特征的条件强度。

       因为在生成过程中,随着噪声的逐渐去除,生成图像的信噪比(SNR)会逐渐增加。当SNR接近 5 e − 2 5e^{−2} 5e2时,图像内容会迅速填充,生成图像的SNR在 5 e − 2 5e^{−2} 5e2的范围内时,编码器会为Diffusion提供相对强的条件。如上图,利用SFT前后的Stable Diffusion特征之间的余弦相似性来衡量编码器提供的条件强度,并绘制不同时间步长的特征余弦相似度值,观察到,余弦相似度在 5 e − 2 5e^{−2} 5e2的信噪比附近达到最小值,这表明编码器施加了最强条件,验证了上述结论。上图b为从编码器中提取的特征图。

Color Correction

       Diffusion模型偶尔会出现颜色偏移,故需对生成的图像进行颜色归一化,以使其均值和方差与LR图像的均值和方差对齐。令 x x x表示LR图像, y ^ \hat y y^表示生成的HR图像,则颜色校正后的输出 y y y计算为:
y c = y ^ c − μ y ^ c σ y ^ c ⋅ σ x c + μ x c y^c=\frac {\hat y^c-\mu^c_{\hat y}} {\sigma^c_{\hat y}} \cdot \sigma^c_{x} + \mu^c_x yc=σy^cy^cμy^cσxc+μxc

       其中 c ∈ { r , g , b } c ∈ \{ r, g, b \} c{r,g,b}表示颜色通道, μ y ^ c \mu^c_{\hat y} μy^c σ y ^ c \sigma^c_{\hat y} σy^c(或 μ x c \mu^c_{x} μxc σ x c \sigma^c_{x} σxc )分别为从 y ^ \hat y y^(或 x x x)的 c − t h c -th cth通道估计的均值和方差,实验发现这种简单的校正足以弥补颜色差异。

       除了在像素域进行颜色校正外,还提出了基于小波的颜色校正方法,给定图像 I I I,通过小波分解在 i − t h ( 1 ≤ i ≤ l ) i -th \ (1 ≤ i ≤ l) ith (1il)尺度提取其高频分量 H i H^i Hi和低频分量 L i L^i Li
L i = C i ( L i − 1 , k ) , H i = L i − 1 − L i L^i=C_i(L^{i-1},k), \ H^i=L^{i-1}-L^i Li=Ci(Li1,k), Hi=Li1Li

       其中 L 0 = I L_0 = I L0=I, C i C_i Ci表示dilation rate为 2 i 2^ i 2i的空洞卷积算子, k k k为卷积核,定义为:
k = [ 1 16 1 8 1 16 1 8 1 4 1 8 1 16 1 8 1 16 ] k=\begin{bmatrix} \frac 1 {16} & \frac 1 {8} & \frac 1 {16} \\ \frac 1 {8} & \frac 1 {4} & \frac 1 {8} \\ \frac 1 {16} & \frac 1 {8} & \frac 1 {16} \end{bmatrix} k= 1618116181418116181161

       将 x x x(或 y ^ \hat y y^)的 l − t h l -th lth的低频和高频成分表示为 L x l L^l_ x Lxl H x l H^l_ x Hxl(或 L y ^ l L^l_ {\hat y} Ly^l H y ^ l H^l_ {\hat y} Hy^l),则输出 y y y表示如下:
y = H y ^ l + L x l y=H^l_{\hat y}+L^l_x y=Hy^l+Lxl

       通过将 y ^ \hat y y^的低频分量 L y ^ l L^l_ {\hat y} Ly^l替换为 L x l L^l_ x Lxl来纠正颜色偏差。本文默认采用像素域的颜色校正。

Fidelity-Realism Trade-off

image
       由于Diffusion模型具有随机性,其生成图像可能偏离真实情况,故引入一个可控特征包装(CFW)模块,以平衡生成图像的真实感和保真度。

       因为Stable Diffusion利用了编码器的潜空间进行生成,因此可以通过自编码器的编码器特征来调制相应的解码器特征,以进一步提高保真度。令 F e F_e Fe F d F_d Fd分别表示编码器和解码器特征,引入可调系数 w ∈ [ 0 , 1 ] w ∈ [0, 1] w[0,1]来控制调制权重:
F m = F d + C ( F e , F d ; θ ) × w F_m =F_d+C(F_e,F_d;\theta)\times w Fm=Fd+C(Fe,Fd;θ)×w

       其中 C ( ⋅ ; θ ) C(\cdot; θ) C(;θ)表示具有可训练参数 θ θ θ的卷积层,模型整体结果如上图。

       这种设计下,采用较小的 w w w可以更大权重利用Stable Diffusion的生成能力,可以增强输出的真实感;而较大的 w w w允许从LR图像中获得更强的结构指导,可以增强输出的保真度。实验观察到 w = 0.5 w=0.5 w=0.5时可以在真实感和保真度之间取得良好的平衡。(CFW只在这个特定阶段训练)

Aggregation Sampling

image
       Stable Diffusion的注意力层对图像分辨率有高度敏感性,对于与其训练设置不同分辨率的图像,其会产生劣质输出,对该问题,常见的解决方案是将较大的图像分割为几个重叠的较小的patch,并分别进行处理。但patchs之间的差异会在Diffusion迭代过程中被复合和放大,如上图左中对比。

       本文采用一种渐进式块聚合采样算法来处理任意分辨率的图像。具体为,首先将低分辨率图像通过编码器编码为潜特征图 F ∈ R h × w F ∈ R^{h\times w} FRh×w,然后将其划分为 M M M个重叠的patch { F Ω n } n = 1 M \{F_{Ω_n} \}^M_{ n=1} {Fn}n=1M,每个patch的分辨率为 64 × 64 64 × 64 64×64 Ω n Ω_n n是特征图 F F F的第 n n n个patch的坐标集。reverse sampling过程的每个step中,会通过StableSR处理每个patch,然后对处理后的patch进行合并。为了合并处理后的patch,对每个patch F Ω n F_{Ω_n} Fn生成一个权重图 w Ω n ∈ R h × w w_{Ω_n} ∈ R^{h×w} wnRh×w,该步骤会将patch从 64 × 64 64×64 64×64扩展为 h × w h×w h×w的分辨率。 w Ω n w_{Ω_n} wn中, Ω n Ω_n n区域为特征图经过高斯滤波器得到的值, Ω n Ω_n n之外的区域由函数 f ( ⋅ ) f(\cdot) f()填充0。随后,patchs根据各自的高斯权重图进行加权相加得到最终的合并输出。

       每个patch的输出定义为 ϵ θ ( Z Ω n ( t ) , F Ω n , t ) \epsilon_\theta(Z^{(t)}_{Ω_n},F_{Ω_n},t) ϵθ(Zn(t),Fn,t),其中 Z Ω n ( t ) Z^{(t)}_{Ω_n} Zn(t)为噪声 Z ( t ) Z^{(t)} Z(t)的第 n n n个patch, θ θ θ是Diffusion模型的参数,所有patch合并的结果为:
ϵ θ ( Z ( t ) , F , t ) = ∑ n = 1 M w Ω n w ^ ⊙ f ( ϵ θ ( Z Ω n ( t ) , F Ω n , t ) ) \epsilon_\theta(Z^{(t)},F,t)=\sum^M_{n=1} \frac {w\varOmega_n} {\hat w} \odot f(\epsilon_\theta(Z^{(t)}_{\varOmega_n},F_{\varOmega_n},t)) ϵθ(Z(t),F,t)=n=1Mw^wΩnf(ϵθ(ZΩn(t),FΩn,t))

       其中 w ^ = ∑ n w Ω n \hat w = \textstyle\sum_n w_{Ω_n} w^=nwn。采用 S a m p l e r ( Z ( t ) , ϵ θ ( Z ( t ) , F , t ) ) Sampler(Z^{(t)} , \epsilon_\theta(Z^{(t)},F,t)) Sampler(Z(t),ϵθ(Z(t),F,t))采样 Z ( t − 1 ) Z^{(t−1)} Z(t1),随后将 Z ( t − 1 ) Z^{(t−1)} Z(t1)重新分割为重叠的patch,并重复上述步骤,直到 t = 1 t = 1 t=1。整体流程如下:
image
       实验表明,这种渐进式聚合方法可以大大提高输出质量,如图4右。

实验

Implementation Details

       StableSR基于Stable Diffusion 2.1-base构建,所提出的时间感知编码器类似于Stable Diffusion中的denoising U-Net的收缩路径,但更轻量(∼105M,包括SFT层)。

       首先对Diffusion模型微调117个epoch,batch size为192,prompt固定为null,并采用学习率为 5 × 1 0 − 5 5×10^{−5} 5×105的Adam优化器优化模型。训练过程中使用了8个NVIDIA Tesla 32G-V100 gpu。

       对于CFW的训练,首先按照Real-ESRGAN中的degradation pipeline生成100k个分辨率为 512 × 512 512 × 512 512×512的合成LR-HR对,并以LR为条件,采用微调后的Diffusion模型生成相应的潜代码 Z 0 Z_0 Z0来训练CFW。训练损失与LDM中使用的自编码器损失相同,且使用固定的对抗性损失权重0.025。

       推理采用200个step的DDPM采样。为了处理任意大小的图像,对分辨率大于 512 × 512 512 × 512 512×512的图像采用了所提出的聚合采样策略。对分辨率小于 512 × 512 512 × 512 512×512的图像,首先放大LR图像,使较短的边具有512的长度,并在生成后将结果重新缩放回目标分辨率(推理前,输入首先被上采样到与输出相同的大小)。

Experimental Settings

Training Datasets

       训练数据采用Real-ESRGAN的degradation pipeline在DIV2K、DIV8K、Flickr2K、OutdoorSceneTraining和FFHQ数据集的5000张人脸图像数据集上合成LR/HR对。

Testing Datasets

       本文在合成数据集和真实世界数据集上评估了所提出方法。合成数据集遵循Real-ESRGAN的degradation pipeline,从DIV2K Valid中生成了3k的 LR-HR对。真实世界数据集采用了RealSR、DRealSR、DPED-iPhone及从互联网上收集的40张图像。

Compared Methods

       为了验证所提方法的有效性,将StableSR与RealSR 、BSRGAN、Real ESRGAN+、DASR、FeMaSR、LDM、SwinIR-GAN 、DeepFloyd IF_III进行了比较。由于LDM是在分辨率为 256 × 256 256 × 256 256×256的图像上训练的,故按照StableSR的相同训练设置对其进行微调,其他方法直接使用官方代码和模型进行测试。

Evaluation Metrics

       对DIV2K Valid、RealSR和DRealSR,采用LPIPS6、FID、CLIP-IQA、MUSIQ、PSNR和SSIM评分等感知指标,评估生成图像的感知质量。

Comparison with Existing Methods

Quantitative Comparisons

image
       定量对比结果如上表。观察到,stableSR在多个感知指标方面优于最先进的SR方法,包括FID、CLIP-IQA和MUSIQ。在合成数据集基准DIV2K Valid上,StableSR( w = 0.5 w = 0.5 w=0.5)实现了24.44 FID分数,比LDM低7.7%,比其他基于GAN的方法至少低32.9%。 StableSR( w = 0.5 w = 0.5 w=0.5)在两个常用的现实世界数据集基准上也取得了最高的CLIP-IQA分数,表明StableSR的优越性。

Qualitative Comparisons

image
       上图展示了stableSR重建的真实世界数据集基准和互联网的真实世界图像的视觉结果。实验结果表明,StableSR在伪影去除和细节生成方面都优于之前的方法。
image
       上图进一步证明了StableSR在分辨率大于 512 × 512 512 × 512 512×512的图像上的优越性。

User Study

       为了进一步检验StableSR的有效性,本实验从互联网上收集了16幅真实的LR图像,采用StableSR与BSRGAN, Real-ESRGAN+和LDM分别进行图像重建,并挑选了25个人类受试者对 3 × 16 3 × 16 3×16的生成图像对进行评估,总共投票 3 × 400 3 × 400 3×400次。
image
       结果如上图,StableSR以很大的优势超过了所有三种竞争方法,始终获得超过75%的投票。

Comparison with Concurrent Diffusion Applications

       本文在真实世界数据集的图像上进一步与ControlNet-tile、IF_III upscaler 进行了比较,所有方法都使用eta 1.0和timestep 200的DDIM采样,随机数种子固定为42。 在StableSR中进一步设置了 w = 0.0 w = 0.0 w=0.0,以避免由于CFW带来的额外改进。对于ControlNet-tile,使用stable-Diffusion-WebUI生成额外的prompt,以获得更好的性能。对于IF_III upscaler ,按照官方示例将噪音等级设置为100 w/o。
image
       结果如上图,由于没有针对SR的具体设计,ControlNet-tile保真度较差。与IF_III upscaler相比,StableSR能够生成边缘更清晰的细节。实验进一步验证了StableSR的优越性。

Ablation Study

Importance of Time-aware Guidance and Color Correction

       本节研究了时间感知引导和颜色校正在真实世界数据集基准上的有效性。
image
       消融结果如上表,删除时间感知引导或颜色校正都会导致较差的SSIM和LPIPS。
image
       上图可视化了在没有时间感知引导或颜色校正情况下的生成结果,整体显示出较差的生成性能,这表明时间感知引导和颜色校正的有效性。
image
       上图可视化了采用小波颜色校正的模型生成质量,显示出较好的生成质量,这可能进一步促进实际使用。

Flexibility of Fidelity-realism Trade-off

image
       CFW模块受CodeFormer的启发,允许灵活的现实-保真权衡。给定一个可控系数 w w w,范围为 [ 0 , 1 ] [0, 1] [0,1],小的w的CFW倾向于生成逼真的结果,而大的 w w w的CFW提高了保真度。详细实验结果如上表,与StableSR( w = 0.0 w = 0.0 w=0.0)相比,具有较大的 w w w值(例如,0.75)的StableSR在所有三个成对基准上取得了 更高的PSNR和SSIM,表明更好的保真度。相比之下,StableSR ( w = 0.0 w = 0.0 w=0.0)通过更高的CLIP-IQA分数和MUSIQ分数实现了更好的感知质量。
image
       上图为相应的可视化结果,观察到适当的 w w w可以促使保真度和感知质量的提高。StableSR( w = 0.5 w = 0.5 w=0.5)显示了与StableSR( w = 1.0 w = 1.0 w=1.0)相当的PSNR和SSIM,但同时具有更好的感知度量分数。因此,StableSR将系数 w w w默认设置为0.5,以便在感知质量和保真度之间进行权衡。

Complexity Comparison

image
       StableSR是一种基于Diffusion的方法,需要多步采样来生成图像。如上表,当采样步数设置为200时,StableSR在一个NVIDIA Tesla 32G V100 GPU上需要15.16秒才能生成 512 × 512 512 × 512 512×512的图像,这与IF_III upscaler相当,但比基于GAN的SR方法(如Real-ESRGAN+和SwinIR-GAN)慢。若需提高模型效率,可采用快速采样策略、模型蒸馏或缩短Diffusion过程链等方法。

Inference Strategies

       StableSR在合成和真实世界的数据集基准上展示了卓越的性能,本节讨论了采样过程中的几种有效策略,可以进一步提高生成结果的视觉质量,而无需额外的微调。

Classifier-free Guidance with Negative Prompts

       StableSR的prompt默认为null,然而通过实验观察到StableSR可以对prompt做出反应,特别是negative prompt,故本节研究prompt的使用,以进一步提高采样期间的生成图像质量。

       给定两个分别以null prompt ϵ θ ( Z ( t ) , F , [ ] , t ) ϵ_θ(Z^{(t)} ,F, [], t) ϵθ(Z(t),F,[],t)和negative prompt ϵ θ ( Z ( t ) , F , c , t ) ϵ_θ(Z^{(t)},F, c, t) ϵθ(Z(t),F,c,t)为条件的StableSR模型,则新的抽样过程可以使用negative prompt的模型估计与guidance scale为s的线性组合:
ϵ ˜ θ = ϵ θ ( Z ( t ) , F , c , t ) + s ( ϵ θ ( Z ( t ) , F , [ ] , t ) − ϵ θ ( Z ( t ) , F , c , t ) ) \~ϵ_θ=ϵ_θ(Z^{(t)},F, c, t)+s(ϵ_θ(Z^{(t)},F, [], t)-ϵ_θ(Z^{(t)},F, c, t)) ϵ˜θ=ϵθ(Z(t),F,c,t)+s(ϵθ(Z(t),F,[],t)ϵθ(Z(t),F,c,t))

       其中 c c c为negative prompt, s = 0 s = 0 s=0时相当于直接使用negative prompt, s = 1 s = 1 s=1相当使用null prompt。
image
       上表比较了StableSR在各种positive prompts和negative prompt下的性能,positive prompts有“(masterpiece:2), (best quality:2), (realistic:2), (very clear:2)”、“Good photo.“,negative prompt有“3d, cartoon, anime, sketches,(worst quality:2), (low quality:2)”。

       从上表观察到,negative prompt对性能指标有显著影响,更高的 s s s会导致更高的CLIP-IQA和MUSIQ分数,表现出更清晰的结果。
image
       对应的可视化结果如上图,结果进一步验证了上述结论。另外观察到,过于强烈的引导( s = 7.5 s = 7.5 s=7.5),会导致生成图像过度锐化。

Pre-cleaning for Severe Degradations

image
       当LR图像严重降质、伴有明显的模糊或噪声时,StableSR可能产生次优的结果,如上图第一列。故在StableSR之前加入了一个辅助的预清洗阶段,以解决严重退化下的场景。

       首先采用通用SR的Real-ESRGAN+和用于人脸SR的CodeFormer初步生成,为了抑制预清洗阶段产生的伪影放大,预清洗后再采用2×双三次下采样操作,随后使用StableSR生成最终输出。如上图右,这种预清洗阶段大大提高了StableSR的鲁棒性。

Appendix

Details of Time-aware Encoder

image
       上表为时间感知编码器的详细设置。

User Study Settings

image
       用户研究采用谷歌表单作为研究平台,如上图。

Additional Visual Results

Visual Results on Fixed Resolution

image
       上图为真实世界数据集图像的 128 × 128 128×128 128×128:LR图像 to 512 × 512 512×512 512×512:HR图像的定性比较,观察到StableSR成功地产生了更精细细节和更清晰边缘的输出,显著优于之前最先进的方法。

Visual Results on Arbitrary Resolution

image
       上图显示了StableSR能够生成超过4倍分辨率的高质量SR图像,表明其在现实应用中的实际应用。
image
       上图显示,StableSR可以在建筑和文本等不同和复杂的真实场景下生成真实的纹理。

reference

Jianyi, W. , Zongsheng, Y. , Shangchen, Z. , Kelvin C.K. C. , & Chen C. L. . (2023). Exploiting Diffusion Prior for Real-World Image Super-Resolution.

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

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

相关文章

EchoServer回显服务器简单测试

目录 工具介绍 工具使用 测试结果 工具介绍 github的一个开源项目,是一个测压工具 EZLippi/WebBench: Webbench是Radim Kolar在1997年写的一个在linux下使用的非常简单的网站压测工具。它使用fork()模拟多个客户端同时访问我们设定的URL,测试网站在压力下工作的…

Oracle dbms_output基本使用2

以前曾使用过Oracle dbms_output,继续熟悉; 执行如下一句,报告错误, 必须放到begin...end里面; 上图也没有把文字输出,因为默认没有开启控制台显示;如下图就输出了文字, put&#x…

高性能通信之Netty

一, 同步IO(BIO)模型的架构 一般针对性能不高的情况下可以使用. 二,异步IO(NIO)模型的架构 多路复用(epoll模型):

Python+PySide6实现一个选择文件并做处理的GUI办公小工具(完整代码)

目录 专栏导读背景安装注意事项完整代码结尾专栏导读 🌸 欢迎来到Python办公自动化专栏—Python处理办公问题,解放您的双手 🏳️‍🌈 博客主页:请点击——> 一晌小贪欢的博客主页求关注 👍 该系列文章专栏:请点击——>Python办公自动化专栏求订阅 🕷 此外还…

springBoot整合Redis(二、RedisTemplate操作Redis)

Spring-data-redis是spring大家族的一部分,提供了在srping应用中通过简单的配置访问redis服务,对reids底层开发包(Jedis, JRedis, and RJC)进行了高度封装,RedisTemplate提供了redis各种操作、异常处理及序列化,支持发布订阅&…

【 C++ 】空间配置器

1、什么是空间配置器 空间配置器,顾名思义就是为各个容器高效的管理空间(空间的申请与回收)的,在默默地工作。虽然在常规使用STL时,可能用不到它,但站在学习研究的角度,学习它的实现原理对我们有很大的帮助。 2、为什…

vector原理及注意事项

先来看一下本篇文章思维导图,如下: 一. vector的实现原理 1. vector的基类介绍 先看一下class vector的声明,截取头文件stl_vector.h中部分代码,如下: //两个模板参数,第一个是数据类型,第二…

2024最新算法:鳑鲏鱼优化算法(Bitterling Fish Optimization,BFO)求解23个基准函数(提供MATLAB代码)

一、鳑鲏鱼优化算法 鳑鲏鱼优化算法(Bitterling Fish Optimization,BFO)由Lida Zareian 等人于2024年提出。鳑鲏鱼在交配中,雄性和雌性物种相互接近,然后将精子和卵子释放到水中,但这种方法有一个很大的缺…

DDR5内存相比DDR4内存的优势和区别?选择哪一个服务器内存配置能避免丢包和延迟高?

根据幻兽帕鲁服务器的实际案例分析,选择合适的DDR4与DDR5内存大小以避免丢包和延迟高,需要考虑以下几个方面: 性能与延迟:DDR5内存相比DDR4在传输速率、带宽、工作电压等方面都有显著提升,但同时也伴随着更高的延迟。D…

【C++精简版回顾】14.(重载2)流重载

1.流重载 istream ostream 1.class class MM {friend ostream& operator<<(ostream& out, MM& mm);friend istream& operator>>(istream& in, MM& mm); public:MM() {}MM(int age,string name):age(age),name(name) {} private:int age;st…

Tomcat布署及优化二-----Mysql和虚拟机

1.Mysql搭Blog 1.1下载安装包 看一下tomcat状态 1.2放到指定目录 cp jpress-v3.2.1.war /usr/local/tomcat/webapps/ cd /usr/local/tomcat/webapps/ 1.3路径优化 ln -s jpress-v3.2.1 jpress 看jpress权限 1.4生成配置文件 cat >/etc/yum.repos.d/mysql.repo <<E…

数据抽取平台pydatax介绍--实现和项目使用

数据抽取平台pydatax实现过程中&#xff0c;有2个关键点&#xff1a; 1、是否能在python3中调用执行datax任务&#xff0c;自己测试了一下可以&#xff0c;代码如下&#xff1a; 这个str1就是配置的shell文件 try:result os.popen(str1).read() except Exception as …