AI全流程开发难题破解之钥
摘要:通过对ModelArts、盘古大模型、ModelBox产品技术的解读,帮助开发者更好的了解AI开发生产线。
本文分享自华为云社区《【大厂内参】第16期:华为云AI开发生产线,破解AI全流程开发难题》,作者:华为云社区精选 。
近日,华为云对AI开发生产线进行服务升级,帮助各行各业的软件开发更简单快速地完成SaaS化,在云上创造更大价值。
AI开发生产线,通过ModelArts和AI Gallery, 支持AI开发运维的DevOps全流程。通过预集成盘古大模型和丰富的AI资产,让开发者实现从数据标注、数据处理、模型训练、到部署上线、模型调优等环节全流水线自动衔接,大幅提升效率。
1.基于行业算法套件的ModelArts云原生AI开发最佳实践
在AI开发的探索阶段,选择合适的环境、便利的工具、按需的算力、一键可运行的算法资源是我们最重要的因素。
- 在环境和算力方面,使用ModelArts提供云化Notebook,配合弹性按需算力资源能力,可以快速地让我们拿到一个带AI计算资源的环境。
- 在算法方面,面向特定领域问题的算法解法集合、AI算法套件,可以让我们快速的在算法间切换,找到合适的并且具备实际应用的自研及开源算法,通过订阅和选择的方式,可以在ModelArts上一键式的运行。
- 在工具方面,我们基于云化的Notebook提供了参数化的开发模式,让你的探索变得更便捷高效。
1.1选择合适的AI开发套件,让你的开发事半功倍
1.1.1云原生Notebook
华为云会选择Notebook作为线上AI开发与探索的首选工具,其优势在于可贯穿整个AI开发探索生命周期,从数据的处理到模型的开发以及验证和调测,都是能够全部覆盖的。
Notebook可提供交互式的编程体验,探索过程中的可视化要求,可以快速地进行结果的分享与重现。如上图“Kaggle在2021年机器学习开发者调研数据”所示,可以看到在IDE的流行度里面,Notebook占据很重要的位置。
纵观整体业界趋势,各个云化AI开发厂商还是以JupyterLab底座+插件的方式演进,主打资源免费、协作、社交化。ModelArts云化Notebook也是基于此趋势进行演进,并且提供丰富的差异化场景能力。资源切换、CodeLab、云上云下插件等,贴近用户使用习惯,提升AI开发效率。
1.1.2算法开发套件
我们知道,在AI的算法方面,需要去寻找匹配我们业务场景的合适算法,并且需要进行环境和算法之间的适配开发,以及算法相关参数的调优。
ModelArts提供的算法套件是面向一类算法问题解的集合,是针对特定的行业、领域预训练模型、算法实现及数据集。以简单易用为基础正对云边端场景的不同需求,提供相应的内容支持。
目前,华为云AI算法套件是通过自研+社区两个方面,确保算法的丰富度。
- 自研方面,结合丰富的真实AI开发经验,提供领域预训练模型、算法实现及数据集。目前已经在图像分类、目标检测、视觉分类、姿态预估等多个领域提供相关的内容,并且后续会持续丰富。用户可以在AI Gallery上一键订阅,在ModelArts上一键运行,提升用户的AI开发和探索效率。
- 社区方面,对于社区的主流算法套件完成了非侵入式的适配,例如MMDetection、MMOCR、MMSegmentation等算法套件,可以像加载自研算法套件一样,在ModelArts中快速加载一键运行。
1.1.3算法调优
有了工具和算法,接下来就是算法开发的探索和调优。华为云基于ModelArts提供的基于Notebook的参数化、图形化、交互式的能力加速开发过程,帮助开发者在数据处理、模型调优以及模型预测方面进行可视化的操作,低门槛完成多种场景的AI算法开发与应用,配套提供的算法套件可以更加高效进行AI开发。
上图是Notebook的Excel,用户可以进行参数化的定义数据处理过程和训练过程,可以图形化查看训练结果,有表格,而不是之前的大篇幅的日志,还可以进行交互式的进行结果调测。不仅如此,Notebook还提供了丰富的基础组件和组件定义能力,用户可以根据自己的使用需求和习惯定义个性化的插件。
在开发的资源和算力方面,ModelArts云原生AI开发资源与算力构建在开放的华为云云原生平台之上,基于底层应用、开放自主的相关基础云原生能力,方便开发者按需,低成本,灵活获取到可用的资源和算力。
1.2标准化的开发工具,云上云下协同
从前面的介绍大家可以了解到,对于华为云AI开发工程师,在AI开发的实验原型和探索阶段是基于ModelArts提供的serverless化的Notebook的交互式参数化能力,配合弹性按需算力、资源和环境,以及丰富的算法套件,帮助我们加速实验原型的探索及开发。
面对具体AI团队开发及应用落地时,需要涉及多人和多阶段配合完成从数据处理、算法开发和调优,到模型训练、推理开发及测试,并且在后续运行中涉及反复的迭代,怎么样可以高效地完成这项工作。
借鉴传统软件开发经验和实践,华为云通过工程化的AI开发模式,从工具到开发标准,再到代码化工程管理能力,助力开发团队协同完成AI开发及应用落地。
在工具方面,为了更加匹配通用的IDE工具使用习惯,使用ModelArts提供VSCode\PyCharm插件,就可以在自己的本地VSCode\PyCharm上进行代码开发,使用插件远程连接云上资源进行远程开发调测,并且可以调用模型训练、模型部署等能力。
通过定义AI工程框架,来让AI开发标准化,这个标准化的工程框架是实践的总结和积累。使用ModelArts提供的标准化AI开发工程模板在模板中对于数据、算法、推理等各个环节的结构进行定义,并且还提供了CLI工程脚手架,通过代码与命令的方式与平台功能相结合,全流程完成工程化的AI开发。用户可以基于我们提供的工程结构定义,分工协同,完成不同内容的开发。
上图为ModelArts提供的标准化工程结构,可以通过代码化方式完成AI过程、步骤、行为、资源等定义,并且通过代码仓统一管理。例如:用户可以定义workflow、镜像、训练、作业、应用部署等,并且配合统一的资产管理进行工程化的AI开发。
前面介绍了云上开发工具的能力,云上的IDE与传统的IDE在能力上还是存在差距的,所以为了更加匹配开发者通用IDE工具的使用习惯,ModelArts使用了基于VSCode\PyCharm+ModelArts插件,满足本地化开发及调测诉求。面对稀缺的GPU资源的诉求,通过远程连接云上资源的能力,打造本地开发远程资源按需使用的能力,插件提供一键式的安装配置等能力,方便我们开发者的使用。
后续ModelArts也会提供更加沉浸式的AI开发能力,包含AI计算资源、云上存储预置AI镜像,让用户体验到云上资源便利的同时,也带来本地开发的顺畅感。在远程插件上,可以调用云上的开发、数据、训练、推理等能力,以及提供的工程相关的所有AI开发能力,真正满足一个团队不同用户的诉求。
1.3AI Gallery构建丰富活跃的AI生态
在正式的AI开发项目中,我们会面临更多的困难和问题。AI Gallery是在ModelArts的基础上构建了开发者生态社区,丰富及活跃的生态是AI开发的基础和推动力。
在AI Gallery中,不仅提供了Notebook代码样例、数据集、算法套件、模型等AI数字资产;而且还有学习、实践、交流等板块,方便不同诉求的用户交流。并且在资产方面提供分享和订阅能力,方便AI资产持续更新和迭代。我们希望开发者沉淀更多的资产,帮助更多的AI开发者,提升大家的开发效率,加速AI产业的发展。
传统软件开发完成后就是交付运维,AI的软件开发交付后不仅仅是交付运维,还有面临持续的数据更新、模型迭代、难例挖掘,这些流程应该是标准化可信的,并且与开发流程解偶,所以ModelArts提供了工作流的能力。
工作流是基于实际业务场景开发的,用于部署AI应用流水线工具,把已经完成好的AI开发业务场景,通过ModelArts Python SDK进行编排和开发,将数据处理、模型训练、模型部署等能力进行编码,然后把流水线发布给业务应用人员。对于应用者来说不一定需要了解整个开发实现细节,他们只需要了解流水线的机制,以及需要存在变化的内容即可。例如:数据的增强、更新或者模型的参数变化,就可以方便地进行模型迭代、上线,这样让开发和运行分离,提高后续业务迭代的效率。
综上我们可以看出,ModelArts 致力打造一站式的AI开发平台,让AI开发变得简单、高效。华为云从AI开发全流程出发,在分析设计算法模型探索和实验模型集成与开发以及AI应用运维上提供高效、便捷的能力,并且结合华为云丰富的实践经验,沉淀更多的标准化AI开发流水线,为AI开发者提供更多更好的服务。
2.华为云盘古大模型,开启AI工业化开发
2025年,企业对AI的采用率将达到86%。所以,AI走进企业的生产核心系统创造更大价值是大势所趋。但与之相对的是,封闭的作坊式AI开发已经无法满足行业高效、高质量的数字化转型需求。
因为当企业有了AI需求以后,就需要独立的创建一个场景。在这个场景中,企业要投入专家和开发人员,来针对这个场景去进行专门的研发。这会导致AI应用的开发效率低下,并且它的开发经验,包括产生的一些资产也是无法得到有效积累。针对这样的情况,华为提出了盘古大模型。
2.1什么是华为盘古大模型
华为云盘古大模型,是把海量的数据知识存储在超大型的神经网络中,针对定制化的需求,只需要将这些需求固化成一些流水线。在这个过程中,由于不同的流水线之间大部分的流程都是一样的,仅仅只有小部分的操作或者场景专有的知识是有所不同的,所以就可以把这些知识或者操作像搭积木一样,放在在这个流水线上面进行开发。这样的开发模式比起作坊式的开发模式,就会更加的节省时间和人力。
在实际测试当中,盘古大模型进入企业生产系统以后,效率提升是非常明显的。原来需要十个人所做的事情,现在只要一个人就可以把它做完,效率的提升达到十倍以上。
2.2五大盘古大模型应用在千行百业
为了更好地针对不同领域方面,在盘古大模型中,有视觉、NLP(自然语言处理)、多模态、Graph和科学计算等五个领域的大模型。在不同的行业。场景下,如金融风控、工业质检、时尚设计、案件审核和智慧育种等场景下,设置场景化模型。这些场景化模型都可以适配盘古大模型,最后应用在不同的行业案例中,如违规风险识别、布料质检、流行元素标注等等应用。
盘古大模型是通过把算力、研发成本前置到华为云侧,如华为云每年会消耗英伟达V100GPU超过4000张、使用相当于4TB清洗后纯文本数据和10亿张图片去进行训练,配备大量的工程师,经过多年的积累研发了大模型系统,这个大模型系统及可以帮助业界把成本大大减少和降低,不用在耗时耗力重复性的开发算法及模型,应用大模型从而快速的进行AI开发为了让大家更好的认识和熟悉大模型,接下来将为大家展示大模型在不同行业中的应用。
2.2.1CV大模型
在铁路TFDS进行未知的故障预测的场景中:一辆列车行驶路途中,有个摄像头架设在一个固定地点,通过拍摄列车上各种不同视角不同位置的图像后,快速的去判断列车是否有故障。
由于这些故障出现次数较少,故障类型多、拍摄图片质量差等原因,因此很多情况下小模型无法取得很好的应用。很多情况下,工程师要针对每个故障去适配一个小模型,成本就非常高,更不要说未知故障的预测了。
通过盘古大模型,可以用一个或者少数几个大模型去适配铁路TFDS中的100多种不同的故障场景。最终保证故障的召回率达到90%,未知故障预测发现率提升1倍以上,同时还能保证单张图片的识别时间小于4ms。
2.2.2NLP大模型
关于NLP大模型,为大家介绍的是最高检应用项目。在这个项目当中,从最高检获取文本,对法律文书文本进行分析,去理解其中所代表的内容。比如,某一项法律为什么应用在这个判决的这个地方,这中间包含了哪些原因等等。
如果是传统小模型,需要适配数据再去适配不同的案例,这就导致时间较长。盘古大模型已经在预训练过程中积累了大量NLP方面的知识,所以基于盘古大模型就可以在很短的时间内,把测试结果不断地从开始的73%提升到最后的测试结果92%,也是高效地完成了项目。
除了在最高检的项目应用以外,盘古NLP大模型还在反电炸等场景上得到应用。NLP大模型的迁移性强,对人工的依赖程度小,少量样本、简单调参即可。
2.2.3科学计算大模型
所谓科学计算就是把AI的能力辐射到其他领域。在科学计算领域,比如气象、医药、航天航空、海洋、工业、地质等不同场景,在这些场景当中所面临的共同问题就是解偏微分方程。在偏微分方程解的过程当中,盘古大模型可以发挥出它自己得天独厚的优势。比如说神经网络体量很大,所以在解方程的时候,科学计算大模型可以捕捉到小模型无法捕捉到的特征,从而得到更精确的解答。
相比于传统方法,用数值模拟的方法求解偏微分方程,求解效率会比较高。在一些极端的场景下,求解效率能够从2天缩短到0.1秒,提升4~5个数量级的程度。在这种情况下,就可以用实时预测能力为科学计算应用提供实时预警,比如在海量预测问题上,可使用实时预警能力提供实时预警,从而提升在各个方面应对突发海事情况的能力。
接下来位大家展示盘古科学计算大模型的演示demo。该demo主要是进行全球海浪的实时预测,模拟一个地球的形状,包含全球的陆地和海洋数据。通过模拟给定风速后,全球海洋的海浪高度是可以实时地显示在屏幕上,这也是得益于推理速度的加快。因为盘古大模型使用0.1秒就完成预测,因此可以实时把结果显示出来。同时还可以模拟海洋上的突发情况,比如海洋上可能出现的风暴和台风。
在demo当中给大家展示实时生成台风的路径,并且调整这台风的强度、风速、生命周期等参数,就能发现台风对海浪的高度等造成的影响。因此就可以去模拟台风对海洋的海浪造成的影响。所以该模型就可以有效的帮助我们去指导海洋上的生产生活,比如指导渔船去避险,发挥它自己所特有的价值。
对于大部分海上作业来说,精确的海浪预报具有重要的价值。与基于超级计算机的传统预报模式相比,Al全球海浪预报模型可以以较低的计算成本,灵活的结合短期气象预报更新结果,快速提供相关海域未来数小时的海况。该预报系统可以为航运公司提供服务,通过海浪数据结合航速航向来优化航行路径,减少航行过程中的碳排放,同时避免遭遇极端海况造成人员和财产损失。
2.2.4多模态大模型
多模态,是指把图像和文本两种不同的模态结合在一起,它们之间可以进行交互,从而可以帮助我们完成各种各样的应用。比如像趋势预测、辅助设计等,这些在时装行业比较重要的应用。都是得益于多模态大模型,把人类所希望做的事情以文本形式表示出来,然后把它体现成图像的形式,让设计师能够以图像生成设计图的方法,交付到生产线,加速最后的生产过程。在这个过程当中,利用大模型这样的思路,使得图像和文本之间能够高效地进行交互,从而最后完成这样的过程。
2.2.5Graph大模型
盘古Graph大模型,主要是用来处理结构化数据。以企业报表数据为例,华为与广发证券合作中发现,有些广发证券客户会存在这个财务造假的情况。广发证券通过使用盘古大模型,利用数据可以帮助他们高效分析出哪些企业可能存在造假的情况,从而帮助广发证券更好的去完成业务情况。2019年有496家企业被监管处罚、问询或被ST处理和利用。
得益于大模型当中所具备的特征抽取及预测的能力,盘古多模态大模型能构建定制化、高效的产业链条,并在企业的生产、生活当中是可以发挥出更加重大的作用。如果大家对盘古大模型感兴趣,包括对前面所展示的这个demo比较感兴趣的话,请与华为商务部门联系。
3.ModelBox加速跨平台高性能AI应用开发和落地
随着新基建的推进,以及5G通信、云计算、大数据和物联网的快速发展,人工智能应用的场景越来越多,AI正从极具想象力的概念成为具有超大发展前景的商业赛道,并逐渐渗透到各行各业,催生了技术产业新的发展。在深耕行业AI落地的过程中,我们发现AI的大规模应用落地并非一帆风顺,面临着比传统软件更复杂的难题:
- 部署场景、复杂系统架构涉及端边云多种组合。
- 易购计算平台多样,给应用性能优化带来了更高的技能要求。
- AI基础推理框架的API不统一,带来繁琐的适配工作。
为解决这些难题,在今年的这次大会上,我们对AI开发生产线ModelArts进行了重磅升级,发布了ModelBox端边云统一AI应用开发框架。
ModelBox是让模型以统一的格式和接口更高效地运行。通过ModelBox开发者无需过多关注底层技术也能开发出跨平台高性能的AI应用,提升开发效率。开发者在华为云AI开发生产线ModelArtes上完成模型的训练和优化之后,均可以将模型通过ModelBox完成应用的开发和集成,并一键部署到端边云场景的不同设备中运行,打通行业AI应用落地最后一公里。
为了帮助开发者快速完成AI应用的开发和部署,ModelBox集成了三大核心技术:
- 高性能并发调度引擎。可实现数据计算和资源管理的精细化智能调度,集成了特别优化过的硬件加速单元。
- 译制的应用编排异构计算组件。丰富的组件覆盖了主流芯片、多数操作系统和主流的推理框架,可屏蔽这三个层次的平台差异。
- 框架中提供了端边云AI系统单元,让开发者快速写出格式一致的AI应用,并结合场景需求,一键部署到端边云不同的设备上运行。
基于高性能并发调度引擎,开发者无需掌握底层调度机制,也能保证高性能应用优化效果。ModelBox中将所有的任务都以功能单元的形式封装,一个完整的应用就是由多个功能单元构成。华为云自研一套灵活调度策略,在执行过程中,功能单元的计算将统一由线程池并发调度,确保计算单元被分配到对应的一个硬件中执行。同时计算中数据和执行单元绑定,保证数据处理的合理分配和高吞吐量。
根据引擎在实际应用案例中,让典型的图片检测场景的数据吞吐量从54QPS提升到了442QPS,处理时延从0.5亿毫秒降到了0.2毫秒。
为了带给开发者更好的开发体验,提供了图编排的开发模式,所有API以功能单元的方式提供,应用开发可以做到像搭积木一样方便。同时针对常用的AI推理场景提供了丰富的译制功能单元,做到低代码/零代码就能完成应用开发。一次开发无需改动代码就能实现端边云不同设备的一致部署运行。
三大核心技术带来的收益也是明显的,在节约80%左右的开发成本的情况下,还带来2-10倍的推理性能提升。
3.1应用编排异构计算组件,缩短跨平台开发和部署成本
ModelBox作为AI应用开发框架,华为云始终关注开发者体验。依据ModelBox的技术内核,华为云提供了完整的开发工具链,可以让开发者能够以自己喜欢的IDE上手ModelBox。
ModelBox的丰富工程模板可降低开发门槛,对应用的AI开发部分包含功能单元开发和图编排,可以实现对Python、C++等多种语言的灵活支持和可视化编排的低门槛开发模式。同时还提供完整的调试机制以应对开发中的问题。
开发完成以后,ModelBox以RPN或者容器镜像的打包方式,一键发布应用。并且,ModelBox格式的应用支持多种部署方式,可以一键发布成ModelArts云上在线推理服务,也可以通过HiLens端云协同服务,远程部署到端边侧运行。为了实际场景需要,ModelBox还提供灵活的插件,帮助开发者实现模型的权限管理和配置等。
3.2ModelBox助力智慧出行应用实现高性能提升和快速落地
从去年开始,已经陆续有伙伴开始将AI应用牵引到ModelBox框架上来。以智慧出行场景为例,我们与伙伴全面重构了安全出行方案中的AI推理业务。在重构前,其中的疲劳和分神驾驶检测任务是根据传统的方式,进行AI应用开发和部署。由于业务量的增加,AI运算的性能已经满足不了要求,并且基础平台将带来扩容成本的增加。同时,切换品牌代码需要重新开发,难度就随之增加。
在双方团队配合中选择了ModelBox重构现有业务,数据吞吐量提升了2-10倍。以抽烟识别为例,从15QPS提升到了150QPS,在不扩容的情况下,业务能力大幅提高,节约了非常高的硬件成本。由于性能提升,我们也可以大胆尝试更强大的算法,使得识别准确率也有超过10%的提升,同时耗时降低78%。
3.3华为云助力ModelBox开发者实现商业成功
华为云开源ModelBox,是希望通过开源能够与广大伙伴共同构建端边云协同的AI应用生态。
2021年,华为云依托旗帜社区平台完成了源码发布,这也是社区中第一个应用框架类项目。经过半年的开源社区化开发,我们的项目更加完善和强大。今年晚些时候,我们将在下一个版本推出更多的用户体验,优化工具。未来,我们计划提供越来越多的ModelBox开源解决方案,让大家可以结合更多的参考样例和项目做到开箱即用。
华为云诚挚邀请广大开发者朋友参与到ModelBox的开源项目中来。希望北向的AI算法应用开发者可以贡献自己的能力,来丰富ModelBox的功能单元和应用场景,同时让自己的应用可以被更多硬件高效运行。也希望南向设备厂商把自己的硬件通过开源项目对接到ModelBox项目中来,这样具有丰富的AI应用,可以补充和扩展硬件的AI使用场景。
为降低开发者上手门槛,华为云与国办合作推出了ModelBox生态入门级开发板。开发者可以从开发板套件开始体验ModelBox结合硬件和端游协同带来的便利,将自己的IDEA快速变成现实。
同时还为开发者准备了丰富的上手课程,包含入门、进阶和高阶课。通过系列课程掌握ModelBox的基础开发概念,上手体验功能单元和图形化编排的开发模式。
正是由于ModelBox天生对平台操作系统和推理框架的适配开放能力,结合统一的应用打包格式,让应用不管是云上还是端边侧,可复制性都大大提高,这就给开发者的商业变现提供了更多可能。
为了更好的帮助开发者实现商业成功,华为云AI开发生产线ModelArts和华为云应用商店,帮助开发者打通从开发到落地的变现通路。ModelBox开发的AI应用,可以通过云上平台和销售网络以及集成商伙伴,触达更多的行业客户,带来更多的商业机会。
最后
华为云AI开发生产线已通过中国信通院评测,是中国信通院认证的首批全能力域领先级AI开发平台。通过不断创新,在国内率先支持MLOps,让更多企业上好云、用好云,进而推动AI进入更多核心生产环节,产生更高价值。
AI全流程开发难题破解之钥的更多相关文章
- 【SpringCloud技术专题】「Gateway网关系列」(3)微服务网关服务的Gateway全流程开发实践指南(2.2.X)
开发指南须知 本次实践主要在版本:2.2.0.BUILD-SNAPSHOT上进行构建,这个项目提供了构建在Spring生态系统之上API网关. Spring Cloud Gateway的介绍 Spri ...
- 全流程开发 TP6.0实战高并发电商服务系统*完
在TP6框架中我们可以学到TP整体知识,如下图一所示: 图一:TP6整体知识点 这些内容都会在实战课程中一一涵盖,并且在课程中我们会用到五层架构思想(如图二),和传统的MVC架构有所不一样,这样做可以 ...
- 从零教你使用MindStudio进行Pytorch离线推理全流程
摘要:MindStudio的是一套基于华为自研昇腾AI处理器开发的AI全栈开发工具平台,该IDE上功能很多,涵盖面广,可以进行包括网络模型训练.移植.应用开发.推理运行及自定义算子开发等多种任务. 本 ...
- MindStudio模型训练场景精度比对全流程和结果分析
摘要:MindStudio是一套基于华为昇腾AI处理器开发的AI全栈开发平台 本文分享自华为云社区<MindStudio模型训练场景精度比对全流程和结果分析>,作者:yd_24730208 ...
- 全球首个全流程跨平台界面开发套件,PowerUI分析
一. 首个全流程跨平台界面开发套件,PowerUI正式发布 UIPower在DirectUI的基础上,自主研发全球首个全流程跨平台界面开发套件PowerUI(PUI)正式发布,PowerU ...
- python全栈开发-Day2 布尔、流程控制、循环
python全栈开发-Day2 布尔 流程控制 循环 一.布尔 1.概述 #布尔值,一个True一个False #计算机俗称电脑,即我们编写程序让计算机运行时,应该是让计算机无限接近人脑,或者说人 ...
- 基于Jenkins的开发测试全流程持续集成实践
今年一直在公司实践CI,本文将近半年来的一些实践总结一下,可能不太完善或优美,但的确初步解决了我目前所在项目组的一些痛点.当然这仅是一家之言也不够完整,后续还会深入实践和引入Kubernetes进行容 ...
- 学习笔记之Python全栈开发/人工智能公开课_腾讯课堂
Python全栈开发/人工智能公开课_腾讯课堂 https://ke.qq.com/course/190378 https://github.com/haoran119/ke.qq.com.pytho ...
- 《Python全栈开发指南》第3版 Alex著(LFXC2018)
第一章 Python基础——Python介绍&循环语句 1.1 编程语言介绍 1.2 Python介绍 1.3 Python安装 1.4 第一个Python程序 1.5 变量 1.6 程序交互 ...
随机推荐
- CI/CD介绍以及jenkins安装 1.1
一 .CI/CD介绍 互联网软件开发和发布,形成了一套流程标准,分为几个阶段:编码,构建,集成,测试,交付,部署 持续集成(continuous integration).持续交付(conti ...
- 面试官:BIO、NIO、AIO是什么,他们有什么区别?
哈喽!大家好,我是小奇,一位热爱分享的程序员 小奇打算以轻松幽默的对话方式来分享一些技术,如果你觉得通过小奇的文章学到了东西,那就给小奇一个赞吧 文章持续更新 一.前言 书接上回,感觉上次的公司氛围不 ...
- Ajax前后端交互——后端接收前端页面变量
核心代码: app.py from flask import Flask, render_template, request, jsonify app = Flask(__name__) @app.r ...
- 【单片机】CH32V103C8T6 ——窗口看门狗
本章教程通过串口调试助手打印显示程序运行状态,具体现象如下: 若计数器值在上窗口值和下窗口值0X40之间的时候,进行喂狗操作,计数器重新计数,程序正常运行,串口打印显示:The program run ...
- 06vim --- gcc库的制作及使用
VIM 命令模式下的操作 保存退出 快捷键 操作 ZZ 保存退出 代码格式化 快捷键 操作 gg=G 代码的格式化 光标移动(键盘上下左右键课代替) 快捷键 操作 h 光标左移 j 光标下移 k 光标 ...
- ML第4周学习小结
本周收获 总结一下本周学习内容: 1.学习了<深入浅出Pandas>的第五章:Pandas高级操作的两个内容 添加修改数据 高级过滤 我的博客链接: Pandas:添加修改.高级过滤 2. ...
- 『忘了再学』Shell基础 — 27、AWK编程的介绍和基本使用
目录 1.AWK介绍 (1)AWK概述 (2)printf格式化输出 (3)printf命令说明 2.AWK的基本使用 (1)AWK命令说明 (2)AWK命令使用 1.AWK介绍 (1)AWK概述 A ...
- .NET C#基础(6):命名空间 - 有名字的作用域
0. 文章目的 面向C#新学者,介绍命名空间(namespace)的概念以及C#中的命名空间的相关内容. 1. 阅读基础 理解C与C#语言的基础语法. 理解作用域概念. 2. 名称冲突与命 ...
- Spring Boot 实践 :Spring Boot + MyBatis
Spring Boot 实践系列,Spring Boot + MyBatis . 目的 将 MyBatis 与 Spring Boot 应用程序一起使用来访问数据库. 本次使用的Library spr ...
- 全新升级的AOP框架Dora.Interception[1]: 编程体验
多年之前利用IL Emit写了一个名为Dora.Interception(github地址,觉得不错不妨给一颗星)的AOP框架.前几天利用Roslyn的Source Generator对自己为公司写的 ...