AI的进阶之路:从机器学习到深度学习的演变(三)
(承接上集:AI的进阶之路:从机器学习到深度学习的演变(二))
四、深度学习(DL):机器学习的革命性突破
深度学习(DL)作为机器学习的一个重要分支,正在彻底改变我们与技术交互的方式。它不仅模拟了人脑的神经网络结构,更实现了前所未有的数据处理能力和分析深度。通过层层递进的神经网络,深度学习已经在医疗诊断、自动驾驶、艺术创作等领域展现出惊人的潜力,开创了人工智能的新纪元。
4.1 深度学习的核心概念
深度学习的核心在于多层神经网络的构建和训练。这些网络通过多层次的结构,能够逐步抽取数据中的复杂特征,从而实现对复杂任务的高效处理。神经网络的基本单元是神经元,类似于人脑中的神经元,通过权重和激活函数处理输入信息。网络结构通常包括输入层、多个隐藏层和输出层,隐藏层负责逐层提取和转换数据特征,而输出层则根据任务需求生成最终的预测结果。学习过程主要依赖反向传播算法,通过计算预测误差并逐层调整权重参数,使模型逐步优化其性能。
4.2 激活函数
激活函数是神经网络中的关键组件,它们决定了神经元的输出方式,赋予网络非线性变换的能力,使其能够学习和表示复杂的模式和关系。选择合适的激活函数对网络的性能和训练速度至关重要。以下是几种常见的激活函数及其通俗解释:
-
Sigmoid函数:这个函数将输入值压缩到0和1之间,就像一个开关,决定信息是否通过。然而,在深层网络中,Sigmoid函数可能会使梯度变得非常小,导致训练过程变慢或停滞。尽管如此,Sigmoid函数在早期的神经网络中广泛应用,尤其是在二分类问题的输出层。
-
Tanh函数:类似于Sigmoid,但它将输入值压缩到-1和1之间。这使得数据更加中心化,有助于模型更好地学习。然而,它同样可能遇到梯度消失的问题,尤其是在深层网络中。Tanh函数常用于隐藏层,因其输出范围更广,能够更有效地捕捉数据的特征。
-
ReLU(Rectified Linear Unit):这是目前最常用的激活函数之一。它的工作原理非常简单:如果输入是正数,就直接输出;如果是负数,就输出零。这种简单的操作不仅加快了计算速度,还帮助网络更快地收敛。ReLU函数在深层网络中的表现尤为出色,减少了梯度消失的问题,提升了模型的训练效率。
-
Leaky ReLU:为了解决ReLU可能导致的“神经元死亡”问题(即一些神经元在训练过程中永远不激活),Leaky ReLU在负数部分引入了一个很小的斜率(通常是0.01)。这样,即使输入是负数,神经元也能有微小的梯度,继续学习。Leaky ReLU提升了模型的稳定性和学习能力,避免了部分神经元在训练中完全失活的情况。
通过选择合适的激活函数,深度学习模型能够更高效地学习复杂的模式和关系,提升整体性能。不同的激活函数在不同的应用场景和网络结构中具有不同的优势,研究者和工程师需要根据具体任务需求和网络架构选择最适合的激活函数。
4.3 损失函数
损失函数是深度学习模型优化过程中的指南针,它量化了模型预测与真实值之间的误差,并指导模型朝着更好的方向学习。选择合适的损失函数直接影响模型的收敛速度和最终性能。以下是几种常见的损失函数及其通俗解释:
-
均方误差(MSE):这种损失函数计算预测值与真实值之间差异的平方,并取平均值。它适用于回归问题,如预测房价或股票价格。MSE对异常值非常敏感,这意味着如果有一些预测值偏离真实值很多,MSE会变得很大,从而迫使模型尽量减少这些大的误差。MSE的优势在于其简单性和易于理解,但在存在大量噪声数据时,可能会导致模型对异常值过于敏感。
-
交叉熵(Cross-Entropy):交叉熵损失函数主要用于分类任务,尤其是多类别分类。它衡量的是预测概率分布与真实分布之间的差异。交叉熵在分类任务中效果非常好,因为它不仅考虑了预测是否正确,还考虑了预测的置信度。高交叉熵值表示预测分布与真实分布差异较大,模型需要进一步优化;低交叉熵值表示模型预测较为准确。交叉熵在神经网络中的应用广泛,特别是在Softmax输出层的分类任务中表现出色。
-
Huber损失:Huber损失结合了均方误差和绝对误差的优点。它在误差较小时使用MSE,以保持对小偏差的敏感度;在误差较大时使用绝对误差,以减少对异常值的过度惩罚。这使得Huber损失在处理有噪声的数据或异常值较多的场景中表现出色。Huber损失的鲁棒性较强,能够在不同程度的噪声和异常值下保持较好的性能。
-
Hinge损失:Hinge损失主要用于支持向量机(SVM)等分类模型,旨在最大化分类边界。它不仅关注分类是否正确,还要求正确分类的样本与边界有一定的距离。这种损失函数适用于需要高置信度决策的场景,如安全关键系统或医疗诊断,提供更可靠的分类结果。Hinge损失通过增加分类边界的宽度,提升了模型的泛化能力,减少了过拟合的风险。
通过选择合适的损失函数,深度学习模型能够更有效地优化其预测能力,提升整体性能。不同的损失函数在不同的任务和数据分布中具有不同的优势,研究者需要根据具体问题和应用场景选择最适合的损失函数,以实现最佳的模型表现。
4.4 优化算法
优化算法是深度学习模型训练过程中的核心引擎,通过智能地调整网络参数来最小化损失函数。选择适合的优化算法不仅能加快训练速度,还能帮助模型找到更优的参数解,从而提升最终性能。以下是几种常见的优化算法及其通俗解释:
-
梯度下降法(Gradient Descent):这是最基础的优化算法。它通过计算损失函数相对于模型参数的梯度(即方向和大小),并朝着减少损失的方向更新参数。梯度下降有三种主要变体:
- 批量梯度下降:使用全部训练数据计算梯度,更新参数。这种方法计算稳定,但速度较慢,尤其在处理大规模数据集时效率较低。
- 随机梯度下降(SGD):每次只使用一个样本计算梯度,快速更新参数,但可能导致更新过程不稳定,尤其在噪声较大的数据集上容易震荡。
- 小批量梯度下降:介于批量和随机之间,每次使用一小部分样本计算梯度,兼具稳定性和速度,是实践中最常用的方法。小批量梯度下降能够更有效地利用现代硬件(如GPU)的并行计算能力,提升训练效率。
-
动量法(Momentum):动量法通过累积过去的梯度信息,帮助模型在训练过程中保持一致的更新方向,减少震荡,加速收敛。它类似于物理中的动量,既考虑当前的梯度,也考虑之前的梯度累积,提升了训练效率,尤其在复杂的损失函数表面。动量法能够帮助模型更快地穿越局部最小值,加快达到全局最优解的速度。
-
AdaGrad:AdaGrad引入了自适应学习率机制,根据参数的历史梯度调整每个参数的学习速率。对于频繁更新的参数,学习率会减小;对于不常更新的参数,学习率会增大。这使得AdaGrad特别适合处理稀疏数据,如自然语言处理任务中的词向量训练。然而,AdaGrad在训练过程中学习率会持续减小,可能导致模型在后期训练时收敛速度变慢。
-
RMSprop:RMSprop通过引入梯度平方的指数移动平均,解决了AdaGrad学习率急剧下降的问题。它为每个参数维护一个自适应的学习率,适合处理非平稳目标和具有大幅度曲率变化的优化问题,使得模型能够在复杂的损失函数表面保持稳定的学习速度。RMSprop在深度学习中的应用广泛,尤其适用于循环神经网络(RNN)的训练。
-
Adam(Adaptive Moment Estimation):Adam结合了动量法和RMSprop的优点,维护了梯度的一阶矩(均值)和二阶矩(未中心化的方差)。它能够自动调整每个参数的学习率,同时保持训练的稳定性和效率。Adam是目前深度学习中最常用的优化算法,特别适合大规模模型的训练,如计算机视觉和自然语言处理任务。Adam在处理稀疏梯度和非平稳目标方面表现出色,成为深度学习实践中的默认选择。
通过选择适合的优化算法,深度学习模型能够更高效地训练,找到更优的参数解,提升整体性能和准确性。不同的优化算法在不同的网络结构和任务需求下具有不同的优势,研究者和工程师需要根据具体问题和应用场景选择最合适的优化算法,以实现最佳的模型表现。
4.5 深度学习的优势与挑战
深度学习拥有强大的特征学习能力,能够自动从原始数据中提取关键特征,显著减少了对人工设计特征的依赖。这一优势使得深度学习在图像识别、语音识别和自然语言处理等领域表现卓越,甚至在某些任务上超越了人类的准确率。同时,深度学习具有广泛的适用性,能够处理各种复杂和大规模的数据,具备高度的灵活性和扩展性。
然而,深度学习也面临诸多挑战:
-
数据和计算资源需求高:训练高质量的深度学习模型通常需要大量的标注数据和强大的计算资源,增加了开发成本。数据的获取和标注过程耗时且昂贵,尤其是在需要专业知识的领域,如医疗诊断和法律分析。此外,训练深度学习模型需要高性能的硬件设备(如GPU、TPU),进一步提高了技术实施的门槛。
-
模型解释性差:深度学习模型往往是“黑盒”式的,难以解释其决策过程,这在需要高透明度的应用中是一个问题。例如,在医疗诊断中,医生和患者需要理解AI系统的诊断依据,以确保决策的可靠性和合理性;在金融领域,监管机构要求对AI决策过程进行解释,以确保合规性和公平性。
-
鲁棒性和安全性问题:如何构建更可靠、更透明的深度学习系统,提升模型的鲁棒性和安全性,是当前研究的重点方向。深度学习模型容易受到对抗攻击,即通过微小的输入扰动欺骗模型做出错误的预测。此外,模型在面对与训练数据分布不一致的新数据时,性能可能显著下降,影响其实际应用的稳定性和可靠性。
-
伦理和社会问题:深度学习技术的广泛应用引发了诸多伦理和社会问题,如隐私保护、算法偏见和就业影响等。如何在推动技术发展的同时,保障社会的公平与安全,是深度学习技术必须面对的重要挑战。例如,面部识别技术可能导致隐私泄露和滥用,推荐系统可能强化信息茧房和偏见,自动化技术可能取代部分传统工作岗位,导致就业结构变化。
4.6 深度学习的发展历程
深度学习的发展历程展示了人类在追求人工智能道路上的不懈探索与创新。从最初的感知机模型,到多层神经网络的提出,再到近年来的卷积神经网络(CNN)、循环神经网络(RNN)以及Transformer模型,每一次技术突破都推动了深度学习的前进。特别是近年来,随着大数据和高性能计算的发展,深度学习取得了飞速的进展,广泛应用于各个领域,成为推动AI技术发展的重要力量。
-
感知机与早期神经网络:1950年代,感知机模型被提出,是最早的神经网络模型之一。尽管感知机在简单任务上表现出色,但由于其线性可分的限制,无法处理复杂的非线性问题,导致早期神经网络研究的停滞。
-
多层神经网络与反向传播算法:1980年代,多层神经网络(如前馈神经网络)和反向传播算法的提出,为深度学习的发展奠定了基础。反向传播算法通过计算损失函数相对于每个参数的梯度,并逐层更新参数,实现了多层神经网络的有效训练。
-
卷积神经网络(CNN)的崛起:2012年,AlexNet在ImageNet图像识别比赛中取得了压倒性的胜利,标志着卷积神经网络(CNN)在计算机视觉领域的成功。CNN通过卷积层和池化层的设计,能够自动提取图像中的空间特征,显著提升了图像识别的准确性和效率。
-
循环神经网络(RNN)与序列数据处理:RNN及其变体(如长短期记忆网络,LSTM)在处理序列数据(如语音、文本和时间序列数据)方面表现出色。RNN能够捕捉数据中的时间依赖关系,广泛应用于语音识别、机器翻译和文本生成等任务。
-
Transformer模型与自然语言处理的革新:2017年,Transformer模型的提出彻底改变了自然语言处理(NLP)的格局。Transformer通过自注意力机制,能够高效地捕捉长距离依赖关系,显著提升了机器翻译和文本生成的性能。基于Transformer的预训练模型(如BERT、GPT系列)在多个NLP任务中取得了突破性成果,推动了自然语言理解和生成技术的飞速发展。
-
生成对抗网络(GAN)与创意生成:2014年,生成对抗网络(GAN)的提出,为图像生成和创意内容创作带来了新的可能性。GAN通过生成器和判别器的对抗训练,能够生成高质量的图像、音频和视频内容,广泛应用于图像生成、艺术创作和数据增强等领域。
未来,随着算法的进一步优化和计算资源的持续提升,深度学习将在更多复杂任务中发挥更大的作用,推动人工智能技术迈向新的高度。新兴的模型架构和训练方法,如自监督学习、多模态学习和强化学习,将进一步拓展深度学习的应用范围和能力,为解决更具挑战性的问题提供强大的工具和方法。
4.7 深度学习的实际应用案例
为了更好地理解深度学习的实际应用,以下将通过几个具体案例,展示深度学习在各个领域中的实际效果和影响:
-
图像识别:Google的DeepMind开发的AlphaGo Zero,通过深度学习技术,不仅在围棋比赛中击败了人类冠军,还通过自我对弈不断优化自身策略,展示了深度学习在复杂策略游戏中的强大能力。另一个例子是Facebook的DeepFace系统,能够实现与人类接近的高精度人脸识别,为社交媒体平台的用户体验和安全保障提供了有力支持。
-
语音助手:苹果的Siri、亚马逊的Alexa和谷歌助手等智能语音助手,利用深度学习技术实现了高效的语音识别和自然语言理解,能够执行各种任务,如设置提醒、播放音乐和查询信息,极大提升了用户的生活便利性。这些语音助手通过持续学习用户的偏好和行为,提供更加个性化和智能化的服务。
-
自动驾驶:特斯拉的自动驾驶系统通过深度学习技术处理来自摄像头和传感器的数据,实现对道路环境、交通标志和行人的实时识别和决策制定,确保车辆的安全导航。Waymo的自动驾驶技术也是深度学习在交通领域的成功应用,通过大量的训练数据和先进的算法,实现了高水平的自动驾驶能力。
-
医疗诊断:IBM的Watson Health利用深度学习技术分析医疗影像和患者数据,辅助医生进行癌症诊断和治疗方案制定,提高了诊断的准确性和效率。Google的DeepMind Health开发的AI系统能够分析眼科扫描图像,早期发现视网膜疾病,帮助医生及时干预治疗,保护患者的视力健康。
-
艺术创作:OpenAI的DALL·E和DeepArt等深度学习模型,能够生成高质量的图像和艺术作品,展示了AI在创意领域的潜力。这些模型通过学习大量的艺术作品,能够生成符合特定风格和主题的图像,辅助艺术家进行创作和灵感激发。
这些案例不仅展示了深度学习技术在实际应用中的强大能力,也凸显了其在推动各行业智能化发展中的重要作用。深度学习通过不断优化和创新,正在改变我们的工作和生活方式,开创一个更加智能和高效的未来。
(请看下集:AI的进阶之路:从机器学习到深度学习的演变(四))
想要系统学习深度学习理论?这个专栏将带你深入理解神经网络的基石,从反向传播到各种经典网络结构,为你的深度学习之旅打下坚实基础!点击进入:深度学习理论基础
本文为原创内容,未经许可不得转载。
相关文章:
AI的进阶之路:从机器学习到深度学习的演变(三)
(承接上集:AI的进阶之路:从机器学习到深度学习的演变(二)) 四、深度学习(DL):机器学习的革命性突破 深度学习(DL)作为机器学习的一个重要分支&am…...
如何通过 360 驱动大师检查自己电脑上的显卡信息
在深入探讨如何查看显卡信息之前,首先需要了解显卡的基本概念。显卡(Graphics Processing Unit, GPU),是计算机中负责处理图形输出到显示器的重要硬件。根据其集成度和性能,显卡通常被分为两类: 集成显卡&…...
数据仓库工具箱—读书笔记02(Kimball维度建模技术概述04、使用一致性维度集成)
Kimball维度建模技术概述 记录一下读《数据仓库工具箱》时的思考,摘录一些书中关于维度建模比较重要的思想与大家分享🤣🤣🤣 第二章前言部分作者提到:技术的介绍应该通过涵盖各种行业的熟悉的用例展开(赞同…...
.net framework wpf 打包免安装exe文件
1、打开所在项目csproj文件添加以下内容: <Target Name"AfterResolveReferences"><ItemGroup><EmbeddedResource Include"(ReferenceCopyLocalPaths)" Condition"%(ReferenceCopyLocalPaths.Extension) .dll"><…...
瑞吉外卖项目学习笔记(八)修改菜品信息、批量启售/停售菜品
瑞吉外卖项目学习笔记(一)准备工作、员工登录功能实现 瑞吉外卖项目学习笔记(二)Swagger、logback、表单校验和参数打印功能的实现 瑞吉外卖项目学习笔记(三)过滤器实现登录校验、添加员工、分页查询员工信息 瑞吉外卖项目学习笔记(四)TableField(fill FieldFill.INSERT)公共字…...
Oracle 日常巡检
1. 检查服务器状态 1.1. CPU使用情况 1.1.1. top top 命令是 Linux 和 Unix 系统中用于显示实时系统状态的工具,特别是对于监控 CPU 和内存的使用非常有用。 在命令行中输入 top,top 会显示一个实时更新的界面,其中包含系统的关键指标&am…...
CS 144 check7: putting it all together
Exercises 经验:两边的TCP连接建立得尽快,如果服务器端启动了,客户端没有启动就连不上。。 服务器端: 客户端: 文件收发测试: 参考: CS 144CS144 | Winter 2024, Lab 0~7 记录࿰…...
springboot数据校验报错
目录 报错信息 原因 解决 报错信息 springboot在进行数据校验的时候ConfigurationProperties注解形式下Email报错 Caused by: javax.validation.UnexpectedTypeException: HV000030: No validator could be found for constraint javax.validation.constraints.Email valid…...
mapbox基础,加载天地图矢量底图
👨⚕️ 主页: gis分享者 👨⚕️ 感谢各位大佬 点赞👍 收藏⭐ 留言📝 加关注✅! 👨⚕️ 收录于专栏:mapbox 从入门到精通 文章目录 一、🍀前言1.1 ☘️mapboxgl.Map 地图对象…...
SLAM/数字图象处理基础
概念 视差:相同特征的不同深度估计的偏差 BoW,DBoW,DBoW2的区别是什么 Bag of Words (BoW)、DBoW(Dynamic Bag of Words)和DBoW2是用于图像处理和计算机视觉中的不同特征表示和匹配方法。它们之间的主要区别如下&am…...
修改vue-element-admin,如何连接我们的后端
改哪几个文件就可以连接我们后端 主要就这四个 main.js,屏蔽这个或者删除 vue-config 最后两个文件改下端口即可 这样基本就能发了,但是还要改下 改成api 然后还要修改request.js 这里改成我们返回的状态码 我讲一个东西很容易就懂了&…...
基于PLC的采摘机械手系统(论文+源码)
1系统方案设计 本次设计围绕基于PLC的采摘机械手系统进行设计, PLC即可编程控制器其是一种常见的微处理器,本次拟采用西门子是S7-200 PLC,一方面对整个设计从器件选型到I/O分配,图纸绘制等进行设计,另一方面还通过组态…...
使用ArcGIS/ArcGIS pro绘制六边形/三角形/菱形渔网图
在做一些尺度分析时,经常会涉及到对研究区构建不同尺度的渔网进行分析,渔网的形状通常为规则四边形。构建渔网的方法也很简单,使用ArcGIS/ArcGIS Pro工具箱中的【创建渔网/CreateFishnet】工具来构建。但如果想构建其他形状渔网进行相关分析&…...
【5/6 面向应用相关的优化 网卡实现及评估 】
5 面向应用相关的优化 面对数据中心多样化的部署需求和应用场景,如分布式存储、多租户性能隔离等,构建高性能的RDMA系统需要仔细选择传输模式和通信原语以充分发挥其性能优势,并调整软硬件结构进行适配.整体手段:在软件层面结合R…...
如何识别钓鱼邮件和诈骗网站?(附网络安全意识培训PPT资料)
识别钓鱼邮件和诈骗网站是网络安全中的一个重要环节。以下是一些识别钓鱼邮件和诈骗网站的方法: 识别钓鱼邮件: 检查发件人地址: 仔细查看发件人的电子邮件地址,看是否与官方域名一致。 检查邮件内容: 留意邮件中是否…...
TOGAF之架构标准规范-业务架构
TOGAF标准规范中,业务架构阶段的主要工作是开发支持架构愿景的业务架构。 如上所示,业务架构(Business Architecture)在TOGAF标准规范中处于B阶段,该阶段的主要内容包括阶段目标、阶段输入、流程步骤、架构方法。 阶段…...
嵌入式轻量级开源操作系统:HeliOS的使用
嵌入式轻量级开源操作系统:HeliOS的使用 📍项目地址:https://github.com/heliosproj/HeliOS HeliOS项目是一个社区交付的开源项目,用于构建和维护HeliOS嵌入式操作系统(OS)。HeliOS是一个功能齐全的操作系统࿰…...
mysql 数据库迁移到达梦数据库
1.windows安装达梦数据库,去官网下载 dm8 进行安装,安装后,可以使用管理工具管理数据 使用迁移工具对数据进行迁移; 2.使用php 或者 thinkphp连接达梦数据库 2.1、先PHP开启DM扩展 从达梦数据库安装目录下drivers/php_pdo 复制对…...
Java中的异常处理机制
今天想和大家探讨Java中的异常处理机制。异常处理是任何编程语言中不可或缺的一部分,它帮助我们处理程序运行时可能出现的错误,确保程序的健壮性和稳定性。Java作为一种强类型、面向对象的编程语言,提供了一套完整的异常处理框架。 1. 异常的…...
iOS 苹果开发者账号: 查看和添加设备UUID 及设备数量
参考链接:苹果开发者账号下添加新设备UUID - 简书 如果要添加新设备到 Profiles 证书里: 1.登录开发者中心 Sign In - Apple 2.找到证书设置: Certificate,Identifiers&Profiles > Profiles > 选择对应证书 edit &g…...
数据仓库工具箱—读书笔记02(Kimball维度建模技术概述03、维度表技术基础)
Kimball维度建模技术概述 记录一下读《数据仓库工具箱》时的思考,摘录一些书中关于维度建模比较重要的思想与大家分享🤣🤣🤣 第二章前言部分作者提到:技术的介绍应该通过涵盖各种行业的熟悉的用例展开(赞同…...
Linux中常用的Shell脚本(运维+常用)汇总
废话不多说,直接上干货! 一、运维脚本 (1)监控CPU和内存的使用情况 #!/bin/bashcpu_threshold80 mem_threshold80# 获取CPU和内存使用率 cpu_usage$(top -bn1 | grep "Cpu(s)" | sed "s/.*, *\([0-9.]*\)%* id.…...
Java 方法注释:规范、实用和高质量的写法
目录 为什么要注释方法? 方法注释的基本要求 Javadoc 注释格式 示例:一个计算圆面积的方法 代码示例 注释分析 如何写出高质量的 Java 方法注释? 1. 关注可读性 2. 使用 Javadoc 格式 3. 描述异常 4. 适当的解释复杂的算法 5. 避…...
解决JIRA、Confluence用户自动注销、反复登录的问题
一、问题描述:当工作从从confluence里面打开jira的时候,在回到confluence时候,就自动退出了,需要账号密码登录重复登录,使人十分厌恶。 二、原因分析: 访问 JIRA、Confluence 或任何其他具有相同域或 IP 上…...
Python9-作业2
记录python学习,直到学会基本的爬虫,使用python搭建接口自动化测试就算学会了,在进阶webui自动化,app自动化 python基础8-灵活运用顺序、选择、循环结构 作业2九九乘法表三种方式打印九九乘法表使用两个嵌套循环使用列表推导式和…...
基于c语言的union、字符串、格式化输入输出
结构体之共用体union 共用体也叫联合体,其关键词为union 与结构体不同的是,共用体所开辟的存储空间仅仅为其中最长类型变量的存储空间而不是全部变量的存储空间,由于同一内存单元在同一时间内只能存放其中一种的数据类型,因此在每…...
SpringCloudAlibaba实战入门之路由网关Gateway初体验(十)
Spring Cloud 原先整合 Zuul 作为网关组件,Zuul 由 Netflix 公司提供的,现在已经不维护了。后面 Netflix 公司又出来了一个 Zuul2.0 网关,但由于一直没有发布稳定版本,所以 Spring Cloud 等不及了就自己推出一个网关,已…...
活着就好20241227
亲爱的朋友们,大家早上好!🌞 今天是27号,星期五,2024年12月的第二十七天,同时也是第51周的第五天,农历甲辰[龙]年十一月初二十三日。在这晨光渐浓的美好时刻,愿那温暖而明媚的阳光洒…...
robotframework中的测试套件
一. 简介 本文简单来了解一下,robotframework中的测试套件。 二. robotframework中测试套件 1. 什么是测试套件? 测试套件(Test Suite) 是一组相关测试用例的集合。每个测试套件通常代表一个特定的功能模块、系统组件或业务流程…...
Echarts连接数据库,实时绘制图表详解
文章目录 Echarts连接数据库,实时绘制图表详解一、引言二、步骤一:环境准备与数据库连接1、环境搭建2、数据库连接 三、步骤二:数据获取与处理1、查询数据库2、数据处理 四、步骤三:ECharts图表配置与渲染1、配置ECharts选项2、动…...
【QED】爱丽丝与混沌的无尽海
文章目录 题目题目描述输入输出格式数据范围测试样例 思路代码复杂度分析时间复杂度空间复杂度 题目 题目链接🔗 题目描述 如图所示,爱丽丝在一个3x3的迷宫之中,每个方格中标有 1 − 9 1-9 1−9各不相同的数字,爱丽丝可以从一格…...
CHM助手 >> 如何安装CHM助手
1 如何安装CHM助手 下载CHM助手.ezip,下载地址打开EverEdit,选择主菜单“扩展 -> 扩展管理 -> 从本地文件安装扩展”,在弹出的文件浏览窗口中选择插件安装包,如下图所示: 🕮说明: …...
硬件设计:LVDS电平标准
什么是LVDS? LVDS(Low-Voltage Differential Signaling)是一种高速、低功耗的差分信号传输标准。它通过一对差分信号线(通常是两根互补信号线)来传输数据,广泛应用于高速数字通信领域。 LVDS 的核心特点 低…...
宝塔-firefox(Docker应用)-构建自己的Web浏览器
安装基础软件 宝塔中安装firefox(Docker应用) 。宝塔中需要先安装docker及docker-composefirefox配置安装 点击firefox应用,选择【安装配置】点击右边绿色按钮,进行安装,这一步等待docker-compose根据你的配置初始化docker应用 等待安装 …...
微信小程序-基于Vant Weapp UI 组件库的Area 省市区选择
Area 省市区选择,省市区选择组件通常与 弹出层 组件配合使用。 areaList 格式 areaList 为对象结构,包含 province_list、city_list、county_list 三个 key。 每项以地区码作为 key,省市区名字作为 value。地区码为 6 位数字,前两…...
宏转录组+HiFi宏基因组:揭示厌氧消化中的碳流和能量转换
厌氧消化是一种重要的工程生物技术,对有机废物的资源回收和可再生能源的生产起着关键作用。然而,由于对未培养的厌氧菌及其适应环境变化的能力了解有限,这限制了该技术的优化和生物气生产的可持续性。今天小编带大家看一篇发表在《Microbiome…...
【VSCode】工作区及设置
【VSCode】工作区及设置 VSCode介绍工作区设置 VSCode介绍 Visual Studio Code(简称VSCode)是一个由微软开发的免费、开源的代码编辑器,以下是VSCode的一些功能及特性: 编辑器核心: 多文档界面:VSCode允许…...
瀚高数据库
文章目录 瀚高数据库安装瀚高数据库快速入门遇到的问题总结 瀚高数据库 瀚高数据库(HanGaoDB)是一款在分布式存储、高并发处理和高可用性方面表现优异的数据库,特别适用于大数据、高吞吐量、高并发的应用场景。它结合了传统 SQL 数据库和分布…...
xterm遇到的问题及解决方案
xterm遇到的问题及解决方案 /r插入终端导致的之后插入的数据覆盖了改行头部的数据 问题说明 如图所示,当在一行输入的候,输入的l插入到了改行的头部。 查看ws返回数据 可见ws返回的信息存在\r字符,在xterm.js中\r是回车字符的意思&…...
嵌入式单片机温湿度模块控制与实现
温湿度模块的使用 温湿度模块的特点 温湿度模块的原理通信的开始(打电话) 通信的过程(交流中)...
表达式语句、复合语句和空语句
欢迎拜访:雾里看山-CSDN博客 本篇主题:表达式语句、复合语句和空语句 发布时间:2024.12.26 隶属专栏:C语言 目录 1. 表达式语句定义作用常见类型赋值语句函数调用语句 2. 复合语句定义作用变量作用域 3. 空语句定义作用 1. 表达式…...
Dilateformer实战:使用Dilateformer实现图像分类任务(二)
文章目录 训练部分导入项目使用的库设置随机因子设置全局参数图像预处理与增强读取数据设置Loss设置模型设置优化器和学习率调整策略设置混合精度,DP多卡,EMA定义训练和验证函数训练函数验证函数调用训练和验证方法 运行以及结果查看测试完整的代码 在上…...
Kubernetes 镜像拉取策略全解析:如何根据需求选择最佳配置?
在Kubernetes集群里,拉取容器镜像是一个非常关键的步骤。这些镜像包含了应用程序及其所有需要的依赖项,Kubernetes通过拉取这些镜像来启动Pod中的容器。为了提升集群的稳定性、速度和安全性,Kubernetes提供了几种不同的镜像拉取策略。这篇文章…...
上海AI中心记录
1、js事件循环 调用栈(Call Stack): JavaScript 是单线程的,所有的代码执行都是在调用栈中进行的。当函数被调用时,进入栈中;执行完毕后,从栈中弹出。 任务队列(Task Queueÿ…...
oscp学习之路,Kioptix Level2靶场通关教程
oscp学习之路,Kioptix Level2靶场通关教程 靶场下载:Kioptrix Level 2.zip 链接: https://pan.baidu.com/s/1gxVRhrzLW1oI_MhcfWPn0w?pwd1111 提取码: 1111 搭建好靶场之后输入ip a看一下攻击机的IP。 确定好本机IP后,使用nmap扫描网段&…...
基于SpringBoot的蜗牛兼职网的设计与实现
一、项目背景 随着社会的快速发展,计算机的影响是全面且深入的。人们生活水平的不断提高,日常生活中人们对蜗牛兼职网方面的要求也在不断提高,需要兼职工作的人数更是不断增加,使得蜗牛兼职网的开发成为必需而且紧迫的事情。蜗牛…...
C++软件设计模式之装饰器模式
装饰器模式(Decorator Pattern)是C软件设计模式中的一种结构型设计模式,主要用于解决在不改变现有对象结构的情况下动态地给对象添加新功能的问题。通过使用装饰器模式,可以在运行时为对象添加新的行为,而不需要修改其…...
Spring Boot项目接收前端参数的11种方式
大家好,我是袁庭新。在前后端项目交互中,前端传递的数据可以通过HTTP请求发送到后端, 后端在Spring Boot中如何接收各种复杂的前端数据呢?这篇文章总结了11种在Spring Boot中接收前端数据的方式。 1 搭建项目 1.通过Spring Init…...
通过GRE协议组建VPN网络
GRE(Generic Routing Encapsulation,通用路由封装协议)协议是一种简单而有效的封装协议,它在网络中的广泛应用,比如在构建VPN网络。 GRE是一种封装协议,它允许网络层协议(如IP)的…...
you-get使用cookies下载B站视频
B站视频更换BV号以后,使用you-get不能下载了。 首先更新你的you-get pip install --upgrade you-get 更新完成后再次使用you-get -u 命令会显示使用cookies才能下载更多清晰度的视频 使用Edge浏览器,添加插件 Cookie-Editor 点击上图的导出按钮&am…...