哪些CI/CD工具性价比高

什么是CI/CD,以及我所熟知的CI/CD工具都是有哪些? 第一部分:什么是CI/CD 在软件开发中经常会提到持续集成Continuous Integration(CI)和持续交付Continuous Delivery(CD)这几个术语。但它们真正的意思是什么呢? CI/CD 是 DevOps 的基础,CI/CD 侧重于软件开发过程中的自动化,而 Devops 则是侧重于文化构建,旨在减少开发、运维、QA之间的沟通鸿沟,促进快速可靠发布的同时还保证产品质量。 CI/CD 一系列流程通常会组成一个流水线,docker和Kubernetes则可以简化这些流水. 阅读详情

性价比高的CI/CD工具包括:1.极狐GitLab 2.Jenkins 3.Travis CI 4.CircleCI 5.GitHub Actions。其中,极狐GitLab因其集成度高、功能全面、社区支持强大,性价比尤其突出。极狐GitLab不仅提供了从代码管理到CI/CD全流程的支持,还拥有强大的项目管理功能和灵活的权限控制。其开源版本已经能够满足大部分企业的需求,而企业版则增加了更多高级功能,如高级安全扫描、合规性管理和性能优化工具。极狐GitLab的界面友好、操作简便,能有效提高开发团队的效率和协作能力。因此,选择极狐GitLab作为CI/CD工具能够在保证高效开发的同时,控制成本,提升项目的整体性价比。

一、极狐GitLab

0362125e83ba0a48ea08c0fdf8339401.jpeg

极狐GitLab是一款功能全面的DevOps平台,它集成了从代码管理到CI/CD全流程的支持。极狐GitLab不仅支持版本控制,还提供了代码评审、问题追踪、持续集成、持续交付和持续部署等功能。其开源版本已经能够满足大部分企业的需求,而企业版则增加了更多高级功能,如高级安全扫描、合规性管理和性能优化工具。极狐GitLab的界面友好、操作简便,能有效提高开发团队的效率和协作能力。

功能全面:极狐GitLab提供了从代码管理、持续集成、持续交付到持续部署的全流程支持。用户可以在一个平台上完成所有的开发和运维任务,不需要在多个工具之间切换,极大地提高了工作效率。

社区支持强大:作为一款开源软件,极狐GitLab拥有一个庞大的社区,用户可以在社区中找到丰富的资源和支持。这使得极狐GitLab不仅功能强大,还能够不断更新和优化,以满足不断变化的需求。

成本效益高:极狐GitLab的开源版本已经能够满足大部分企业的需求,而企业版则提供了更多高级功能,性价比非常高。用户可以根据自己的需求选择合适的版本,从而有效控制成本。

操作简便:极狐GitLab的界面友好、操作简便,用户不需要花费大量时间去学习和适应新工具。这使得极狐GitLab非常适合那些希望快速上手并提高工作效率的团队。

极狐GitLab官网:GitLab-10万企业使用的一站式DevOps平台_GitLab中文官网

二、Jenkins

Jenkins是一款开源的自动化服务器,用于实现持续集成和持续交付。它拥有强大的插件生态系统,可以与几乎所有的开发工具和环境集成。Jenkins的灵活性和可扩展性使其成为许多开发团队的首选。

灵活性高:Jenkins支持多种编程语言和框架,用户可以根据项目需求选择合适的插件,从而实现高度定制化的CI/CD流程。

插件丰富:Jenkins拥有超过1500个插件,可以与几乎所有的开发工具和环境集成。这使得Jenkins非常适合复杂的项目和多样化的需求。

社区支持:作为一款开源工具,Jenkins拥有一个庞大的社区,用户可以在社区中找到丰富的资源和支持。社区的活跃性和贡献度使得Jenkins不断更新和优化。

成本效益:Jenkins本身是免费的,但需要投入一定的时间和人力资源来配置和维护。对于那些有技术团队支持的企业来说,Jenkins的性价比非常高。

Jenkins官网:Jenkins

三、Travis CI

Travis CI是一款基于云的持续集成服务,专为GitHub项目设计。它简化了持续集成和持续交付的流程,使得开发者可以专注于代码本身,而不需要花费大量时间在配置和维护上。

云端服务:Travis CI是基于云的服务,用户无需担心服务器的配置和维护,可以专注于代码的编写和测试。

与GitHub无缝集成:Travis CI专为GitHub项目设计,用户只需将项目连接到Travis CI,即可自动触发构建和测试,非常便捷。

配置简单:Travis CI使用YAML文件进行配置,用户可以通过简单的配置文件定义构建和测试流程。这使得Travis CI非常适合那些希望快速上手的团队。

免费和付费选项:Travis CI提供免费和付费选项,用户可以根据项目需求选择合适的方案。免费版本已经能够满足大部分开源项目的需求,而付费版本则提供更多的并行构建和高级功能。

Travis CI官网:Simple, Flexible, Trustworthy CI/CD Tools - Travis CI

四、CircleCI

CircleCI是一款强大的持续集成和持续交付平台,支持多种编程语言和框架。它提供了丰富的功能和灵活的配置选项,可以满足各种规模和复杂度的项目需求。

高性能:CircleCI提供高性能的构建和测试环境,可以快速完成构建和测试任务,缩短开发周期。

灵活配置:CircleCI支持YAML文件进行配置,用户可以根据项目需求定义构建和测试流程。其灵活的配置选项使得CircleCI非常适合复杂的项目。

多语言支持:CircleCI支持多种编程语言和框架,无论是前端还是后端项目,都可以在CircleCI上实现持续集成和持续交付。

云端和本地选项:CircleCI提供云端和本地两种部署选项,用户可以根据自己的需求选择合适的部署方式。云端版本适合那些希望快速上手的团队,而本地版本则适合那些有特殊需求的企业。

CircleCI官网:Continuous Integration and Delivery

五、GitHub Actions

GitHub Actions是GitHub推出的一款CI/CD工具,专为GitHub项目设计。它提供了高度集成的CI/CD功能,使得开发者可以在一个平台上完成所有的开发和运维任务。

无缝集成:GitHub Actions与GitHub无缝集成,用户可以在GitHub平台上直接定义和管理CI/CD流程,极大地简化了工作流程。

灵活配置:GitHub Actions使用YAML文件进行配置,用户可以根据项目需求定义构建和测试流程。其灵活的配置选项使得GitHub Actions非常适合各种规模和复杂度的项目。

事件驱动:GitHub Actions支持多种事件触发,如代码提交、Pull Request、Issue等,用户可以根据需求设置不同的触发条件,实现高度自动化的CI/CD流程。

免费和付费选项:GitHub Actions提供免费和付费选项,用户可以根据项目需求选择合适的方案。免费版本已经能够满足大部分开源项目的需求,而付费版本则提供更多的并行构建和高级功能。

GitHub官网:https://github.com/

选择性价比高的CI/CD工具对于企业来说至关重要。极狐GitLab、Jenkins、Travis CI、CircleCI和GitHub Actions都是非常优秀的选择。根据项目需求和团队规模,可以选择合适的工具来提高开发效率,控制成本,提升项目的整体质量。


相关问答FAQs:

哪些CI/CD工具性价比高?

1. GitLab CI/CD

GitLab CI/CD 是一个集成在 GitLab 内的持续集成与持续部署工具,被广泛认为是性价比极高的选择。它的优势包括:

  • 一体化解决方案:GitLab CI/CD 与 GitLab 版本控制系统紧密集成,使得配置和管理变得非常简单。无需额外集成,所有工作流程均在一个平台上完成。

  • 开源版本可用性:GitLab 提供了开源社区版,包含免费的 CI/CD 功能,适用于小型团队和项目。对于中小型企业或开发团队而言,这意味着可以免费使用强大的 CI/CD 工具。

  • 丰富的功能:除了基本的自动化构建和部署功能外,GitLab CI/CD 还支持容器化部署、自动化测试、部署到多个环境、自定义流水线等高级特性,满足了多种复杂的部署需求。

  • 成本效益高:相比许多其他商业化的 CI/CD 解决方案,GitLab 提供了竞争力的定价,尤其是考虑到其集成度和功能广度。

2. Jenkins

Jenkins 是一个开源的 CI/CD 工具,也被广泛使用并认为性价比高的选择之一。以下是 Jenkins 的一些优势:

  • 开源与生态系统:Jenkins 有着庞大的开源社区支持,拥有丰富的插件生态系统。这使得 Jenkins 可以灵活地与其他工具和服务集成,满足各种复杂的自动化需求。

  • 定制能力:Jenkins 提供了极高的定制能力,通过插件和脚本可以实现几乎任何自动化任务。这种灵活性使得 Jenkins 在多样化的项目和团队中都能够有效运作。

  • 免费使用:作为开源工具,Jenkins 提供免费使用的版本,可以节省部署和运维成本,特别是对于中小型团队或项目来说,这是非常有吸引力的。

3. CircleCI

CircleCI 是一个基于云的 CI/CD 工具,也被认为是性价比高的选择之一。以下是 CircleCI 的一些优势:

  • 易用性:CircleCI 提供了直观的用户界面和简单的配置方式,使得团队可以快速上手并创建复杂的自动化流程。

  • 云端托管:作为基于云的服务,CircleCI 可以减少部署和维护的成本,同时提供高可用性和弹性扩展,适用于需要快速构建和部署的团队。

  • 适用广泛:CircleCI 支持各种语言和环境,包括 Docker 容器化部署,可以灵活地适应不同的开发需求和技术堆栈。

总体来说,选择合适的 CI/CD 工具要考虑到团队的具体需求、项目规模以及预算限制。GitLab CI/CD、Jenkins 和 CircleCI 都是在性能、易用性和成本效益之间取得了良好平衡的工具。

【工具篇】CI/CD介绍,实操案例-CI持续集成 1. CI/CD介绍 CI/CD 是一种通过在应用开发阶段引入自动化来频繁向客户交付应用的方法。CI/CD 的核心概念是持续集成、持续交付和持续部署。 具体而言,CI/CD 可让持续自动化和持续监控贯穿于应用的整个生命周期(从集成和测试阶段,到交付和部署)。这些关联的事务通常被统称为"CI/CD 管道",由开发和运维团队以敏捷方式协同支持。 整体的流程框架如下: 2. CI 持续集成(Continuous Integration) 持续集成指的是频繁的将代码集成到主干(相当于开发测试环境)。 开发人员提 阅读详情

相关推荐

Grok AI编程助手编码性价比深度评测与实战指南

AI编程助手作为现代软件开发的重要工具,通过机器学习和自然语言处理技术理解开发者的编程意图。其核心原理是基于大规模代码库训练的语言模型,能够根据上下文生成符合语法规范的代码片段。这种技术的价值在于显著提升开发效率,减少重复性编码工作,让开发者更专注于业务逻辑和架构设计。在实际应用中,AI编程助手特别适合快速原型开发、代码重构、文档生成等场景。以Grok为代表的工具在编码性价比方面表现出色,通过分层注意力机制优化上下文理解,在代码生成质量与响应速度之间找到平衡点。本文基于实际开发需求,通过完整的配置示例和对比

weixin_28842269的博客 343

7个CICD工具大比拼,谁最牛逼

本文列举了Jenkins、Travis CI、Circle CI、TeamCity、Codeship、Gitlab CI、Bamboo共7个目前市场上最常见的CI/CD工具,做整体的介绍和优劣比对、适用场景分析,希望能给需要的童鞋一些参考。

1万+

Grok AI编程助手性价比评测:Spring Boot、Vue 3与Python实战指南

AI编程助手作为现代软件开发的重要工具,通过深度学习技术理解代码上下文,为开发者提供智能补全和代码生成能力。其核心原理是基于大规模代码库训练的语言模型,能够识别编程模式和技术规范。在技术价值层面,这类工具显著提升编码效率,减少重复劳动,帮助团队保持代码风格统一。从应用场景来看,AI编程助手特别适合全栈开发、快速原型构建和技术栈迁移等场景。以Grok为例,该工具在Spring Boot配置优化、Vue 3组件重构和Python数据处理等实战场景中表现出色,尤其在处理Java注解冲突和Vue 3组合式API时展

weixin_28829339的博客 324

CI/CD工具

持续交付是一系列的开发实践方法,用来确保让代码能够快速安全的部署到产品环境中,它通过将每一次改动都提交到一个模拟产品环境中,使用严格的自动化测试,确保业务应用和服务能符合预期。Travis CI是一个基于云的CI/CD服务,可以轻松地集成Github等平台。像其他CI/CD工具一样,Travis CI提供了一个可配置的工作流程,以便团队自定义它们的构建流程。持续部署是基于某种工具或平台实现代码自动化的构建、测试和部署到线上环境以实现交付高质量的产品,持续部署在某种程度上代表了一个开发团队的更新迭代速率。

2301_78006725的博客 2065

别再纠结Jenkins了!中小团队用GitLab CI/CD搭建自动化流水线,这篇保姆级教程就够了

本文为中小团队提供GitLab CI/CD自动化流水线的保姆级教程,详细解析从零搭建到性能优化的全流程。相比Jenkins,GitLab CI/CD以零额外成本和五分钟快速上手的优势,成为资源受限团队的首选。通过实战案例和配置示例,帮助团队提升部署效率,降低运维成本。

weixin_30700977的博客 591

Trivy与Clair深度对比:如何为CI/CD流水线选择容器安全扫描工具

容器安全扫描是保障云原生应用安全的关键环节,其核心原理是通过分析容器镜像的软件物料清单(SBOM),与已知漏洞数据库进行比对,从而识别潜在风险。这项技术的价值在于将安全防护“左移”,在软件构建和部署的早期阶段发现并修复漏洞,有效降低生产环境的安全威胁。在持续集成与持续部署(CI/CD)实践中,自动化安全扫描已成为不可或缺的“质量门禁”。本文聚焦于两大主流开源工具Trivy和Clair,深入剖析它们在检测能力、性能、集成成本等方面的差异,并结合SBOM生成、漏洞豁免等高级策略,为开发团队提供从工具选型到CI/

weixin_34417183的博客 360

开发人员必知的5个CI/CD工具

CI/CD工具

JackLi31742的博客 4997

Exchange 2013/2016/2019修改附件大小限制

Exchange 2013/2016/2019邮件大小限制 可以在三个位置上配置Exchange上的默认邮件大小限制: 组织传输设置 发送/接收连接器设置 用户邮箱设置 1.打开Exchange Management Shell 使用命令查看默认限制 get-transportconfig | ft maxsendsize, maxreceivesize get-receiveconnector | ft name, maxmessagesize get-sendconnector | ft

高级基础架构专家-Hunter 6098

性价比高的CI/CD平台排行榜

GitHub Actions的深度集成使得用户可以利用GitHub的所有功能,如代码审查、问题跟踪和版本控制等,提供无缝的开发体验。虽然CircleCI的免费版本功能有限,但其付费版本提供了更多的并行构建和更快的构建速度,适合中大型团队使用。其支持多种编程语言和平台,能够满足不同开发团队的需求。Jenkins的开源性质意味着它是免费的,但其高度可定制性和广泛的社区支持也意味着用户可以根据自己的需求进行深度定制和优化。其丰富的插件和扩展功能,允许用户根据需要定制和扩展功能,使其在各类项目中都有广泛的应用。

DevOps_1024的博客 1037

OpenVPN 新增 windows 客户端

虚拟私人网络(Virtual Private Network,简称VPN)是一种网络技术,它允许用户通过公共网络(如互联网)建立一个安全的连接通道。本文介绍如何添加 windows 客户端。

利昂的技术存档 3765

手把手教你用STM32驱动SPL06-001气压传感器(附完整代码与避坑指南)

本文详细介绍了如何使用STM32驱动SPL06-001气压传感器,包括硬件连接、寄存器配置、驱动层实现和数据补偿算法。通过完整的代码示例和避坑指南,帮助开发者快速掌握SPL06传感器的应用技巧,提升嵌入式系统开发效率。

weixin_42552315的博客 292

AI编程成本优化:基于任务分解的模型分工协作方案

在AI辅助编程领域,Token成本控制是开发者面临的核心挑战。Token作为AI模型计算的基本单位,其消耗直接影响开发成本。通过分析不同模型的特性差异,规划型模型擅长架构设计但成本高昂,执行型模型代码生成效率高但缺乏整体规划能力。基于模型分工的技术原理,让专业模型各司其职——Codex负责任务分解规划,DeepSeek专注代码实现,这种协作模式能显著降低Token消耗40-60%。在实际工程实践中,该方案特别适用于复杂业务逻辑、多文件协作的中大型项目,通过智能调度和上下文管理实现成本与质量的最佳平衡。

weixin_30381317的博客 778

Allegro如何进行四层板板层设计

板层的设计

weixin_42499230的博客 3189

如何选择适合PHP项目的CI/CD工具?考虑哪些因素?

选择适合PHP项目的CI/CD工具时,需要综合考虑多个因素以确保所选工具能够满足项目需求并促进团队的工作效率。

长风破浪会有时的博客 406

uniapp中使用canvas生成海报,并下载保存到手机相册

如下图,是在H5中,canvas生成后的效果,首先说明,H5不支持返回图片的临时路径,不能用于保存,APP端生成成功后,会返回图片的临时路径用来保存到相册。本地测试,用的网络图片,没有出现跨域的问题,APP端也正常显示。 完整代码:可以将整个代码复制到你得uniapp项目中直接运行。代码中做了详细的注册,关于API的用法,这里只标注的简单的提示,具体还是参考 官方链接uniapp-canvas吧 <template> <view class="demo"> <c.

sunluyi的博客 3万+

【Matlab】飞行器气动弹性仿真与分析

气动弹性是飞行器设计领域的核心交叉学科,融合了空气动力学、结构动力学和控制理论,主要研究飞行器结构在气动力作用下的弹性变形、振动响应及相互耦合规律,直接影响飞行器的飞行稳定性、操纵性和结构安全性。随着飞行器向高速度、高机动性、轻量化方向发展,气动弹性问题愈发突出,如颤振、发散、嗡鸣等现象,严重时会导致飞行器结构破坏甚至飞行事故,因此气动弹性仿真与分析已成为飞行器设计、验证和优化的关键环节。当前,飞行器气动弹性仿真面临诸多技术挑战:气动力与结构变形的强耦合特性难以精准描述,易出现仿真误差;

unber的博客 233

2026年性价比高的需求管理工具哪个好用?多维度测评与选型

本文从需求覆盖度、协作效率、扩展与集成、价格与成本四个维度,对 ONES、Tower、Jira、Azure DevOps、Asana、Notion 6 款工具进行测评,快速定位最匹配团队现状的选项。

innopmaster的博客 460

Modelsim:LPDDR5仿真(含美光仿真模型官方sv&vcs代码)

虽然,三星在设计跟量产上,早于其他家存储产商,但是镁光后来居上了,是业界首家支持全速 LPDDR5 的供应商,并且开发者在做开发的时候,也是用美光颗粒比较多,所以这里就先以美光的仿真模型为主进行仿真。 本工程为美光官方工程,支持Modelsim、VCS、ncverilog三种仿真器仿真。模型破解过,为完整system-verilog代码。

千歌叹尽执夏的博客 1281

数字化转型浪潮下:如何选择最适合企业的CI/CD工具?

文章摘要 在数字化转型浪潮下,企业面临选择合适CI/CD工具的关键决策。主流工具如Gitee CI/CD适合数据敏感型国内企业,Azure DevOps等则满足大型企业多云需求。轻量级开源工具(Drone、GoCD)和云原生工具(CodeShip、Harness)各具特色。企业选型需考虑团队规模、技术栈和安全合规等因素,避免盲目追求技术先进性,而应注重与业务目标的匹配。成功实施CI/CD的关键在于工具与团队流程的深度融合,通过持续优化释放其价值。

2501_91074808的博客 339

精度与速度双突破:YOLOv8-Pose 在 RK3588 上实现高性能人体姿态分析部署

本教程从YOLOv8-pose模型的姿态识别训练,到RK3588的边缘量化部署,为你打造了一套“高精度+高实时性+低成本”的人体姿态分析解决方案。无论是健身动作纠正、智能安防行为检测,还是工业人员姿态监控,这套技术都能直接复用——你只需替换数据集与业务逻辑,即可快速落地专属的边缘AI姿态识别系统。如果你在实践中遇到任何卡点,欢迎随时交流。记住,人体姿态识别的价值在于“关键点准、推理快、部署易”,而这三者的平衡,正是你通过本教程能掌握的核心能力。

know_F0727的博客 434

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

程序员考证性价比排行榜(含TOP5高含金量证书大曝光)

帮你理清程序员考证价值分析思路,精选5大高含金量证书,覆盖Java、云计算、网络安全等热门方向,结合薪资涨幅与行业认可度评估性价比。实用参考指南,值得收藏。

PixelWander的博客 888

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

中国本土化CI/CD工具Gitee如何助力企业DevOps转型提速40%

更值得一提的是,该企业技术人员反馈,由于Gitee CI/CD的本地化特性,他们在遇到技术问题时能够获得及时的中文支持,这在采用国际产品时是难以实现的便利。Gitee作为国内领先的 代码托管 平台推出的CI/CD服务,凭借其本地化部署和合规优势,正成为越来越多中国企业的首选。一家专注于移动支付的金融科技公司通过Gitee CI/CD的私有构建集群功能,既实现了自动化部署的效率提升,又确保了代码和数据完全在企业内部网络中流转,轻松满足了银保监会的相关合规要求。

weixin_45978350的博客 543

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

免费vs付费:awesome-checker-services中各类检查工具的性价比分析

awesome-checker-services是一个汇集了各类网站、域名和安全检查工具的资源列表,为开发者和网站管理员提供了丰富的选择。本文将深入分析该项目中免费与付费检查工具的性价比,帮助你根据需求做出明智选择。 ## 🔍 为什么需要检查工具? 在当今数字化时代,网站的可访问性、性能、安全性和SEO表现直接影响用户体验和业务成功。无论是个人博客还是企业网站,都需要定期进行多维度检查,以确

gitblog_01050的博客 357

2026年AI测试平台性价比分析:软件测试从业者专业指南

AI测试平台性价比评测与选型指南(2026) 摘要:随着数字化转型加速,AI测试平台已成为软件测试核心工具。本文基于精准度、成本效益、集成性等维度,评测主流AI测试工具。评测显示:Apifox在API测试中性价比最高(4.5/5),mabl适合预算有限团队(4/5),Functionize在AI专项测试表现突出(4/5)。实施建议包括:使用真实数据训练模型、设置合理预期(85%-92%置信度)、定期审计AI代码。未来趋势指向"自主代理"方向,可减少50%人力投入。测试团队应根据项目需求平

2501_94449311的博客 661

用 GitHub Action 构建一套 CI/CD 系统

缘起 Nebula Graph 最早的自动化测试是使用搭建在 Azure 上的 Jenkins,配合着 GitHub 的 Webhook 实现的,在用户提交 Pull Request 时,加个 ready-for-testing 的 label 再评论一句 Jenkins go 就可以自动的运行相应的 UT 测试,效果如下: 因为是租用的 Azure 的云主机,加上 nebula 的编译要求的...

weixin_44324814的博客 1494

企业使用哪款代码管理工具好

极狐GitLab 是企业代码管理工具的优质选择,具有高安全性、灵活的 CI/CD 集成、多样的部署选项、强大的集成与扩展能力、活跃的社区与支持、以及高性价比。影响团队的开发效率。极狐GitLab 的企业版用户可以享受专业的技术支持服务,包括专属客户经理、优先级别支持和定制化服务,确保在使用过程中遇到问题能够快速解决,保障业务的连续性和稳定性。极狐GitLab 的免费版本已经包含了丰富的功能,对于中小型企业和初创团队来说,完全可以满足基本需求,而其高级版本在功能和支持上更加全面,适合大型企业和复杂项目。

DevOps_1024的博客 1577
上一篇: 开源CI/CD工具有哪些推荐
下一篇: 国内有哪些知名的CI/CD服务商
AI工具指南
博客等级 码龄2年 2175粉丝 290原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值