tensorboard的界面参数与图像数据分析讲解

目录

1.基础概念:

(a)精确率与召回率:

(b)mAP:

(c)边界框损失:

(d)目标损失:

(e)分类损失:

(f):学习率:

2.设置部分(最右边部分):

GENERAL(常规设置)

SCALARS(标量)

HISTOGRAMS(直方图)

IMAGES(图像)

2.图像部分:

(1)images:

         (a)F1_curve(F1[精确率与召回率调和平均数]与置信度):

(b)PR_curve(Precision and recall)

(c)P_curve(精确率):

(d)R_curve(召回率):

(e)confusion matrix(混淆矩阵):

(f)results:

(2)scalars:

(a)metrics(度量指标或评价指标):

(b)train(loss_train;cls_loss;obj_loss)

(c)val(同上train):

(d)x(学习率):

3.网络结构图:


1.基础概念:

(a)精确率与召回率:

1.6 map指标计算_哔哩哔哩_bilibili

在二类分别中有个重要概念精确率与召回率:

  • 精确率关注的是模型预测为正类别的样本中有多少是真正的正类别。
  • 召回率关注的是所有实际的正类别中有多少被模型正确预测为正类别。

(b)mAP:

mAP,即平均精度均值(mean Average Precision),是目标检测和图像识别领域中常用的性能评估指标。它衡量的是模型在所有类别上的平均精度,特别是当数据集中包含多个类别时。

mAp的值的大小为图像所围成的面积大小,越接近于1越好。

(c)边界框损失:

边界框损失(Box Loss)是用于衡量模型预测的边界框与真实边界框之间的差异的度量。

  1. 定义边界框损失是预测边界框(由模型预测的坐标)与真实边界框(由标注提供)之间的差异。

  2. 计算方式:边界框损失的计算通常涉及到边界框的四个坐标值:左上角的x和y坐标,以及右下角的x和y坐标。损失函数会计算这些坐标值之间的差异。

  3. 损失函数类型:常用的边界框损失函数包括L1损失(绝对值损失)、L2损失(平方损失)、Smooth L1损失(在L1和L2之间平滑过渡的损失)等。

  4. IoU(Intersection over Union):边界框损失有时会结合IoU来计算,IoU是一个衡量两个边界框重叠程度的指标,值介于0和1之间,1表示完全重叠。

  5. 训练过程中的作用:在训练过程中,边界框损失会随着模型的学习而逐渐减小,这表明模型在定位目标方面的性能正在提高。

(d)目标损失:

用来衡量模型对目标存在性的预测准确性的度量

  1. 定义:目标损失是模型预测的边界框包含目标对象的概率与真实标签之间的差异

  2. 计算方式:在目标检测中,通常采用二元交叉熵损失(Binary Cross-Entropy Loss)来评估一个框是否包含目标。这涉及到对每个边界框预测一个“objectness”分数,表示该框是否包含目标。

  3. 作用:目标损失有助于模型学习区分包含目标对象的边界框和不包含目标对象的背景区域。

  4. 与其他损失结合:目标损失通常与位置损失(Localization Loss)和分类损失(Classification Loss)结合使用。位置损失衡量预测边界框与真实边界框之间的差异,而分类损失衡量模型对每个框的分类结果与真实标签之间的差异。

  5. 损失函数类型:目标损失可能使用不同的损失函数来计算,如二元交叉熵损失,它适用于二分类问题,即框内是否有目标对象。

(e)分类损失:

用于衡量模型在分类任务上预测准确性的度量

  1. 定义分类损失是模型预测类别与真实类别之间的差异。它衡量的是模型在分类任务上的性能。

  2. 计算方式:分类损失通常使用交叉熵损失(Cross-Entropy Loss)来计算,特别是对于多类别分类问题。交叉熵损失衡量的是模型预测的概率分布与真实标签的概率分布之间的差异。

  3. 作用:分类损失有助于模型学习正确地将输入数据分配到正确的类别。在目标检测中,这意味着模型需要学习区分不同的对象类别。

  4. 与其他损失结合:在目标检测中,分类损失通常与边界框损失(Box Loss)和目标损失(Object Loss)结合使用,以全面优化模型的性能。

  5. 损失函数类型:常见的分类损失函数包括:

    • 多类别分类问题:使用多类别交叉熵损失。
    • 二分类问题:使用二元交叉熵损失。
    • 多标签分类问题:使用二元交叉熵损失,每个标签独立计算。

(f):学习率:

决定了模型在训练过程中更新权重的步长

  1. 定义:学习率是每次迭代更新模型参数时所采取的步长大小。

  2. 作用:学习率控制着模型在损失函数曲面上的下降速度。一个合适的学习率可以帮助模型快速收敛到损失函数的最小值。

  3. 选择:学习率的选择对模型的训练至关重要。学习率太小可能导致训练过程缓慢,而学习率太大可能导致模型在最小值附近震荡甚至发散。

  4. 学习率调度:在训练过程中,学习率可以保持不变,也可以根据一定的策略进行调整,如学习率衰减(Learning Rate Decay)、学习率预热(Warm-up)、周期性调整(Cyclical Learning Rates)等。

  5. 学习率衰减:随着训练的进行,逐渐减小学习率,这有助于模型在训练后期进行更精细的调整。

  6. 学习率预热:在训练初期使用较小的学习率,然后逐渐增加到预定的学习率,这有助于模型稳定地开始训练。

  7. 自适应学习率:一些优化算法,如Adam和RMSprop,具有自适应学习率的特性,它们根据参数的一阶和二阶矩估计来调整每个参数的学习率。

2.设置部分(最右边部分):

GENERAL(常规设置)

  1. Horizontal Axis(水平轴): 选择水平轴的类型,这里设置为 "Step",意味着横轴将显示训练的步骤数。
  2. Enable step selection and data table (Scalars only): 允许在图表中选择特定的步骤,并在数据表中查看该步骤的标量数据。
  3. Enable Range Selection: 允许用户在图表上选择一个范围,以便更详细地查看该范围内的数据。
  4. Link by step 99: 可能用于链接或同步不同图表或视图的步骤选择。
  5. Card Width: 调整卡片的宽度,可能影响图表的显示大小。
  6. Enable saving pins (Scalars only): 允许用户保存特定的标量值作为书签,以便快速访问。

SCALARS(标量)

Smoothing(平滑): 控制图表中数据点的平滑程度,值越高,曲线越平滑。

        0.65时:

        1时:

  1. 平滑曲线:当smoothing参数设置为大于0的值时,曲线会进行平滑处理,使得曲线更加平滑和易于观察。这有助于减少由于训练过程中的随机性或噪声导致的波动,从而更清楚地展示模型性能的整体趋势。

  2. 控制平滑程度:smoothing参数控制了曲线的平滑程度,它表示曲线上每个点的值是由前一点的值加上当前点值的加权平均值得到的。参数的取值范围通常为0到1,值越大表示平滑程度越高。这允许用户根据需要调整平滑程度,以达到最佳的观察效果。

  3. 指数加权移动平均(EMA):TensorBoard中的平滑曲线是通过指数加权移动平均(EMA)实现的。EMA是一种常用的时间序列数据平滑方法,它对历史数据进行加权平均,使得近期的数据对平均值的贡献更大,远期的数据对平均值的贡献更小。

  4. 避免过度拟合:通过平滑曲线,可以减少因个别数据点的异常变化而对模型性能的误判,从而更准确地评估模型是否过拟合或欠拟合。

Tooltip sorting method(工具提示排序方法): 设置当鼠标悬停在图表上时,工具提示信息的排序方式,这里设置为 "Alphabetical"(按字母顺序)。

Ignore outliers in chart scaling: 如果勾选,图表的缩放将忽略异常值,这有助于更好地查看数据的整体趋势。

Partition non-monotonic X axis: 如果勾选,非单调的X轴将被分割,这有助于在X轴数据不连续时更好地展示数据。

HISTOGRAMS(直方图)

  1. Mode: 选择直方图的显示模式,这里设置为 "Offset",可能意味着直方图将按照一定的偏移量显示,以便更好地比较不同批次或迭代的权重分布。

IMAGES(图像)

  1. Brightness(亮度): 调整图像的亮度,以便更清晰地查看图像内容。
  2. Contrast(对比度): 调整图像的对比度,增强图像的清晰度和细节。
  3. Show actual image size: 如果勾选,将显示图像的实际尺寸,而不是缩放后的尺寸。

2.图像部分:

(1)images:

        (a)F1_curve(F1[精确率与召回率调和平均数]与置信度):

F1-Confidence曲线(也称为F1分数曲线)是一种用于评估分类模型性能的可视化工具。它展示了模型在不同置信度阈值下的F1分数,F1分数是精确率(Precision)和召回率(Recall)的调和平均数。

这条曲线展示了随着置信度阈值的变化,模型的F1分数如何变化。通常,当置信度阈值较低时,模型会更倾向于预测正类别,这可能会提高召回率但降低精确率。相反,当置信度阈值较高时,模型会更严格地预测正类别,这可能会提高精确率但降低召回率

  • 精确率关注的是模型预测为正类别的样本中有多少是真正的正类别。
  • 召回率关注的是所有实际的正类别中有多少被模型正确预测为正类别。

通过图像可以测的什么样的置信度阈值比较好

(b)PR_curve(Precision and recall)

map值图像所围成的面积(取最大值),面积越接近于1越好

IoU阈值: 在计算AP时,还需要考虑预测边界框与真实边界框之间的交并比(Intersection over Union, IoU)。IoU是一个介于0和1之间的值,用于衡量两个边界框的重叠程度。mAP可以针对不同的IoU阈值进行计算,例如mAP@0.5表示在IoU阈值为0.5时计算的mAP。

通过这个可以测试什么IoU值的大小比较好

(c)P_curve(精确率):

精确率是指在所有被模型预测为正类别的样本中,实际为正类别的比例。精确率的计算公式为:Precision = TP / (TP + FP),其中TP是真正例,FP是假正例。

曲线分析:

  • "daitu" 类别(浅蓝色曲线):随着置信度的增加,精确率逐渐提高,表明模型在高置信度下的预测更准确。
  • "mingren" 类别(橙色曲线):同样,随着置信度的增加,精确率也在提高,但在某些置信度区间内,精确率的波动较大,这可能表明模型在这些区间内的预测不够稳定。
  • 所有类别("all classes")(深蓝色曲线):这条曲线代表所有类别的平均性能,显示在置信度为0.727时,精确率达到了1.00。

(d)R_curve(召回率):

召回率是指在所有实际为正类别的样本中,被模型正确预测为正类别的比例。召回率的计算公式为:Recall = TP / (TP + FN),其中TP是真正例,FN是假负例。

曲线分析:

  • "daitu" 类别(浅蓝色曲线):随着置信度的增加,召回率逐渐下降,这表明模型在高置信度下更严格,可能会错过一些正类别样本。
  • "mingren" 类别(橙色曲线):同样,随着置信度的增加,召回率也在下降,但在某些置信度区间内,召回率的下降更为陡峭,这可能表明模型在这些区间内对正类别的识别能力下降得更快。
  • 所有类别("all classes")(深蓝色曲线):这条曲线代表所有类别的平均性能,显示在置信度为0.000时,召回率达到了1.00,这意味着在非常低的置信度阈值下,模型能够识别出所有的正类别样本

(e)confusion matrix(混淆矩阵):

混淆矩阵(Confusion Matrix),它用于评估分类模型的性能。混淆矩阵显示了模型预测的类别与真实类别之间的关系

分类能力:

  • "daitu" 类别:67% 的 "daitu" 样本被正确分类,29% 被错误分类为 "mingren",25% 被错误分类为 "background"。
  • "mingren" 类别:71% 的 "mingren" 样本被正确分类,17% 被错误分类为 "daitu",75% 的 "background" 被错误分类为 "mingren"。
  • "background" 类别:没有 "background" 样本被正确分类,17% 被错误分类为 "daitu",75% 被错误分类为 "mingren"

颜色深浅:

  • 矩阵中的颜色深浅表示比例的大小,颜色越深表示比例越高。例如,"mingren" 类别中,"mingren" 被错误分类为 "background" 的比例最高(0.75),因此这个单元格颜色最深。

没有background这个类为什么会有background:

  1. 数据集中的未知类别:在某些分类问题中,数据集可能包含一些无法明确归类到预定义类别的样本。这些样本可以被标记为"background"类别。

  2. 目标检测中的背景:在目标检测任务中,"background"通常指的是图像中不包含任何目标对象的区域。模型需要区分目标对象和背景,因此背景也被视为一个类别。

(f)results:

(2)scalars:

(a)metrics(度量指标或评价指标):

  1. metrics/mAP_0.5:

    • 这个图表显示了在IoU阈值为0.5时,模型的平均精度随训练步数的变化。
    • Min: 训练过程中最低的平均精度为0.0004。
    • Max: 训练过程中最高的平均精度为0.8292。
    • Start Value: 训练开始时的平均精度为0.0008。
    • End Value: 训练结束时的平均精度为0.8125。
    • ΔValue: 平均精度从开始到结束增加了0.8117。
    • Δ%: 平均精度的增长百分比为+105263%,这表明模型在训练过程中有显著提升。
  2. metrics/mAP_0.5:0.95:

    • 这个图表显示了在IoU阈值从0.5到0.95时,模型的平均精度随训练步数的变化。
    • Min: 训练过程中最低的平均精度为0.0001。
    • Max: 训练过程中最高的平均精度为0.3469。
    • Start Value: 训练开始时的平均精度为0.0001。
    • End Value: 训练结束时的平均精度为0.3392。
    • ΔValue: 平均精度从开始到结束增加了0.3391。
    • Δ%: 平均精度的增长百分比为+306229%,这表明模型在更严格的IoU阈值下也有显著提升。
    • mAP_0.5:0.95是一个综合性能指标,它在多个IoU阈值下评估模型的检测性能。这个值越高,表示模型在不同IoU阈值下的检测性能越好
  3. metrics/precision:

    • 这个图表显示了模型的精确率随训练步数的变化。
    • Min: 训练过程中最低的精确率为0.0005。
    • Max: 训练过程中最高的精确率为0.8385。
    • Start Value: 训练开始时的精确率为0.001。
    • End Value: 训练结束时的精确率为0.8385。
    • ΔValue: 精确率从开始到结束增加了0.8375。
    • Δ%: 精确率的增长百分比为+87594%,这同样表明模型在训练过程中有显著提升。
  4. metrics/recall:

    • 这个图表显示了模型的召回率随训练步数的变化。
    • Min: 训练过程中最低的召回率为0.0979。
    • Max: 训练过程中最高的召回率为0.8799。
    • Start Value: 训练开始时的召回率为0.1548。
    • End Value: 训练结束时的召回率为0.8432。
    • ΔValue: 召回率从开始到结束增加了0.6885。
    • Δ%: 召回率的增长百分比为+445%,这表明模型在训练过程中召回率有显著提升。

(b)train(loss_train;cls_loss;obj_loss)

损失的减少意味着模型在预测边界框、分类目标以及检测目标存在性方面的准确性在提高

图标分析:

  1. train/box_loss(边界框损失):

    • 这个图表显示了训练过程中边界框损失的变化。边界框损失用于衡量模型预测的边界框与真实边界框之间的差异。
    • Start Value: 训练开始时的边界框损失为0.1215。
    • End Value: 训练结束时的边界框损失为0.0355。
    • ΔValue: 边界框损失从开始到结束减少了0.0860。
    • Δ%: 损失减少的百分比为-71%,表示模型在边界框预测上的性能有显著提升。
  2. train/cls_loss(分类损失):

    • 这个图表显示了训练过程中分类损失的变化。分类损失用于衡量模型对目标类别预测的准确性。
    • Start Value: 训练开始时的分类损失为0.0313。
    • End Value: 训练结束时的分类损失为0.0305。
    • ΔValue: 分类损失从开始到结束减少了0.0221。
    • Δ%: 损失减少的百分比为-72%,表明模型在分类任务上的性能有所提升。
  3. train/obj_loss(目标损失):

    • 这个图表显示了训练过程中目标损失的变化。目标损失用于衡量模型对目标存在性的预测准确性。
    • Start Value: 训练开始时的目标损失为0.0448。
    • End Value: 训练结束时的目标损失为0.0387。
    • ΔValue: 目标损失从开始到结束减少了0.0174。
    • Δ%: 损失减少的百分比为-55%,这表明模型在目标检测上的性能有所提高。

(c)val(同上train):

  1. val/box_loss:

    • 这个图表显示了验证过程中边界框损失的变化。
    • Start Value: 验证开始时的边界框损失为0.1183。
    • End Value: 验证结束时的边界框损失为0.046。
    • ΔValue: 边界框损失从开始到结束减少了0.0723。
    • Δ%: 损失减少的百分比为-61%,表示模型在验证集上的边界框预测性能有显著提升。
  2. val/cls_loss:

    • 这个图表显示了验证过程中分类损失的变化。
    • Start Value: 验证开始时的分类损失为0.0311。
    • End Value: 验证结束时的分类损失为0.0076。
    • ΔValue: 分类损失从开始到结束减少了0.0235。
    • Δ%: 损失减少的百分比为-76%,表明模型在验证集上的分类性能有显著提升。
  3. val/obj_loss:

    • 这个图表显示了验证过程中目标损失的变化。
    • Start Value: 验证开始时的目标损失为0.0372。
    • End Value: 验证结束时的目标损失为0.0223。
    • ΔValue: 目标损失从开始到结束减少了0.0149。
    • Δ%: 损失减少的百分比为-40%,这表明模型在验证集上的目标检测性能有所提高。

(d)x(学习率):

x/lr0的策略是将学习率降至接近零,这可能用于在训练后期进行微调。而x/lr1和x/lr2的策略则是在训练过程中逐渐增加学习率,这可能用于在训练初期快速逃离局部最小值或者在训练过程中重新激活学习率以跳出可能的局部最优

  1. x/lr0:

    • 这个图表显示了第一个学习率调整策略的变化。
    • Start Value: 初始学习率为0.0982。
    • End Value: 最终学习率为0.0005。
    • ΔValue: 学习率从开始到结束减少了0.0977。
    • Δ%: 学习率减少的百分比为-100%,表示学习率被完全降低到接近于零。
  2. x/lr1:

    • 这个图表显示了第二个学习率调整策略的变化。
    • Start Value: 初始学习率为0.0002。
    • End Value: 最终学习率为0.0005。
    • ΔValue: 学习率从开始到结束增加了0.0003。
    • Δ%: 学习率增加的百分比为+141%,表示学习率有所增加。
  3. x/lr2:

    • 这个图表显示了第三个学习率调整策略的变化。
    • Start Value: 初始学习率为0.0002。
    • End Value: 最终学习率为0.0005。
    • ΔValue: 学习率从开始到结束增加了0.0003。
    • Δ%: 学习率增加的百分比为+141%,与x/lr1相同,表示学习率同样有所增加

3.网络结构图:

graphs ;  点击可看到网络结构

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

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

相关文章

《计算机网络A》单选题-复习题库解析-2

目录 51、下列关于以太网网卡地址特点的说法中,不正确的是( )。 52、当一个Web Browser向一个使用标准服务器端口的Web Server提出请求时,那么在服务返回的响应包中,所使用的源端口是( &#xff0…

Linux总结之CentOS Stream 9安装mysql8.0实操安装成功记录

Linux总结之CentOS Stream 9安装mysql8.0实操安装成功记录 由于网上很多的mysql8.0安装教程都是老版本或者安装过程记录有问题,导致经常安装到一半需要删除重新安装。所以将成功的实操安装过程记录一下,方面后面查阅,大家还有问题的可以在此讨…

高等数学学习笔记 ☞ 无穷小与无穷大

1. 无穷小 1. 定义:若函数当或时的极限为零,那么称函数是当或时的无穷小。 备注: ①:无穷小描述的是自变量的变化过程中,函数值的变化趋势,绝不能认为无穷小是一个很小很小的数。 ②:说无穷小时…

KMP 2024 年总结,Kotlin 崛起的一年

2024 Google I/O 上正式官宣了 KMP(Kotlin Multiplatform)项目,它是 Google Workspace 团队的一项长期「投资」项目,由 JetBrains 开发维护和开源的项目,简单来说,JetBrains 主导,Google Worksp…

【SpringBoot教程】搭建SpringBoot项目之编写pom.xml

🙋大家好!我是毛毛张! 🌈个人首页: 神马都会亿点点的毛毛张 👏今天毛毛张分享的内容主要是Maven 中 pom 文件🆕,涵盖基本概念、标签属性、配置等内容 文章目录 1.前言🥭2.项目基本…

【Java 学习】详讲代码块:控制流语句代码块、方法代码块、实例代码块(构造代码块)、静态代码块、同步代码块

💬 欢迎讨论:如对文章内容有疑问或见解,欢迎在评论区留言,我需要您的帮助! 👍 点赞、收藏与分享:如果这篇文章对您有所帮助,请不吝点赞、收藏或分享,谢谢您的支持&#x…

【亚马逊云科技】基于Amazon EKS部署高可用的OceanBase的最佳实践

一、前言 随着企业业务的快速发展和数据量的不断增长,高性能、高可用的数据库解决方案成为了关键需求。OceanBase作为一款分布式关系型数据库,以其高扩展性、高可用性和高性能的特点,逐渐受到企业的广泛关注。然而,在复杂的分布式…

【工具】—— SpringBoot3.x整合swagger

Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务的接口文档。Swagger简单说就是可以帮助生成接口说明文档,操作比较简单添加注解说明,可以自动生成格式化的文档。 项目环境 jdk17SpringBoot 3.4.0Sp…

从0入门自主空中机器人-2-1【无人机硬件框架】

关于本课程: 本次课程是一套面向对自主空中机器人感兴趣的学生、爱好者、相关从业人员的免费课程,包含了从硬件组装、机载电脑环境设置、代码部署、实机实验等全套详细流程,带你从0开始,组装属于自己的自主无人机,并让…

基于视觉语言模型(VLM)的CogAgent

前言 CogAgent 是由清华大学与智谱AI联合推出的一个多模态大模型,专注于图形用户界面(GUI)的理解和导航。它代表了在视觉语言模型(VLM)领域的一项重要进展,特别是在GUI Agent能力方面。相较于传统的基于文…

win10、win11-鼠标右键还原、暂停更新

系统优化 win 10jihuo win 11jihuo鼠标右键还原暂停更新 update 2024.12.28win 10 jihuo winx,打开powershell管理员,输入以下命令,选择1并等待 irm https://get.activated.win | iex参考:https://www.bilibili.com/video/BV1TN411M72J/?sp…

C# 找出给定三角形的所有角度(Find all angles of a given triangle)

给定三角形在二维平面上所有三个顶点的坐标,任务是找到所有三个角度。 示例: 输入:A (0, 0), B (0, 1), C (1, 0) 输出:90, 45, 45 为了解决这个问题,我们使用下面的余弦定律。 c^2 a^2 …

【数据结构】(Python)差分数组。差分数组与树状数组结合

差分数组: 基于原数组构造的辅助数组。用于区间修改、单点查询。区间修改的时间复杂度O(1)。单点查询的时间复杂度O(n)。差分数组的元素:第一个元素等于原数组第一个元素,从第二个元素开始是原数组对应下标的元素与前一个元素的差&#xff0…

修复OpenHarmony系统相机应用横屏拍照按钮点不到的问题

适配OpenHarmony系统相机应用横屏UI, 相关pr: https://gitee.com/openharmony/applications_camera/pulls/233/files 适配效果 如何安装 编译好的hap提供在附件中 1.预置在源码,随固件安装 2.安装hap hdc shell "mount -o remount,rw /"…

10-Gin 文件上传 --[Gin 框架入门精讲与实战案例]

使用 Gin 框架处理文件上传是一个常见的任务,Gin 提供了简单而直观的方法来处理文件上传。下面将介绍如何用 Gin 实现文件上传功能。 1. 安装 Gin 如果你还没有安装 Gin,可以通过 Go 的包管理工具 go get 来安装: go get -u github.com/gi…

Promise实现原理解析,及实现方法。

Promise原理解析 Promise的介绍原理分析源码实现发布部分全部代码订阅部分基础代码简单发布订阅完整代码测试订阅能力链式调用的实现完整链式调用代码链式调用Promise完整功能代码 Promise的介绍 一,Promise的理解 在JavaScript中,Promise是一种用于处理…

http报头解析

http报文 http报文主要有两类是常见的,第一类是请求报文,第二类是响应报文,每个报头除了第一行,都是采用键值对进行传输数据,请求报文的第一行主要包括http方法(GET,PUT, POST&#…

【日常开发】Git Stash使用技巧

文章目录 引言一、git stash 基础命令(一)存储当前工作区的修改(二)查看存储列表 二、查看存储的内容(一)查看特定存储的详细内容(二)查看特定存储修改的文件列表 三、恢复存储的修改…

微服务保护-sentinel

为什么要有微服务保护? 微服务保护是为了避免微服务雪崩而出现的,每个微服务能处理的请求是有限的,如果一个微服务出现问题导致一个请求进入微服务的时间太久,就会导致大量去请求停滞在微服务内部,这样就会过分占用系统…

【Redis】Redis 典型应用 - 缓存 (cache)

目录 1. 什么是缓存 2. 使用 Redis 作为缓存 3. 缓存的更新策略 3.1 定期生成 3.2 实时生成 4. 缓存的淘汰策略 5. 缓存预热, 缓存穿透, 缓存雪崩 和 缓存击穿 关于缓存预热 (Cache preheating) 关于缓存穿透 (Cache penetration) 关于缓存雪崩 (Cache avalanche) 关…