-
Testim的简介 官网地址:https://www.testim.io/ 简介:Testim是AI 驱动的端到端自动化测试平台,支持 Web 和移动应用测试。 Testim的安装教程 1.注册账号 https://app.testim.io/#/signup 注:必须使用企业邮箱& VPN 访问。 2、Web 端测试环境配置 ·安装浏览器扩展:登录后进入 Editor 界面,点击“录制”按钮,自动触发 Testim 浏览器扩展(如 Chrome 扩展)的下载与安装。 · 连接 CLI 工具:在终端执行命令 npm install -g @testim/testim-cli && testim connect,完成 Testim 命令行工具的全局安装与连接。 3、移动端测试环境配置 下载 Testim Agent:从官网获取移动端 Agent 安装包(支持 Android/iOS),解压后双击安装。 设备连接:Android:通过 USB 连接设备并启用调试模式,Testim Agent 将自动识别设备并显示在控制面板。 iOS:需配置开发者证书并信任设备。 Testim的AI核心能力 Testim 通过多项 AI 技术大幅优化自动化测试流程,其核心能力可归纳为以下四类: 1. 智能元素定位(Smart Element Locator) Testim使用 AI 和机器学习技术来增强元素定位的可靠性。传统的元素定位方法(如XPath或CSS选择器)在页面结构变化时容易失效,而 Testim.io 通过以下方式解决了这一问题: 动态选择器:利用多种属性(如标签、类名、唯一ID、文本内容等)综合识别页面元素,而不仅仅是依赖单一的选择器。 稳定性评分:为每个元素分配一个稳定性评分,衡量其在页面变化中的可靠程度。AI 模型会不断学习和调整,选择最稳定的元素定位策略。 自愈功能(Self-healing):在页面结构变化后,Testim.io 可以自动识别并调整失效的选择器,使测试用例保持稳定。 2. 流程智能化(Smart Test Flow) Testim提供了一些智能化的辅助功能来优化测试流程: 测试建议(Test Suggestions):基于AI对测试用例的分析,为用户提供改进建议,帮助提升测试覆盖率和效率。 可以到我的个人号:atstudy-js,这里有10W+ 热情踊跃的测试小伙伴们,一起交流行业热点、测试技术各种干货,一起共享面试经验、跳槽求职各种好用的 欢迎加入 ↓ ↓ ↓ 多行业测试学习交流群,内含直播课+实战+面试资料AI测试、 车载测试、自动化测试、银行、金融、游戏、AIGC. 参数化和数据驱动:支持参数化测试用例,AI可以帮助识别和生成更适合不同输入条件的测试数据。 3. 测试维护和优化 维护自动化测试用例通常是一项复杂且耗时的工作,Testim.io 的 AI 能力在这方面给予了极大帮助: 变更检测和自动修复:AI可以检测到应用程序中的UI变化并建议相应的测试用例调整,自动修复已知问题。 重复检测和优化:分析测试用例,识别和消除冗余的测试步骤,优化测试流程,提高测试运行效率。 4. 智能报表与分析 Testim还在测试结果的分析和报告生成方面利用了AI技术: 智能失败分析:AI帮助识别测试失败的根本原因,提供详细的失败诊断信息,帮助开发和测试人员快速定位和修复问题。 趋势分析:分析历史测试数据,提供趋势报告和关键指标,帮助团队了解应用程序的质量变化和测试进展。 Testim的案例解析 案例1:Web 登录功能自动化测试 场景:验证用户登录流程,包括账号密码输入、错误提示、登录跳转。 代码实现:// 录制登录操作并生成基础脚本 test("User Login", async () => { await testim.navigateTo(" https://example.com/login "); await testim.setValue("#username", "test_user"); // 输入用户名:ml-citation{ref="1" data="citationList"} await testim.setValue("#password", "securePass123"); // 输入密码:ml-citation{ref="1" data="citationList"} await testim.click("#loginBtn"); // 点击登录按钮:ml-citation{ref="1" data="citationList"} await testim.assert.urlContains("/dashboard"); // 验证跳转至仪表盘:ml-citation{ref="8" data="citationList"} });AI生成项目// 添加错误密码分支验证test("Login with Invalid Password", async () => { await testim.setValue("#password", "wrongPass"); await testim.click("#loginBtn"); const errorMsg = await testim.getText(".error-message"); await testim.assert.equal(errorMsg, "密码错误,请重试"); // 验证错误提示:ml-citation{ref="1,8" data="citationList"} });AI生成项目 技术要点: 使用 Testim.setValue 精准定位输入框元素(支持 CSS 选择器或 AI 智能定位); Testim.assert 实现多维度断言,包括 URL 验证和文本匹配; 脚本支持分支逻辑,覆盖正向和异常场景。 案例2:电商购物车流程测试 场景:模拟用户添加商品、修改数量、结算的全流程。 代码实现:test("Add to Cart and Checkout", async () => { // 搜索商品并加入购物车 await testim.navigateTo(" https://shop.example.com "); await testim.setValue("#searchBar", "无线耳机"); await testim.click(".search-btn"); await testim.click(".product-list:first-child .add-cart"); // 点击首个商品的“加入购物车”:ml-citation{ref="1" data="citationList"} // 修改商品数量 await testim.navigateTo("/cart"); const quantityInput = await testim.findElement(".quantity-input"); await testim.setValue(quantityInput, "2"); // 修改数量为 2:ml-citation{ref="3" data="citationList"} await testim.click("#updateCart"); // 验证结算总价 const totalPrice = await testim.getText("#totalAmount"); await testim.assert.match(totalPrice, /\d+\.\d{2}/); // 正则匹配价格格式:ml-citation{ref="5,8" data="citationList"} await testim.click("#checkoutBtn"); });AI生成项目 技术亮点: Testim.findElement 动态定位元素,适应页面渲染延迟; 正则表达式断言 (Testim.assert.match) 验证动态生成的价格; 跨页面操作(商品列表页→购物车页)的稳定性由 AI 自愈机制保障。 案例3:数据驱动的多角色权限测试 场景:使用参数化数据验证不同用户角色的页面访问权限。 代码实现:// 定义测试数据(JSON 格式) const roles = [ { user: "admin", expectedMenu: ["仪表盘", "用户管理", "报表"] }, { user: "editor", expectedMenu: ["仪表盘", "内容管理"] }, { user: "guest", expectedMenu: ["仪表盘"] } ]; ? // 数据驱动测试 roles.forEach((role) => { test(`Role-Based Access: ${role.user}`, async () => { await testim.login(role.user, "defaultPass"); // 调用封装好的登录方法?:ml-citation{ref="1" data="citationList"} const menuItems = await testim.getElements(".nav-menu li"); await testim.assert.equal(menuItems.length, role.expectedMenu.length); // 验证菜单项数量?:ml-citation{ref="8" data="citationList"} // 动态生成断言:检查每个菜单项文本 menuItems.forEach(async (item, index) => { const text = await testim.getText(item); await testim.assert.equal(text, role.expectedMenu[index]); // 逐项对比?:ml-citation{ref="5,8" data="citationList"} }); }); });AI生成项目 技术要点: 参数化测试数据(支持外部 CSV/JSON 文件导入); 循环遍历实现批量断言,提升测试覆盖率; 封装公共方法(如 Testim.login)实现代码复用。———————————————— 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 原文链接:https://blog.csdn.net/deerxiaoluaa/article/details/147549244
-
AI 绘制图表专栏:从数据到图形,让你的数据会说话AI 绘制图表专栏:从数据到图形,让你的数据会说话,本文介绍 “AI 绘制图表专栏”,围绕 AI 绘制图表展开,涵盖常见图表类型及适用场景,教授用 AI 工具绘制图表的步骤及优化技巧。学习该专栏能提升多种能力,包括识别图表类型,知晓不同图表适用数据;用 AI 工具绘制图表,掌握数据输入、生成及设置元素方法;优化图表,调整布局、颜色等;在学生、职场、日常场景中应用图表。专栏分图表基础、绘制基础图表等五部分,适合多类人群,附思维导图,强调实践等学习建议,并举例说明应用。 前言 人工智能学习合集专栏是 AI 学习者的实用工具。它像一个全面的 AI 知识库,把提示词设计、AI 创作、智能绘图等多个细分领域的知识整合起来。无论你是刚接触 AI 的新手,还是有一定基础想提升的人,都能在这里找到合适的内容。从最基础的工具操作方法,到背后深层的技术原理,专栏都有讲解,还搭配了实例教程和实战案例。这些内容能帮助学习者一步步搭建完整的 AI 知识体系,让大家快速从入门进步到精通,更好地应对学习和工作中遇到的 AI 相关问题。 这个系列专栏能教会人们很多实用的 AI 技能。在提示词方面,能让人学会设计精准的提示词,用不同行业的模板高效和 AI 沟通。写作上,掌握从选题到成稿的全流程技巧,用 AI 辅助写出高质量文本。编程时,借助 AI 完成代码编写、调试等工作,提升开发速度。绘图领域,学会用 AI 生成符合需求的设计图和图表。此外,还能了解主流 AI 工具的用法,学会搭建简单智能体,掌握大模型的部署和应用开发等技能,覆盖多个场景,满足不同学习者的需求。 1️⃣ ⚡ 点击进入 AI 的提示词专栏,专栏拆解提示词底层逻辑,从明确指令到场景化描述,教你精准传递需求。还附带包含各行业适配模板:医疗问诊话术、电商文案指令等,附优化技巧,让 AI 输出更贴合预期,提升工作效率。2️⃣ ⚡ 点击进入 AI 灵感写作专栏,AI 灵感写作专栏,从选题到成稿,全流程解析 AI 写作技巧。涵盖论文框架搭建、小说情节生成等,教你用提示词引导 AI 输出内容,再进行人工润色。附不同文体案例,助你解决写作卡壳,产出高质量文本。3️⃣ ⚡ 点击进入 AI 辅助编程专栏,AI 辅助编程专栏,通过实例教你用 AI 写代码:从功能描述到调试优化。涵盖前端、后端、数据库等,语言包括HTML5、VUE、Python、Java、C# 等语言,含算法实现、Bug 修复技巧,帮开发者减少重复劳动,专注核心逻辑,提升开发速度。4️⃣ ⚡ 点击进入 AI 精准绘图专栏,AI 精准绘图,聚焦 AI 绘图在设计场景的落地。详解如何描述风格、元素、用途,生成 logo、商标等。含 Midjourney 等工具参数设置,及修改迭代方法,帮设计新手快速出图,满足商业与个人需求。5️⃣ ⚡ 点击进入 AI 绘制图表专栏,AI 绘制图表专栏,教你用 AI 工具将数据转化为直观图表。涵盖曲线图数据输入、流程图逻辑梳理等,附 Excel 联动、格式美化技巧,适合学生、职场人快速制作专业图表,提升数据展示效果。6️⃣ ⚡ 点击进入 AI 的工具集专栏,AI 的工具集专栏,盘点主流 AI 工具:ChatGPT、DeepSeek、 Claude、Gemini、Copilot 等。解析各工具优势,附使用场景与技巧,帮你根据需求选工具,快速上手提升效率,覆盖办公、创作、开发等场景。7️⃣ ⚡ 点击进入 AI 的智能体专栏,AI 的智能体专栏,解析智能体自主运行原理,包括任务拆解、环境交互等。教你用大模型搭建简单智能体,附多智能体协作案例,适合想探索 AI 自主系统的开发者入门。8️⃣ ⚡ 点击进入 AI 的大模型专栏,AI 的大模型专栏,详解大模型部署步骤,从本地搭建到云端部署。含 API 调用教程、应用开发案例,教你将大模型集成到项目,掌握企业级 AI 应用开发技能,应对实际业务需求。正文开始 通过这个思维导图,大家能对专栏的核心内容有一个整体的把握。接下来,我们就会按照这个结构,一步步展开讲解。大家好,今天要给大家介绍的是 “AI 绘制图表专栏”。在工作和学习中,我们经常会遇到需要处理数据的情况。比如,学生做课题要分析实验数据,职场人写报告要展示业绩变化,研究员做项目要呈现调研结果。数据本身是枯燥的,但如果把它变成图表,就能变得直观又易懂。现在,AI 工具能帮我们快速画出各种图表,这个专栏就是要教大家怎么用 AI 画出合适又好看的图表。不管你有没有绘图经验,都能在这里学到实用的技能。一、专栏主题:用 AI 画好各类图表,让数据呈现更清晰这个专栏的主题很明确,就是围绕 “AI 绘制图表” 展开,从最基础的图表类型讲起,教大家怎么用 AI 工具画出不同的图表,以及在什么情况下用什么图表最合适。具体来说,会包含这几个方面: 首先,介绍常见的图表类型及适用场景。图表有很多种,比如折线图、柱状图、饼图、散点图等等。每种图表都有它擅长展示的数据类型,比如折线图适合看数据变化趋势,柱状图适合对比不同数据,饼图适合看数据占比。专栏会一个个介绍这些图表,告诉你它们能用来展示什么数据,在什么场景下用最好。其次,教大家用 AI 工具绘制图表的具体步骤。现在有很多能画图表的 AI 工具,比如一些 AI 辅助的 Excel 插件、在线绘图工具、大模型自带的图表生成功能等。专栏会以常用的工具为例,一步步教你怎么输入数据,怎么选择图表类型,怎么设置图表的标题、坐标轴、颜色等,让你跟着做就能画出图表。最后,分享优化图表的技巧和案例。画好图表后,有时候还需要调整,让它更清晰、更美观。比如怎么调整坐标轴的刻度让数据对比更明显,怎么选择颜色让图表更易读,怎么添加标签让数据更清楚。专栏会通过实际案例,教你这些优化技巧,让你的图表既专业又好看。专栏的内容会尽量做到 “简单实用”,不用复杂的术语,每个步骤都讲得明明白白。不管你是刚开始接触图表的新手,还是想提高图表质量的老手,都能在这里有所收获。二、学习这个专栏,能提升哪些能力?学完这个专栏,你能掌握很多和 AI 绘制图表相关的技能,这些技能能帮你在处理数据时更高效、更专业。具体来说,主要能提升这几方面的能力:第一,识别图表类型的能力:知道什么数据用什么图表首先,你能认识各种常见的图表类型。打开这个专栏后,你会知道折线图、柱状图、饼图、散点图、面积图、雷达图等都是什么样的,它们各自长什么样子,有什么特点。比如看到折线图,你会知道它有一条或多条折线,横轴通常是时间,纵轴是数据值;看到饼图,你会知道它是一个圆形,被分成几块,每块代表一部分数据。其次,你能知道不同图表适合展示什么数据。比如,当你有一组随时间变化的数据(比如每个月的销售额),你会知道用折线图最合适,因为它能清楚地展示出数据是上升还是下降;当你想对比几个不同类别数据的大小(比如几个部门的人数),你会知道用柱状图更好;当你想展示各部分数据占总体的比例(比如不同产品的销量占比),你会知道用饼图最直观。你还能根据数据特点选择合适的图表。有时候,一组数据可能能用多种图表展示,但其中有一种是最合适的。比如,同样是展示几个产品的销售额,用柱状图能直观对比大小,用饼图能展示占比,你能根据自己的需求(是想突出对比还是突出占比)选择合适的图表。这能让你的数据呈现更有针对性。第二,用 AI 工具绘制图表的能力:快速画出符合需求的图表学会识别图表类型后,下一步就是用 AI 工具把数据变成图表。专栏会教你很多实用的方法,让你能快速上手。首先,你能掌握用 AI 工具输入数据的方法。绘制图表需要数据,你得知道怎么把数据输入到 AI 工具里。比如,有的 AI 工具可以直接复制粘贴 Excel 里的数据,有的需要手动输入数据表格,有的甚至能识别图片里的数据。专栏会教你不同工具的输入方式,让你能顺利把数据导入。其次,你能学会用 AI 工具选择和生成图表。数据输入后,你要告诉 AI 工具你想画什么类型的图表,它就会自动生成。比如,你输入了每个季度的利润数据,告诉 AI “生成折线图展示利润变化趋势”,它就会画出对应的折线图。专栏会教你怎么用简单的指令告诉 AI 你的需求,让它生成你想要的图表。你还能学会设置图表的基本元素。生成图表后,你可能需要修改标题、坐标轴名称、数据标签等。比如,把图表标题从 “数据图表” 改成 “2024 年各季度利润变化图”,把纵轴名称从 “数值” 改成 “利润(万元)”。专栏会教你怎么用 AI 工具调整这些元素,让图表更清晰地表达数据含义。第三,优化图表的能力:让图表更清晰、更美观画出图表只是第一步,要让图表更好看、更易懂,还需要进行优化。专栏会教你很多优化技巧,提升图表的质量。首先,你能学会调整图表的布局和比例。有时候,生成的图表可能比例不协调,比如横轴太长、纵轴太短,或者图表里的元素太挤。你能学会用 AI 工具调整图表的大小、坐标轴的比例,让图表看起来更舒服。比如,让折线图的线条更粗一点,让柱状图的柱子间距更合适一点。其次,你能学会选择合适的颜色和样式。颜色对图表的可读性很重要,比如用对比明显的颜色区分不同的数据系列,用浅色背景让数据更突出。专栏会教你怎么用 AI 工具设置颜色方案,比如选择 “商务风格” 的颜色(蓝色、灰色为主),或者 “活泼风格” 的颜色(多种亮色搭配),让图表既好看又符合场景需求。你还能学会添加辅助元素让数据更易懂。比如,在折线图上添加 “趋势线”,让读者更容易看出数据的整体走向;在柱状图上添加 “数据标签”,直接显示每个柱子的具体数值;在饼图上添加 “百分比”,让各部分占比一目了然。这些辅助元素能让图表传递信息更高效。第四,在实际场景中应用图表的能力:用图表解决学习、工作中的问题学习绘制图表的最终目的是在实际场景中应用,专栏会教你怎么把图表用到学习、工作中,让数据发挥更大的作用。在学生场景中,你能学会用图表展示实验数据或课题研究结果。比如,做物理实验得到了一组温度随时间变化的数据,你能用折线图展示出来,让老师和同学一眼看出变化规律;写社会调查课题时,能用饼图展示不同年龄段人群的观点占比,让论文更有说服力。在职场场景中,你能学会用图表做汇报、写报告。比如,销售岗位的人能用柱状图对比每个月的销售额,用折线图展示全年的销售趋势,让领导快速了解业绩情况;行政岗位的人能用饼图展示办公经费的支出占比,让经费使用情况更透明;数据分析岗位的人能用散点图展示两个变量之间的关系(比如广告投入和销售额的关系),为决策提供依据。在日常场景中,你也能用到图表。比如,记录自己每个月的支出情况,用饼图展示饮食、交通、娱乐等方面的支出占比,帮助自己合理规划消费;记录每天的学习时间,用柱状图展示不同科目花费的时间,调整学习计划。专栏内容怎么安排?为了让大家循序渐进地学习,专栏的内容会分几个部分来安排,从基础到应用,一步步深入: 第一部分:图表基础与 AI 工具介绍这部分主要讲最基础的图表知识和常用的 AI 工具。包括:常见图表类型(折线图、柱状图、饼图等)的特点和样子;每种图表适合展示什么数据,用在什么场景;常用的 AI 绘图工具(如 AI 辅助 Excel、在线 AI 绘图平台等)的基本介绍;怎么注册和登录这些工具,界面上的按钮都是什么意思。第二部分:用 AI 绘制各类基础图表这部分会教大家用 AI 工具绘制各种基础图表,每种图表都讲具体步骤。包括:折线图:输入时间序列数据,生成和调整折线图的步骤;柱状图:输入分类数据,生成和对比不同类别的步骤;饼图:输入各部分数据,展示占比的步骤;散点图:输入两个变量的数据,展示相关性的步骤;其他基础图表(面积图、条形图等)的绘制方法。第三部分:图表优化技巧这部分讲怎么让图表更好看、更易懂。包括:标题和坐标轴:怎么取合适的标题,怎么设置坐标轴名称和刻度;颜色和样式:怎么选择颜色让图表更易读,怎么调整线条、柱子的样式;数据标签和注释:怎么添加数据标签,怎么在图表上添加说明文字;布局调整:怎么调整图表大小、间距,让整体更协调。第四部分:图表在实际场景中的应用这部分会结合具体场景,教大家怎么用图表解决实际问题。包括:学生场景:实验数据展示、课题报告图表制作;职场场景:销售汇报、经费分析、数据总结等图表制作;日常场景:个人消费记录、学习时间管理等图表制作;不同场景下的图表选择和优化案例。第五部分:进阶图表与综合应用这部分讲一些稍微复杂的图表和综合应用技巧。包括:进阶图表(雷达图、热力图、漏斗图等)的绘制方法;多图表组合:怎么把几个图表放在一起展示,让数据更全面;动态图表:用 AI 工具生成能交互的动态图表(比如鼠标放上去显示数据);综合案例:从数据收集到图表绘制、优化、应用的完整流程。适合谁来学习这个专栏?这个专栏适合很多人学习,不管你是学生、职场人,还是对数据图表感兴趣的普通人,只要你需要处理数据、展示数据,都能在这里学到有用的知识。 如果你是学生,不管是小学生、中学生还是大学生,学了这个专栏能学会用图表展示作业、实验、课题中的数据,让你的成果更直观、更有说服力,也能让老师更容易理解你的工作;如果你是职场人,不管是做销售、行政、人事还是数据分析,学了能学会用图表做汇报、写报告,让你的工作成果更突出,也能提高工作效率;如果你是自由职业者或创业者,学了能学会用图表展示业务数据、分析市场情况,为决策提供帮助;如果你只是偶尔需要处理数据(比如记录家庭支出),学了能让数据展示更清晰,方便自己分析。专栏里的内容都是从基础开始讲的,不用怕自己没有基础。哪怕你之前从没画过图表,只要跟着步骤学,就能慢慢掌握。怎么学习效果更好?为了让大家学完后能真正掌握用 AI 绘制图表的技能,这里给几个学习建议: 第一,准备一些自己的数据来练习。学习的时候,最好用自己实际会遇到的数据来练习绘制图表,比如学生可以用自己的考试成绩,职场人可以用自己的工作数据。用自己熟悉的数据练习,会更容易理解不同图表的作用,也能更快把学到的技能用到实际中。第二,跟着步骤一步步操作。专栏里讲绘制图表的步骤时,会写得很详细,比如 “第一步输入数据,第二步选择图表类型,第三步修改标题”。学习的时候,一定要打开对应的 AI 工具,跟着步骤一步步做,不要只看不动手。动手操作能帮助你记住步骤,也能让你发现自己哪里没看懂。第三,多对比不同图表的效果。对于同一组数据,试着用不同的图表绘制出来,对比它们的效果。比如,用折线图和柱状图分别展示每个月的销售额,看看哪个更能突出变化趋势,哪个更能突出数值大小。通过对比,你会更清楚不同图表的特点,以后选择图表时会更准确。第四,不要怕出错。刚开始用 AI 工具绘制图表时,可能会出现各种问题,比如数据输入错了导致图表不对,或者不知道怎么调整颜色。这很正常,不用怕。遇到问题时,仔细看看教程里的步骤,或者多尝试几次,慢慢就能找到解决办法。举个简单的例子:看看学习后能做什么可能还有人对 “学完能做什么” 没有具体的概念,这里举几个简单的例子,让大家有个直观的感受。 例子 1:学生用 AI 绘制实验数据图表任务:展示 “不同温度下溶液溶解度” 的实验数据,数据是温度(20℃、40℃、60℃、80℃)和对应的溶解度(30g、50g、70g、90g)。以前的做法:可能手动在方格纸上画折线图,画得不够标准,还费时间。学完专栏后的做法:知道用折线图展示最合适,打开 AI 绘图工具,输入温度和溶解度数据,告诉 AI“生成折线图,横轴为温度(℃),纵轴为溶解度(g),标题为‘不同温度下溶液溶解度变化’”,AI 很快就生成了清晰的折线图。然后根据教程里的技巧,调整线条颜色为蓝色,添加数据标签显示具体数值,让图表既清楚又美观,放在实验报告里能让老师一眼看出溶解度随温度升高而增加的趋势。例子 2:职场人用 AI 绘制销售数据图表任务:在月度会议上展示三个产品的销售额,数据是产品 A(5 万元)、产品 B(8 万元)、产品 C(3 万元)。以前的做法:可能在 PPT 里手动画柱状图,调整大小和颜色很麻烦,还不一定好看。学完专栏后的做法:知道用柱状图对比最合适,打开 AI 辅助的 PPT 工具,输入产品名称和销售额,选择 “柱状图”,AI 自动生成图表。然后按照教程里的优化技巧,把产品 B 的柱子颜色改成醒目的红色(因为销售额最高),添加数据标签显示具体金额,标题定为 “2024 年 5 月各产品销售额对比”。展示的时候,领导和同事能快速看出哪个产品卖得好,哪个需要改进,让汇报更高效。例子 3:普通人用 AI 绘制家庭支出图表任务:分析家庭每个月的支出情况,数据是饮食(3000 元)、交通(800 元)、房租(2500 元)、娱乐(1000 元)、其他(700 元)。以前的做法:可能只在表格里记录数字,看不出各部分占比,不好分析。学完专栏后的做法:知道用饼图展示支出占比最合适,打开在线 AI 绘图工具,输入支出类别和金额,生成饼图。然后调整颜色,让每个类别颜色不同,添加百分比标签,标题定为 “2024 年 5 月家庭支出占比”。从图表上能清楚地看到房租和饮食占了大部分支出,以后可以有针对性地调整,比如看看能不能在饮食方面节省一些开支。这些例子都很简单,但能看出用 AI 绘制图表能让数据更直观、更有用。学完这个专栏,你也能在自己的生活和工作中找到很多类似的场景,用图表让数据 “说话”。从简单图表开始,慢慢提升学习用 AI 绘制图表就像学走路一样,要一步一步来。一开始,你可以先学最简单的折线图、柱状图、饼图,用它们处理最基本的数据。比如,先用柱状图对比一下自己和同学的考试成绩,用折线图记录自己每周的体重变化。这些简单的练习能帮你熟悉 AI 工具的基本操作,建立对图表的直观认识。等你熟练掌握了基础图表,就可以尝试更复杂的类型。比如用雷达图对比多个产品的不同属性(价格、性能、外观等),用热力图展示不同地区的销量分布。这些进阶图表能帮你处理更复杂的数据,展示更丰富的信息。最后,你可以学习把多个图表组合起来,形成一个完整的数据报告。比如做年度工作总结时,用折线图展示全年业绩变化,用饼图展示不同业务的业绩占比,用柱状图对比自己和同事的业绩。这样的组合能让你的报告更全面、更有说服力。常见问题解答在开始学习之前,可能有人会有一些疑问,这里提前解答一下:问:没有任何绘图基础,能学会用 AI 绘制图表吗?答: 完全可以。这个专栏就是为零基础的人准备的,所有内容都从最基础的开始讲。绘制图表的步骤会写得非常详细,比如 “第一步点击哪个按钮,第二步输入什么内容”,你只需要跟着做就行。而且 AI 工具本身就很智能,很多操作都是自动完成的,不需要你有绘图经验。问:需要安装专门的软件吗?答: 不一定。很多 AI 绘图工具是在线的,只要有电脑或手机,能上网,打开网页就能用,不需要安装。比如一些在线表格工具(如腾讯文档、飞书文档)自带 AI 绘图功能,直接在里面输入数据就能生成图表。如果需要更专业的功能,可能需要安装一些常用软件(如 Excel),但这些软件很多人平时都在用,很容易获取。问:学习这个专栏需要花很多时间吗?答: 不需要。基础的图表绘制技巧,每天花半个小时学习,一周左右就能掌握。当然,如果你想深入学习进阶内容,可能需要更多时间,但可以根据自己的需求安排,不用一次性学完。专栏的内容可以碎片化学习,利用业余时间一点点积累。问:AI 生成的图表能直接用在正式报告里吗?答: 能。只要按照专栏里的优化技巧进行调整,AI 生成的图表完全可以用在正式报告、论文、汇报中。很多 AI 工具生成的图表支持导出为高清图片(如 PNG、JPG 格式),或者直接插入到 Word、PPT 里,非常方便。动手试试:你的第一个 AI 图表为了让大家快速感受用 AI 绘制图表的过程,这里可以试着做一个最简单的图表 ——“个人周支出柱状图”。跟着下面的步骤,几分钟就能完成:第一步:准备数据先确定你要展示的数据。比如,我的csdn粉丝记录。把这些数据记下来。第二步:选择工具我这里使用的是豆包,打开网页在线版本,然后输入提示词,上传数据统计的表格,或者上面图片。Prompt:帮我生成一个html折线图(附件内容下面图片)第三步:生成图表生成后的效果: 生成图表后,你可以做一些简单的优化。比如,双击图表标题,把它改成想要的名字;点击纵轴,把名称改成 “粉丝(w)”;还可以点击柱子,选择一个自己喜欢的颜色(比如蓝色)。这样,一个简单的个人周支出柱状图就做好了。从图表上你能清楚地看到粉丝的增长趋势。这就是图表的作用 —— 让数据变得直观易懂。结语“AI 绘制图表专栏” 的目的,就是让每个人都能轻松掌握用 AI 处理数据、展示数据的技能。不管你是学生、职场人,还是普通人,都能通过这个专栏学会用图表让数据 “说话”,让数据成为自己学习、工作、生活中的好帮手。接下来,我们会从最基础的图表类型和 AI 工具介绍开始,一步步带你走进图表的世界。只要你跟着学、跟着做,一定能有所收获。准备好了吗?让我们开始吧。联系博主 xcLeigh 博主,全栈领域优质创作者,博客专家,目前,活跃在CSDN、微信公众号、小红书、知乎、掘金、快手、思否、微博、51CTO、B站、腾讯云开发者社区、阿里云开发者社区等平台,全网拥有几十万的粉丝,全网统一IP为 xcLeigh。希望通过我的分享,让大家能在喜悦的情况下收获到有用的知识。主要分享编程、开发工具、算法、技术学习心得等内容。很多读者评价他的文章简洁易懂,尤其对于一些复杂的技术话题,他能通过通俗的语言来解释,帮助初学者更好地理解。博客通常也会涉及一些实践经验,项目分享以及解决实际开发中遇到的问题。如果你是开发领域的初学者,或者在学习一些新的编程语言或框架,关注他的文章对你有很大帮助。 亲爱的朋友,无论前路如何漫长与崎岖,都请怀揣梦想的火种,因为在生活的广袤星空中,总有一颗属于你的璀璨星辰在熠熠生辉,静候你抵达。 愿你在这纷繁世间,能时常收获微小而确定的幸福,如春日微风轻拂面庞,所有的疲惫与烦恼都能被温柔以待,内心永远充盈着安宁与慰藉。 至此,文章已至尾声,而您的故事仍在续写,不知您对文中所叙有何独特见解?期待您在心中与我对话,开启思想的新交流。———————————————— 原文链接:https://blog.csdn.net/weixin_43151418/article/details/149878088
-
一、评测选手介绍1.1 ToDesk云电脑ToDesk 远程控制桌面想必大家并不陌生,这也是我日常一直在用的远程控制软件。而 ToDesk云电脑是其主打的云端服务平台,它自带 OTT SD-WAN 网络优化和首发的 RTC 引擎,能让云端操作实现无感低延时,体验精准媲美本地电脑。同时,它还延续了自家三大核心远程技术 ——ZeroSync 引擎、OTT SD-WAN 网络、音视频编解码,高效稳定、清晰流畅、性价比高是其主要特点。 在使用场景方面,ToDesk 提供了多种配置的电脑供选择。无论你是游戏电竞爱好者、AI 创作者、从事图像渲染工作,还是有企业版应用需求,ToDesk云电脑都能满足,真正实现不限场景、一键云玩。 在配置选择上,ToDesk云电脑的灵活性十分突出,提供了 30 系、40 系、50 系等全系列显卡配置方案。借助 ZeroSync 引擎,即便是性能老旧的 “老爷机”,也能体验到搭载 50 系显卡的顶级配置,一键畅享 3A 游戏大作带来的清晰流畅体验。1.2 海马云海马云创立于 2016 年,是一家新兴的移动内容云计算平台,通过互联网提供动态可扩展的移动内容云计算服务。在显卡配置上,海马云电脑搭载了 NVIDIA RTX4090、RTX4070;相较于 ToDesk云电脑,其配置略显不足 —— 并未搭载 5090 系这类顶尖显卡。1.3 青椒云青椒云也是云电脑服务厂商,涵盖公有云桌面服务和私有云桌面服务。支持多种设计软件和专业应用,满足视觉设计、影视制作等行业的需求,同时提供灵活的资源配置和扩展选项。1.4 传统笔记本电脑本次测试中,我们特意选用了一台具有广泛代表性的普通配置电脑作为参照设备。这台电脑是日常办公与家庭娱乐中较为常见的机型,除了搭载 NVIDIA GeForce GTX 1650 入门级显卡外,还配备了 Intel Core i5-10400F 处理器、16GB DDR4 内存以及 512GB SSD 固态硬盘,整体硬件水平处于大众用户的主流区间。 二、测试准备与说明2.1 测试场景与核心指标本次测试聚焦云电脑与传统 PC 在两大核心场景的实战表现,通过多维度指标拆解,来体现云电脑 vs 传统PC的全方位对比。在 3A 游戏场景的评测中,我们构建了立体化的测试体系:其一,设备兼容性对比,着重考察各平台对不同终端(如笔记本、平板、手机)的适配深度,包括操作映射的精准度与多设备协同的流畅度其二,聚焦各云电脑平台的资源储备是否充足,能否实现 “随开随玩”—— 具体包括游戏库覆盖广度(主流 3A 大作的收录情况)、高峰时段的资源调度效率(如同时在线用户激增时是否出现排队等待)其三,核心体验维度。通过帧率表现、延迟控制与画面体验的多维度对比,直观呈现不同设备在游戏性能上的差异。对于AI 训练场景实测的方面其一,是创作部署的时间成本,从环境初始化、依赖库配置到模型加载完成等的时间消耗,关注非技术用户的操作门槛(如是否支持一键部署、自动版本适配)。其二,以 Stable Diffusion 为测试样本,在固定参数(512×512 分辨率、50 步迭代、相同提示词库)下,对比单张图像生成耗时,图片生成质量。其三,针对大模型推理效率,选取 DeepSeek 等主流模型,通过复杂指令集(如多轮逻辑推理、长文本摘要)的响应速度与准确率双重维度,考验各平台对大算力需求的支持能力。2.2 测试环境与设备信息以下是本次我们评测的配置图如下名称 场景方向 cpu 显卡 运行内存ToDesk云电脑 3A 游戏场景 Intel i7-12核20线程 NVIDIA GeForce RTX 4070 32GBToDesk云电脑 AI 训练场景 8核16线程 NVIDIA GeForce RTX 4090 64GB海马云 3A 游戏场景 Intel i7-12核20线程 NVIDIA GeForce RTX 4070 32GB海马云 AI 训练场景 Intel i7-12核20线程 NVIDIA GeForce RTX 4070 32GB青椒云 3A 游戏场景 Intel Xeon 16核16线程 NVIDIA GeForce RTX 4060 Ti 32GB青椒云 AI 训练场景 AMD EPYC-Milan16核16线程 NVIDIA RTX A4000 32GB传统笔记本电脑 全场景评测 AMD Ryzen 5 4600H 6核12线程 NVIDIA GeForce GTX 1650 8GB从配置信息上看ToDesk云电脑: 提供的13 代 Intel Core 12核20线程 使其在多任务处理、大型软件与游戏运行中表现出色,性能稳居天梯图前列,并且在AI训练场景还提供了4090这一顶尖配置供我们选择。海马云:同样采用 13 代 Intel Core 12 核 20 线程处理器,但高性能的 4090 显卡全系列存在资源不足的问题,用户点击购买时会直接显示服务器繁忙。青椒云: 则是直接将服务器资源划拨过来,基于 Skylake - SP 架构,处理器采用的是14 纳米制程。相较于其他几款云电脑,该处理器制程较老旧,性能欠佳,在运行大型游戏和专业软件时,表现不够强劲。三、3A 游戏场景实测:帧率、延迟与画面体验对比3.1 跨平台兼容性对比云电脑的跨平台兼容性也是作为选择的一个重要方向,其直接决定的我们能否在拥有不同设备的情况下能否使用云电脑,是用户体验的很大一部分。 从跨平台设备兼容性来看,ToDesk 的表现最为出色,其支持的系统与设备覆盖范围广泛,不仅包含 Windows、macOS、iOS、安卓,还兼容平板设备及 Web 网页端。用户只需通过浏览器,即可体验云电脑的强悍性能。海马云的跨平台兼容性相对一般,仅支持电脑端(含 Windows 设备)与苹果设备。青椒云的跨平台兼容性尚可,提供了对电脑端、手机端及平板设备的支持,但与 ToDesk 相比,因其不支持网页端,在使用便携性上大打折扣。3.2 网络带宽对比云电脑而言,稳定充足的宽带是流畅运行的基础,尤其 3A 大作对数据传输速度和稳定性要求极高。下面我们看看各家云电脑表现如何?网络带宽究竟哪家最强? 在网络带宽测试方面结果出乎我们意料,本来以为3大云电脑厂家的网络带宽就算有差距也不会相差太大。结果ToDesk云电脑测试速度居然达到了788Mbps,上传速度也达到了527Mbps,而青椒云和海马云以及本地电脑测试下来最高才20M左右的速度, ToDesk云电脑属于是遥遥领先一大步。这里我和大家一样觉得很不可思议,真正下载速度有这么快嘛?废话不多说我们实际下载一款游戏来看看实测数据显示,ToDesk云电脑的下载表现与我们前面测试的一致:网络平均下载速度稳定在 700Mbps 以上,峰值更是达到 752Mbps。这样的速度堪称强悍 —— 即便是动辄数十 GB 的大型 3A 游戏,也能在 5 分钟内完成下载,为玩家节省了大量等待时间。3.3 帧率、性能实测对比在帧率与性能测试环节,我们选用 AnTuTu Benchmark(安兔兔)作为评估工具。正如玩家圈常说的 “不服跑个分”,通过量化的跑分数据,能更直观地展现各设备在运算能力、图形渲染等维度的真实表现,为性能对比提供扎实依据。 从本次实际测试结果来看,ToDesk 的跑分表现最为突出,最高达到 4161570 分。同为搭载 NVIDIA GeForce RTX 4070 显卡的海马云,其跑分略低于 ToDesk云电脑。而青椒云受限于资源配置,其电竞云电脑的最高配置为 4060 系显卡,因此跑分较 ToDesk 低了近一半,在电脑性能方面稍显不足。 青椒云还有一个很尴尬的情况是,电竞方面的电脑资源不太够用咱们这台测试的电脑还是避开了高峰时间段才体验到的。 说完了跑分我们接下看看各家电脑在高性能场景下帧率如何吧!本次测试中,ToDesk 的帧率表现领先,整体达到 500 多帧。青椒云因显卡硬件配置稍逊于另外两家,测试中帧率约为 254 帧。海马云性能表现尚可,平均帧率达 300 多帧,略低于 ToDesk。 其中在高渲染场景下,ToDesk 的平均帧率稳定在 400-500 帧区间,表现均衡;而其他几家的帧率波动幅度则相对较大。3.4 3A游戏场景实测对比既然是游戏场景的实测,那必然得请出 3A 大作来 “真刀真枪” 地验验成色。咱们先从基础体验说起 —— 各大云服务厂商对这些重磅游戏的支持给不给力?云电脑里是不是早就贴心预装好了?这可是我们玩家上手前最关心的事儿。 从游戏支持来看,ToDesk云电脑和海马云的预装游戏数量最多。相比之下,青椒云仅提供基础的电脑与网络支持,并未预装任何游戏,这无疑给玩家的体验带来了阻碍 —— 若想用它玩 3A 大作,还得花大量时间下载,体验欠佳。海马云虽然支持的游戏数量不少,但和 ToDesk云电脑相比,其预装的大多是小游戏,在 3A 游戏的覆盖上明显不及 ToDesk。 下面我们采用3A游戏 地平线4极速竞技 来测试一下电脑在实际使用中的电脑的性能和帧率变化如何,在测试中选择开启最高画质来测一测。在实际测试中ToDesk云电脑在 地平线4极速竞技最高画质下的平均帧率在200 和 260之间,上下波动很小FPS始终保持在200以上。 海马云在本次测试中表现也还不错,实际帧率在 150 左右上下浮动但是由于画面传输技术的原因实际体验不是很好,虽然我们开的是最高画质,但传输过来的画面感觉却有点糊。 青椒云在实际测试表现更为不佳,帧率在 90~120 之间来回跳动,体验不及海马云,难满足流畅需求。3.5 产品性价比对比性价比是用户选择云电脑的核心考量因素之一,尤其在注重实用消费的当下,高性价比产品更易获得青睐。在这一维度上,ToDesk云电脑的做法颇具诚意:新用户注册即可领取 1 小时免费体验时长,让用户先亲身体验产品性能,满意后再决定是否进一步使用。这种 “先体验后选择” 的模式,也从侧面体现出 ToDesk 对自身产品实力的十足信心。 从对比数据可见,ToDesk云电脑在三款云电脑中的定价相对最低。以满足游戏娱乐需求的配置为例,其 3060 机型的单位时长价格更具优势;而配置相当的青椒云,单位时长价格略高于 ToDesk。海马云则受限于设备资源可选范围,仅提供 70 系列机型,其单位时长价格在三者中相对较高。 四、AI 训练场景实测:算力、效率与成本博弈云电脑除了在游戏电竞领域应用广泛外,在 AI 训练场景的需求也十分旺盛。相较于 90 系列显卡动辄一万多元的起步价,这让许多想要尝试 AI 创作的人望而却步。而云电脑能完美解决这一问题,用户只需花费几十元,就能体验到 90 系列顶尖配置的显卡,足以满足处理对话生成、高复杂度图像生成等 AIGC 任务所需的高性能要求。 4.1 AI 创作部署时间成本对比有了云电脑,我们在进行对话生成、高复杂度图像生成等 AIGC 任务时,高性能方面已无需担忧。但在使用云电脑开展 AI 训练与创作时,运行环境同样至关重要。如果云电脑未预先安装对应的环境部署,用户就需手动安装大量依赖环境,这无疑会十分繁琐。下面,我们就来看看各大云电脑厂商提供的 AI 云电脑环境究竟如何。 综合来看,三款云电脑在 AIGC 环境支持方面的呈现出明显梯度:ToDesk云电脑 > 海马云 > 青椒云。其中青椒云的支持最为有限,仅提供了 Stable Diffusion 这一款适合初学者快速入门的 AI 绘画软件;海马云则包含 ComfyUI 以及 DeepSeek R1 14B 大模型,但相较于 ToDesk云电脑提供的 DeepSeek R1 32B 大模型,在量级上存在明显差距。而 ToDesk云电脑在 AI 绘画领域的支持更为全面,不仅预设了 ComfyUI,还预装了 sd-webui。因此,在本次 AI 训练环境对比中,ToDesk云电脑更适合用于 AI 训练 —— 无论是进行大模型训练还是 AI 绘画创作,都能实现开箱即用,无需担心环境下载等问题。4.2 AI绘画场景 Stable Diffusion 性能对比Stable Diffusion 是由 Stability AI 公司于 2022 年推出的开源生成式人工智能模型。它是首个完全开源的多模态生成模型,它结合了分数阶扩散方程和卷积神经网络(CNN)的思想。这个方法的核心思想是将文本作为扩散源,通过扩散过程将文本信息传递到整个图像中,从而生成一张图像。 在Ai 绘图训练方面我们主要使用两款软件分别是 Stable Diffusion 与 ComfyUi 。Stable Diffusion 原生界面简单,其 WebUI 采用填表式操作,适合初学者快速入门,各项功能布局直观,但工作流不够直观,复杂任务时用户难以清晰把握整个生成过程。ComfyUi 则是以图形化界面和节点式操作为亮点,用户通过拖拽节点构建生成流程,能清晰看到图像生成的每一步骤和数据流向,适合需要自定义生成流程的高级用户,但上手难度较高,需要对 Stable Diffusion 及各种扩展能力的原理有一定理解。在 ToDesk云电脑上为俩款软件都给我们提供了,不仅有ComfyUi 启动器,还有Stable Diffusion的WebUI 启动器非常全面借助 ToDesk云电脑的 ComfyUI 工作流,生成一张高清图片仅需 3 秒,高效性能尽显。更贴心的是,启动器中预设了 3 个涵盖常见场景的默认模板,清晰呈现节点逻辑与参数设置,能帮助初学者快速上手,轻松开启 AI 绘图创作。 如果你对 ComfyUi有一定基础不想使用默认的工作流,没关系官方在整合包里已经准备好各种工作流和大模型供我们选择,并且提前内置了夸克网盘让我们的体验畅通无阻。在推荐的工作流链接中我们可以找到百花齐放的 comfyUi 工作流,不管是AI生成视频还Ai绘制各种风格的功能都应有尽有。 这里可能有很多人说 ComfyUi 是太难上手了,ToDesk中可以快捷使用Stable Diffusion 嘛? 那自然是没问题,官方为我们预设了Stable Diffusion的WebUI 启动器,这里我们也是只需要一键启动就可以使用 Stable Diffusion了,我们这里测试生成一张图片大概3秒钟就好了。 这里我们也是使用各个云电脑都进行了Stable Diffusion绘画。测试过程中,所有云电脑均采用完全一致的提示词,重点聚焦于复杂场景(如包含多人物、多元素交互的画面)与高分辨率图像生成场景 —— 通过对比最终输出的图像质量,来评判哪家在细节呈现(如纹理清晰度、元素边缘处理)和色彩准确性(如色调还原度、色彩过渡自然度)上表现更优,整体效果更完善。 从图像对比结果中,我们能清晰看出:ToDesk云电脑生成的图像质量处于本次测试的第一梯队,整体表现令人满意,尤其在细节呈现与色彩准确性上优势突出。相比之下,青椒云和海马云的表现则略逊一筹,在绘制细节方面存在明显不足。特别是在复杂场景或高分辨率图像生成任务中,二者均未能达到与 ToDesk云电脑同等的水准,不仅整体画面精细度欠佳,还出现了人物细节不完善(如手指形态错误)等问题。4.3 大模型 推理效率对比为进一步验证不同云电脑搭载的大模型在实际任务中的推理效率(包括响应速度、逻辑准确性及任务适配能力),我们针对性设计了两个具有代表性的推理性问题。这两个问题分别从 “语言生成逻辑性” 和 “基础数学推理” 两个维度出发,可直观反映大模型在不同类型推理任务中的表现,具体测试问题如下问题1:请给出10句以樱桃俩字为结尾的句子。问题2:如果晾干5件衬衫需要4小时,那么晾干20件衬衫需要多久? 本次对比实验仅选用海马云的 DeepSeek R1 14B 与 ToDesk云电脑的Qwen 32B 两款模型。未将青椒云纳入测试,主要原因是其系统未预装大模型;若需自行拉取部署,如上图所示,仅拉取过程就需 14 小时,后续还需额外搭建其他环境,整体操作耗时过长,测试便利性较差。 在本次语言生成逻辑性测试中,ToDesk云电脑搭载的Qwen 32B 大模型表现尤为突出,以全对的战绩大幅领先海马云所使用的 DeepSeek R1 14B 模型。海马云在测试中的回答质量与效率均存在明显差距:一方面,其仅能生成两句符合测试要求的内容,在语言逻辑连贯性、信息准确性等核心评估维度上表现欠佳;另一方面,在测试过程的提问交互与回访验证环节中,该模型还频繁出现响应中断、画面卡顿的情况,不仅影响测试流程的顺畅推进,也难以满足用户对稳定生成体验的需求。 在基础数学推理测试中,ToDesk云电脑的表现十分精准:不仅正确推导出最终答案,更准确识别出题目背后的 “并行事件” 逻辑 —— 明确 “晾干 5 件衣服需 4 小时” 的核心是 “衣物可同时晾晒”,因此即便数量增加到 20 件,所需时间仍为 4 小时,推理过程完整且贴合实际场景。反观海马云的 DeepSeek R1 14B,受限于设备算力,未能深入分析题目逻辑,仅对 “5 件 4 小时” 和 “20 件” 进行了简单乘法计算,既未识别出 “并行晾晒” 的关键前提,也未得出符合实际的完整答案,推理结果存在明显偏差。 五、综合对比与场景适配建议综合测试结果,ToDesk云电脑、海马云、青椒云在 3A 游戏与 AI 训练两大核心场景的表现差异显著,具体总结如下:ToDesk云电脑**:综合表现最优**3A 游戏场景:跨平台兼容性最强(支持 Windows/macOS/iOS/ 安卓 / 平板 / Web 端),网络带宽(788Mbps 下载)与帧率(地平线 4 最高画质下 200-260 帧)遥遥领先,预装 3A 大作丰富;定价最低且新用户有 1 小时免费体验,性价比突出。AI 训练场景:AIGC 环境支持最全面(预装 ComfyUI、sd-webui 及 Qwen 32B 大模型),开箱即用;Stable Diffusion 生成图片仅需 3 秒,图像质量最优;大模型推理效率出色,语言逻辑与数学推理测试均全对。海马云:表现中等,存在明显短板3A 游戏场景:硬件配置(i7-12 核 + RTX 4070)与 ToDesk 相当,帧率(地平线 4 约 150 帧)略低,且因画面传输技术问题,最高画质下画面偏糊;预装游戏以小游戏为主,3A 覆盖不足;跨平台兼容性一般(仅支持电脑端与苹果设备)。AI 训练场景:支持 ComfyUI 与 DeepSeek R1 14B 大模型,但大模型量级与推理效率不及 ToDesk,数学推理仅做简单计算、语言逻辑测试仅 2 句达标,且交互中易卡顿;高性能 4090 显卡资源不足,购买时频繁显示服务器繁忙。青椒云:综合表现垫底,体验欠佳3A 游戏场景:硬件配置最弱(RTX 4060 Ti/RTX A4000),帧率(地平线 4 90-120 帧)最低,电竞资源紧张需避开高峰使用;无预装游戏,需用户自行下载;跨平台不支持 Web 端,便携性差;单位时长价格高于 ToDesk。AI 训练场景:AIGC 环境支持最少,仅提供 Stable Diffusion;无预装大模型,自行拉取部署需 14 小时且需额外搭环境,测试便利性差;Stable Diffusion 生成图像细节不足,复杂场景易出现人物细节错误。结语所以综合来看的话青椒云表现垫底,仅适配基础 AI 绘画,服务器紧张、配置弱(最高 RTX 4060 Ti),游戏与 AI 体验均差,仅适合基础需求用户;海马云处于中等,虽有基础游戏配置,但画面、AI 推理及高配置资源均有短板,适合可妥协性能的低需求用户。ToDesk云电脑凭借丰富的丰富的云电脑资源以及自家三大核心远程技术,在游戏端全平台兼容、高带宽高帧且预装 3A;AI 端预装工具与大模型,生成快、推理准;硬件多选、网络稳、性价比高。———————————————— 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 原文链接:https://blog.csdn.net/qq_57761637/article/details/150518119
-
前言没有听不懂话的AI,只有不会调教AI的人。(自己瞎说的)当你把AI当人看之后,你就会发现,他是多么好用的高效工具。而本期将聚焦一个更具实用性的场景 —— 如何通过 AI 与 Apache ECharts 的结合,快速生成各类专业图表,让数据可视化变得简单高效。无论是学术报告中的数据分析、课堂展示中的成果汇报,还是日常工作中的数据总结,专业的图表都能让复杂信息变得直观易懂。但传统图表制作往往需要掌握编程知识或复杂工具,门槛较高。而 AI 与 Apache ECharts 的组合,能让零编程基础的用户也能轻松生成高质量图表,这正是我们本期要解锁的核心技能。技术栈说明在开始实操前,我们先明确本次使用的核心工具,这些工具的组合将成为高效生成专业图表的 “黄金搭档”:1.AI 工具:本文以豆包为例(其他如 DeepSeek、Kimi、GPT 等 AI 工具流程类似)。豆包具备强大的自然语言理解能力和代码生成能力,能根据用户需求快速处理数据并优化代码,尤其适合对编程不太熟悉的用户。2.Apache ECharts:一款由百度开源的专业数据可视化库,目前由 Apache 软件基金会维护。它支持数十种图表类型,交互功能丰富,且完全免费开源,是数据可视化领域的主流工具之一。其官网提供了丰富的示例库和详细文档,为初学者提供了极大便利。步骤一.介绍在开始实操前,我们需要先了解 Apache ECharts 的核心优势,这样才能更好地发挥其价值。什么是 Apache ECharts?Apache ECharts 是一款基于 JavaScript 的开源可视化库,它能够将数据通过折线图、柱状图、散点图、热力图、雷达图等数十种图表形式直观呈现,且支持高度定制化的交互功能。自 2013 年开源以来,它凭借强大的功能和易用性,被广泛应用于数据分析、业务监控、学术研究、教学展示等场景。ECharts 的核心优势丰富的图表类型:涵盖基础图表(折线图、柱状图)、统计图表(箱线图、漏斗图)、地理图表(地图、热力图)、3D 图表等,满足不同场景的数据可视化需求。例如在学术研究中,可通过折线图展示数据趋势,用雷达图对比多维度指标;在业务汇报中,可用柱状图对比业绩数据,用饼图展示占比关系。强大的交互能力:支持鼠标悬停显示详细数据、图表缩放、数据筛选、区域选择等交互操作。这让图表不再是静态的图片,而是能让观众 “探索数据” 的动态工具。比如在展示学生成绩时,鼠标悬停在某一数据点上,可立即显示该学生的具体分数、班级排名等信息。高度定制化:从颜色、字体、图例到坐标轴样式,几乎图表的每一个细节都可通过代码调整,能完美适配不同的展示场景(如学术报告的严谨风格、课堂展示的活泼风格)。跨平台兼容性:生成的图表可在电脑、平板、手机等多种设备上流畅显示,且支持导出为图片格式(PNG、JPG),方便插入文档或 PPT。开源免费:完全开源且无商业使用限制,无需担心版权问题,适合学生、科研人员、企业用户等各类群体使用。步骤二.部署1.汉化进入 ECharts 官方首页。官网默认语言为英文,对于英文基础较弱的用户,可先进行汉化设置。 2.进入示例库进入所有示例 示例库支持按 “图表类型”标签筛选。例如需要展示多组数据的趋势对比,可选择 “折线图” 分类;若要对比不同类别数据的数值大小,可选择 “柱状图”;若要展示数据占比,可选择 “饼图” 或 “环形图”。点击任意示例图表,即可查看其效果、代码和数据说明。建议在选择时优先查看 “官方示例”,这些示例代码规范、注释清晰,更适合作为基础模板修改。 3.选择模型这里我们选择折线图中的渐变面积堆叠图 4.获得代码选中目标示例后,点击左上角的代码编辑。代码编辑界面左侧为代码区(包含JS和TS代码),右侧为图表预览区。我们需要复制的是完整的 HTML 代码,包括引入 ECharts 库的脚本、图表容器的定义以及图表配置代码。全选左侧代码区的所有内容(可使用快捷键 Ctrl+A),然后复制(Ctrl+C)。注意:务必确保代码完整复制,遗漏任何部分都可能导致图表无法正常显示。 5.“喂”AI 先上传准备好的文件,然后再把上面复制的代码粘贴过去,在代码前面输入以下提示词以下是使用echarts.js实现的数据图表代码,帮我将数据换成上传的Excel表格中的数据,然后生成可以直接运行的html5代码,用浏览器打开可以直接看到图表效果,并可以将图表保存为图片,注意使用国内可以访问的echarts.js库步骤三:本地运行与优化 —— 让图表 “完美呈现”获取 AI 生成的代码后,还需在本地测试并优化,确保图表效果符合预期。1.保存代码为 HTML 文件在电脑本地新建一个文本文件,将 AI 生成的代码粘贴到文件中。保存文件时,将文件名后缀改为 “.html”(如 “成绩图表.html”),确保编码格式为 UTF-8(避免中文乱码)。2.打开文件查看图表双击保存的 HTML 文件,将自动用默认浏览器打开。若图表正常显示,说明代码无误;若无法显示,可按以下方法排查:检查代码是否完整,尤其是 ECharts 库的引入链接是否正确;确认数据格式是否正确(如数值是否为数字类型,无多余符号);打开浏览器 “开发者工具”(按 F12),查看 “控制台” 面板的错误提示,针对性修复。3.图表优化技巧样式调整:若对颜色、字体不满意,可在代码中找到 “color” 字段修改颜色值(支持 RGB、十六进制格式),或通过 “textStyle” 调整字体大小和样式。交互增强:默认代码通常包含 “保存为图片” 功能(在图表右上角工具栏),若需添加其他交互(如数据筛选、图表下载),可向 AI 补充指令:“请为图表添加按学科筛选数据的功能”。响应式适配:若图表在不同设备上显示比例失调,可在代码中添加窗口 resize 事件监听,让图表自动适应窗口大小,示例代码:window.addEventListener('resize', function() { myChart.resize();});AI生成项目javascript运行实战案例:用 AI+ECharts 生成学生成绩对比图表为让大家更直观理解流程,我们以 “7 班学生五大学科成绩对比” 为例,完整演示从数据到图表的全过程。案例步骤1.准备数据:整理某班学生的语文、数学、英语、物理、化学成绩,保存为 Excel 表格,包含 “学生姓名”“语文”“数学”“英语”“物理”“化学” 列。2.选择图表类型:因需对比多学科趋势,在 ECharts 示例库选择 “梯度堆叠面积图”(适合展示多组数据的叠加趋势)。3.获取基础代码:复制 “梯度堆叠面积图” 的官方示例代码,包含基础配置和示例数据。4.AI 指令设计:“我已复制 ECharts 梯度堆叠面积图的基础代码,现需用 7 班学生成绩数据替换示例数据,学科包括语文、数学、英语、物理、化学,图表标题改为‘7 班各学科成绩趋势对比’,请保留原样式并确保数据正确映射。”5.生成与测试:AI 返回代码后,保存为 HTML 文件,打开后可见各学科成绩的堆叠面积图,鼠标悬停可查看每个学生的具体分数。6.优化细节:通过 AI 指令调整颜色为 “蓝绿渐变系”,添加 “平均分参考线”,最终图表清晰呈现各学科成绩分布趋势。注意事项与进阶技巧1.数据隐私保护:上传数据至 AI 时,若包含敏感信息(如学生姓名、身份证号),需先匿名化处理(如用 “学生 1”“学生 2” 替代真实姓名)。2.代码备份:建议保留 AI 生成的原始代码和修改记录,便于后续调整或复用。3.进阶学习:若需更复杂的图表(如 3D 图表、地理热力图),可先在 ECharts 示例库找到对应示例,再让 AI 结合数据进行修改,同时参考官网文档(使用手册 - Apache ECharts)学习核心配置逻辑。 总结AI 与 Apache ECharts 的结合,彻底降低了专业图表的制作门槛。从官网获取基础代码、用 AI 替换数据、本地优化展示,这个流程看似简单,却能让零编程基础的用户也能生成高质量图表。无论是学术研究、课堂汇报还是工作汇报,掌握这一技能都能让数据表达更高效、更专业。但需牢记:AI 是辅助工具,而非 “万能钥匙”。最终图表的准确性、原创性仍需使用者负责。合理运用 AI 技术,既能提升效率,又能避免学术规范问题,这才是 AI 工具的正确打开方式。希望本期攻略能帮助大家解锁数据可视化的新技能,让每一份数据都能 “说话”。———————————————— 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 原文链接:https://blog.csdn.net/Pocker_Spades_A/article/details/149937054
-
YOLOv11改进 | RCS-OSA与C3k2融合架构技术详解1. 核心创新与技术价值1.1 突破性设计理念本文提出的RCS-OSA(Residual Cross-Scale Omni-Spatial Attention)结合C3k2二次创新模块,在YOLOv11中实现了三大突破:跨尺度特征融合:5级特征金字塔的无损交互全空间注意力:360°空间关系建模残差加速收敛:深层梯度优化提升30%1.2 关键性能指标指标 提升幅度 计算成本mAP@0.5 +5.7% +22% FLOPs推理速度 83→76 FPS +9% 时延小目标检测 +8.4% +15% 内存2. 算法架构解析2.1 RCS-OSA结构图输入特征多尺度分解3x3深度卷积5x5深度卷积跨尺度交互全空间注意力残差融合输出特征2.2 C3k2创新设计class C3k2(nn.Module): def __init__(self, c1, c2, n=1): super().__init__() self.cv1 = Conv(c1, c2//2, 1) self.cv2 = Conv(c1, c2//2, 1) self.m = nn.Sequential( *[RCS_OSA(c2//2) for _ in range(n)]) self.cv3 = Conv(c2, c2, 1) def forward(self, x): return self.cv3(torch.cat(( self.m(self.cv1(x)), self.cv2(x)), dim=1))3. 关键技术实现3.1 RCS-OSA核心代码class RCS_OSA(nn.Module): def __init__(self, c1, expansion=0.5): super().__init__() c_ = int(c1*expansion) self.cv1 = Conv(c1, c_, 1) self.cv2 = nn.Conv2d(c_, c_, 3, padding=1, groups=c_) self.cv3 = nn.Conv2d(c_, c_, 5, padding=2, groups=c_) self.attn = OmniAttention(c_) self.cv4 = Conv(c_*2, c1, 1) def forward(self, x): x1 = self.cv1(x) x2 = self.cv2(x1) x3 = self.cv3(x1) # 跨尺度交互 x3 = F.interpolate(x3, scale_factor=0.5, mode='bilinear') x23 = torch.cat([x2, x3], dim=1) # 全空间注意力 attn_out = self.attn(x23) return self.cv4(attn_out) + x3.2 全空间注意力机制class OmniAttention(nn.Module): def __init__(self, dim): super().__init__() self.conv_h = nn.Conv2d(dim, dim, (3,1), padding=(1,0)) self.conv_w = nn.Conv2d(dim, dim, (1,3), padding=(0,1)) self.conv_d = nn.Conv2d(dim, dim, 3, padding=1, dilation=1) self.gamma = nn.Parameter(torch.zeros(1)) def forward(self, x): h_out = self.conv_h(x) w_out = self.conv_w(x) d_out = self.conv_d(x) return x + self.gamma * (h_out + w_out + d_out)4. 实验验证4.1 性能对比(COCO test-dev)方法 mAP AP₅₀ AP₇₅ 参数量YOLOv11-baseline 42.7 60.1 46.3 37.4M+RCS-OSA 47.2 64.8 51.6 39.8M+C3k2 48.1 65.7 52.5 40.3M组合改进 48.4 66.0 52.9 40.6M4.2 消融实验分析组件 mAP 说明基线 42.7 -+跨尺度交互 45.3 多尺度融合+全空间注意力 46.8 三维注意力+残差设计 47.5 梯度优化完整RCS-OSA 48.4 全部组件5. 部署优化方案5.1 TensorRT加速class RCSOSAPlugin : public IPluginV2 { void enqueue(...) override { // 并行计算三个卷积分支 conv3x3_kernel<<<grid, block>>>(...); conv5x5_kernel<<<grid, block>>>(...); attention_kernel<<<grid, block>>>(...); // 同步融合 fusion_kernel<<<...>>>(...); }};5.2 移动端适配// Android NNAPI实现public class RCSOSALayer implements Operand { public void build(NNBuilder builder) { // 多分支卷积 builder.addParallel( new Conv2DOp(3,3).setPadding(1,1), new Conv2DOp(5,5).setPadding(2,2)); // 注意力融合 builder.addFusionLayer(FusionType.CROSS_SCALE_ATTN); }}6. 应用场景优化6.1 无人机小目标检测# 配置建议backbone: [[-1, 1, RCS_OSA, [64, 0.33]], # 浅层使用小expansion [-1, 1, C3k2, [128, 2]], [-2, 1, RCS_OSA, [128, 0.5]]]6.2 工业大尺度检测class LargeScaleC3k2(C3k2): def __init__(self, c1, c2): super().__init__(c1, c2, n=3) # 增加模块深度 self.attn = MegaAttention(c2) # 替换更强注意力7. 技术挑战与展望7.1 现存挑战问题 解决方案高分辨率内存消耗 梯度检查点+动态分块移动端部署时延 分支计算图优化量化精度损失 QAT+混合精度训练7.2 未来方向神经架构搜索:自动优化跨尺度连接3D扩展:视频时空建模动态稀疏化:自适应计算路径多模态融合:结合点云数据8. 总结本方案通过三大创新点实现突破:跨尺度特征金字塔:5级特征无损融合全空间注意力:HWD三维关系建模残差加速设计:深层网络训练优化典型应用效益:智慧城市:密集人群计数误差降低12%自动驾驶:夜间检测mAP提升7.9%工业质检:缺陷分类F1-score提升9.3%完整资源包含:标准YOLOv11集成实现TensorRT加速插件Android NNAPI部署示例多场景预训练模型未来工作将聚焦:动态稀疏注意力3D点云扩展自监督预训练———————————————— 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 原文链接:https://blog.csdn.net/weixin_39818775/article/details/147011183
-
一、引言在部署 Elasticsearch、OpenSearch、ClickHouse、Java 应用甚至部分容器时,系统参数 vm.max_map_count 经常被提及,特别是在容器或虚拟化环境中,很多用户会遇到类似 “max virtual memory areas vm.max_map_count [65530] is too low...” 的报错。那么这个参数到底是什么?为什么它这么重要?该怎么调优?本文将为你深入剖析。二、什么是 vm.max_map_countvm.max_map_count 是 Linux 系统中的一个内核参数,定义了每个进程可拥有的虚拟内存区域(Virtual Memory Area, VMA)的最大数量。你可以通过以下命令查看当前系统的值:cat /proc/sys/vm/max_map_countAI写代码也可以临时设置:sysctl -w vm.max_map_count=262144AI写代码永久生效可以编辑 /etc/sysctl.conf 或 /etc/sysctl.d/*.conf,添加:vm.max_map_count=262144AI写代码三、VMA 是什么?为什么需要限制?1. 虚拟内存区域(VMA)VMA 是进程虚拟内存的一个逻辑段落。每个内存映射(mmap)操作、加载的共享库、栈、堆等都会创建一个 VMA。在 Linux 中,VMA 被组织成链表或红黑树,由内核用于管理内存映射关系。例如:加载一个 .so 动态库会创建多个 VMA;Java 虚拟机大量使用 mmap;Elasticsearch 使用 mmap 加载倒排索引文件;一些高性能数据库(如 ClickHouse)会映射列存文件而非读取内存。2. 限制的目的为了防止进程因创建过多的 VMA 而导致系统性能下降(比如红黑树遍历过慢、内核分配失败、OOM),Linux 引入了 vm.max_map_count 进行限制。四、典型场景1. Elasticsearch/OpenSearch 启动报错max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]AI写代码解决:sysctl -w vm.max_map_count=262144AI写代码或者在容器运行时指定:docker run --ulimit memlock=-1:-1 --sysctl vm.max_map_count=262144 ...AI写代码2. Java 应用崩溃 / mmap 失败使用 MappedByteBuffer 或内存映射方式访问大文件时,VMA 会迅速增加。例如 Lucene、Cassandra、Kafka 等都可能受影响。五、如何合理调优?1. 判断是否需要调高可以通过如下方式查看进程的 VMA 数量:cat /proc/<pid>/maps | wc -lAI写代码或者查看:cat /proc/<pid>/status | grep VmPeakAI写代码如果接近上限(65530),应调高。2. 推荐设置应用场景 建议值通用 Linux 65530(默认)Elasticsearch 262144ClickHouse ≥131072Kafka/Cassandra ≥131072大型 Java 应用 ≥262144六、调优注意事项设置太高不会直接带来性能问题,但太低可能导致难以排查的启动失败或崩溃;增加 VMA 可能略微增加内核管理开销,但在现代系统中基本可忽略;对于容器,应注意 --sysctl 或通过 kubelet 的 securityContext.sysctls 配置。七、结语vm.max_map_count 虽然是一个简单的内核参数,但背后反映的是 Linux 内存管理机制的关键设计。理解其原理不仅可以帮助你解决实际部署问题,更是系统调优的必备知识。如果你正在部署依赖 mmap 的服务,请记得提前规划 vm.max_map_count,避免不必要的踩坑。———————————————— 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 原文链接:https://blog.csdn.net/gs80140/article/details/148220057
-
如题。MetaStudio生成的数字人口播视频在使用上有什么限制吗?是否可以放到短视频平台(抖音、快手等)上做为营销广告?
-
汽车智能驾驶,想要上L3级别以上,用激光雷达好,还是摄像头视觉识别好
-
A*算法介绍 A*算法是一种高效的路径搜索算法,广泛应用于人工智能、机器人技术、游戏开发等领域。它由Peter Hart、Nils Nilsson和Bertram Raphael于1968年首次提出。A算法结合了Dijkstra算法的系统性搜索和启发式搜索的优点,通过使用启发式函数来减少搜索空间,同时保证找到最短路径。A*算法的核心概念 A*算法是一种最佳优先搜索算法,它通过以下三个关键函数来评估路径:g(n):从起点到当前节点的实际代价。h(n):从当前节点到目标节点的启发式估算代价。f(n) = g(n) + h(n):通过当前节点到达目标的总估算代价。 在每次迭代中,A*算法会选择具有最低f(n)值的节点进行扩展,并更新其邻居节点的代价。如果邻居节点的试探性代价低于之前记录的值,则会更新该节点的代价,并将其添加到开放集合中。这一过程会持续进行,直到找到目标节点或确定路径不存在。A*算法的特点最优性:当使用可接受的启发式函数时,A*算法能够找到最短路径。效率:启发式函数的引导使得A*算法比Dijkstra算法探索更少的节点。灵活性:启发式函数可以根据不同场景进行定制。完整性:如果存在解决方案,A*算法将找到它。A*算法示例:迷宫以下是使用A*算法在一个示例迷宫中寻找路径的详细步骤说明:假设有以下10x10的迷宫:S 0 0 0 0 0 0 0 0 00 1 1 0 1 1 0 1 1 00 1 0 0 0 0 0 0 1 00 1 1 1 1 1 0 1 1 00 0 0 0 1 0 0 0 0 00 1 1 0 1 1 1 1 1 00 1 0 0 0 0 0 0 0 00 1 1 1 1 1 1 1 1 00 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 E其中,S 表示起点 (0,0),E 表示终点 (9,9),0 表示可以通行的路径,1 表示障碍物.执行步骤第1步:初始化起始节点:(0,0),初始化其 g(n)=0,h(n) 由直线距离计算,f(n)=0+13.416=13.416。开放列表:未被选择的节点。封闭列表:已被选择的节点。当前节点:起始节点。第2步:扩展当前节点(起始节点)邻节点:(0,1), (1,0)。检查范围:确保邻节点在迷宫范围内。障碍物检查:(0,1) 是 0,(1,0) 是 0。计算邻节点g(n):(0,1):起始节点的 g(n)=0+1=1。(1,0):起始节点的 g(n)=0+1=1。计算邻节点h(n):(0,1) 的 h(n)=sqrt((9-0)^2 + (9-1)^2)= sqrt(81+64)=11.401。(1,0) 的 h(n)=sqrt((9-1)^2 + (9-0)^2)=sqrt(64+81)=11.401。计算邻节点f(n):(0,1) 的 f(n)=1+11.401=12.401。(1,0) 的 f(n)=1+11.401=12.401。在开放列表中添加邻节点:(0,1) 和 (1,0) 添加到开放列表。第3步:选择下一个节点(最低 f(n)) 开放列表中有 (0,1) 和 (1,0),它们的 f(n) 都是 12.401。可以选择其中任意一个: 选择 (0,1) 作为当前节点。第4步:处理当前节点 (0,1)邻节点:(0,0)(起点,已在封闭列表),(0,2),(1,1)。障碍物检查:(0,2) 是 0。(1,1) 是 1(障碍物)。生成有效邻节点:(0,2)。计算(0,2) 的 g(n):来自 (0,1),g(n)=1+1=2。计算(0,2) 的 h(n):sqrt((9-0)^2 + (9-2)^2)= sqrt(81+49)=10.630。计算 (0,2) 的 f(n):2+10.630=12.630。将 (0,2) 添加到开放列表:开放列表现在包含 (1,0), (0,2)。第5步:继续探索 重复步骤,选择开放列表中 f(n) 最低的节点,继续扩展并更新邻节点的 g(h,f) 值,直到到达目标节点 (9,9)。重点说明扩展当前节点:每次从开放列表中取出 f(n) 最低的节点,生成其邻节点。更新邻节点信息:如果邻节点未被访问过,计算其 g(h,f) 并加入开放列表。如果邻节点已在开放列表中,需要比较新的 g(n) 是否更小。如果更小,更新父节点和 g(n)。终止条件:当前节点是目标节点,回溯路径。开放列表为空,没有路径。最终结果 经过反复的节点扩展和评估,A* 算法最终找到从起点 (0,0) 到终点 (9,9) 的最短路径。路径将避免迷宫中的所有障碍物,确保每一步都是经过成本最低的选择。A*算法与其他相关算法的比较算法 与A*的关系 关键差异 优缺点Dijkstra算法 A*是Dijkstra算法的扩展 A*使用f(n)=g(n)+h(n),Dijkstra仅使用g(n) A*在有启发式函数时性能更好,Dijkstra无需启发式函数Bellman-Ford算法 基于边的松弛 Bellman-Ford支持负边权重,A*通常更快 Bellman-Ford适用于有负权重的图,A*需要启发式函数Floyd-Warshall算法 解决所有点对最短路径问题 Floyd-Warshall使用动态规划,A*是增量搜索 Floyd-Warshall适合密集图,A*适合实时路径搜索[Python] A*算法实现 项目代码我已经放入下面链接里面:🔥A*算法实现若是下面代码复现困难或者有问题,也欢迎评论区留言。"""《A*算法实现》 时间:2025.02.27 环境:迷宫 作者:不去幼儿园"""import heapqimport matplotlib.pyplot as pltimport numpy as np class Node: """节点类表示搜索树中的每一个点。""" def __init__(self, parent=None, position=None): self.parent = parent # 该节点的父节点 self.position = position # 节点在迷宫中的坐标位置 self.g = 0 # G值:从起点到当前节点的成本 self.h = 0 # H值:当前节点到目标点的估计成本 self.f = 0 # F值:G值与H值的和,即节点的总评估成本 # 比较两个节点位置是否相同 def __eq__(self, other): return self.position == other.position # 定义小于操作,以便在优先队列中进行比较 def __lt__(self, other): return self.f < other.f def astar(maze, start, end): """A*算法实现,用于在迷宫中找到从起点到终点的最短路径。""" start_node = Node(None, start) # 创建起始节点 end_node = Node(None, end) # 创建终点节点 open_list = [] # 开放列表用于存储待访问的节点 closed_list = [] # 封闭列表用于存储已访问的节点 heapq.heappush(open_list, (start_node.f, start_node)) # 将起始节点添加到开放列表 while open_list: current_node = heapq.heappop(open_list)[1] # 弹出并返回开放列表中 f 值最小的节点 closed_list.append(current_node) # 将当前节点添加到封闭列表 if current_node == end_node: # 如果当前节点是目标节点,则回溯路径 path = [] while current_node: path.append(current_node.position) current_node = current_node.parent return path[::-1] # 返回反向路径,即从起点到终点的路径 (x, y) = current_node.position neighbors = [(x-1, y), (x+1, y), (x, y-1), (x, y+1)] # 获取当前节点周围的相邻节点 for next in neighbors: if 0 <= next[0] < maze.shape[0] and 0 <= next[1] < maze.shape[1]: # 确保相邻节点在迷宫范围内 if maze[next[0], next[1]] == 1: # 如果相邻节点是障碍物,跳过 continue neighbor = Node(current_node, next) # 创建相邻节点 if neighbor in closed_list: # 如果相邻节点已在封闭列表中,跳过不处理 continue neighbor.g = current_node.g + 1 # 计算相邻节点的 G 值 neighbor.h = ((end_node.position[0] - next[0]) ** 2) + ((end_node.position[1] - next[1]) ** 2) # 计算 H 值 neighbor.f = neighbor.g + neighbor.h # 计算 F 值 if add_to_open(open_list, neighbor): # 如果相邻节点的新 F 值较小,则将其添加到开放列表 heapq.heappush(open_list, (neighbor.f, neighbor)) return None # 如果没有找到路径,返回 None def add_to_open(open_list, neighbor): """检查并添加节点到开放列表。""" for node in open_list: if neighbor == node[1] and neighbor.g > node[1].g: return False return True # 如果不存在,则返回 True 以便添加该节点到开放列表 def visualize_path(maze, path, start, end): """将找到的路径可视化在迷宫上。""" maze_copy = np.array(maze) for step in path: maze_copy[step] = 0.5 # 标记路径上的点 plt.figure(figsize=(10, 10)) plt.imshow(maze_copy, cmap='hot', interpolation='nearest') path_x = [p[1] for p in path] # 列坐标 path_y = [p[0] for p in path] # 行坐标 plt.plot(path_x, path_y, color='orange', linewidth=2) start_x, start_y = start[1], start[0] end_x, end_y = end[1], end[0] plt.scatter([start_x], [start_y], color='green', s=100, label='Start', zorder=5) # 起点为绿色圆点 plt.scatter([end_x], [end_y], color='red', s=100, label='End', zorder=5) # 终点为红色圆点 plt.legend() plt.show() # 设定迷宫的尺寸maze_size = 100maze = np.zeros((maze_size, maze_size))obstacle_blocks = [ (10, 10, 20, 20), # (y起始, x起始, 高度, 宽度) (30, 40, 20, 30), (60, 20, 15, 10), (80, 50, 10, 45),]for y_start, x_start, height, width in obstacle_blocks: maze[y_start:y_start+height, x_start:x_start+width] = 1start = (0, 0)end = (92, 93)maze[start] = 0maze[end] = 0path = astar(maze, start, end)if path: print("路径已找到:", path) visualize_path(maze, path, start, end)else: print("没有找到路径。")[Results] 运行结果[Notice] 注意事项# 环境配置Python 3.11.5torch 2.1.0torchvision 0.16.0gym 0.26.2 由于博文主要为了介绍相关算法的原理和应用的方法,缺乏对于实际效果的关注,算法可能在上述环境中的效果不佳或者无法运行,一是算法不适配上述环境,二是算法未调参和优化,三是没有呈现完整的代码,四是等等。上述代码用于了解和学习算法足够了,但若是想直接将上面代码应用于实际项目中,还需要进行修改。适用场景A*算法最适合以下场景:单源单目标路径搜索。可以提供领域特定的启发式函数。需要最优解。有足够的内存来维护开放/关闭集合。主要应用场景迷宫寻路:在游戏开发中,A*算法可以用来为游戏角色找到从起点到终点的最短路径,例如在迷宫类游戏中,角色需要绕过障碍物尽快到达目标。机器人路径规划:在机器人领域,A*算法可用于规划机器人在复杂环境中的移动路径,帮助其避开障碍物并找到到达目标位置的最佳路线。地图导航:在 GPS 导航系统或地图应用中,A*算法可以计算两点之间的最短路径,考虑道路长度、交通状况等多种因素,为用户提供最优的行驶路线建议。实现建议使用优先队列(如二叉堆或斐波那契堆)快速选择节点。根据图的大小选择合适的数据结构。设计并验证有效的启发式函数。算法优点寻找最短路径:无论是二维平面还是三维空间,A*算法都能够有效地在复杂的环境图中找到从起点到终点的最短路径,尤其是在具有障碍物和多重路径选择的情况下。优化效率:相比传统的广度优先搜索和深度优先搜索,A*算法通过结合启发式估计和实际路径成本,能够更高效地探索可能的路径,减少不必要的计算,大大提升了路径寻找的效率。适应复杂环境:A*算法能够灵活地处理各种环境变化,如新增障碍物、改变目标位置等,只需重新计算路径即可,无需对整个地图进行重新规划。实现效果准确性:A*算法能够精确地找到最优路径,确保路径的总成本(如距离、时间等)最小,对于大多数场景来说,其结果都是全局最优的。实时性:在处理复杂地图时,A*算法能够在较短时间内完成路径规划,满足实时性要求,特别是在一些动态环境(如即时战略游戏或动态交通导航)中。可视化:通过可视化工具,可以清晰地看到 A*算法的搜索过程,路径是如何被逐步探索和确定的,这对于调试和理解算法的工作原理非常有帮助。———————————————— 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 原文链接:https://blog.csdn.net/qq_51399582/article/details/145691955
-
Manus 比起传统的AI Agent厉害在哪里?为什么能继deepseek之后引起这么大轰动?
-
最近deepseek大火,并且随着训练的成本大幅度的降低,未来下一个爆火的模型会有什么样的提升呢 ,训练成本会不会再次降低,犹如王谢堂前燕,飞入寻常百姓家。
-
开年就有王炸,春晚是机器人扭秧歌,后有deepseek深度求索,以一敌百让漂亮国措手不及,最后杭州某位ai创始人,用眼睛放演讲稿让科技领先,AI时代的到来究竟带来了哪些的机遇?又有哪些改变?
-
如何通过一个js文件把华为数字人集成到网站里?
-
1、管理通信机房环境温度,控制空调运行2、管理通信机房的人员进场情况,控制门禁3、管理通信机房的设备运行情况,记录设备启用时间、超期服役下线提醒、维修记录、对于指派负责人处理4、管理通信机房的ODF签芯使用情况,记录业务名称及连接关系5、管理通信机房的光缆接入情况,显示纤芯使用情况、质量情况6、管理通信机房安全,监控环境情况,防火、防水
-
【华为云】尊敬的开发者朋友:MetaStudio数字内容生产线提供数字人视频制作、视频直播、智能交互、企业代言等多种服务能力,使能千行百业降本增效。诚邀您参与产品满意度调研,约1 分钟。提交问卷将有机会获得华为手表GT5。https://survey.huaweicloud.com/survey/#/qtn?id=f2a31bbd4ea6458998f5af0a2a8ed394 ,期待您的卓识,为数字人产品点亮新方向,共铸非凡!
推荐直播
-
HDC深度解读系列 - Serverless与MCP融合创新,构建AI应用全新智能中枢2025/08/20 周三 16:30-18:00
张昆鹏 HCDG北京核心组代表
HDC2025期间,华为云展示了Serverless与MCP融合创新的解决方案,本期访谈直播,由华为云开发者专家(HCDE)兼华为云开发者社区组织HCDG北京核心组代表张鹏先生主持,华为云PaaS服务产品部 Serverless总监Ewen为大家深度解读华为云Serverless与MCP如何融合构建AI应用全新智能中枢
回顾中 -
关于RISC-V生态发展的思考2025/09/02 周二 17:00-18:00
中国科学院计算技术研究所副所长包云岗教授
中科院包云岗老师将在本次直播中,探讨处理器生态的关键要素及其联系,分享过去几年推动RISC-V生态建设实践过程中的经验与教训。
回顾中 -
一键搞定华为云万级资源,3步轻松管理企业成本2025/09/09 周二 15:00-16:00
阿言 华为云交易产品经理
本直播重点介绍如何一键续费万级资源,3步轻松管理成本,帮助提升日常管理效率!
回顾中
热门标签