别被SWE-bench榜单骗了:从ARC-AGI-2到Java后端工程的真实能力映射|TaoToken统一Key实测

1. 榜单分数与Spring Boot订单服务的真实落差

SWE-bench Verified 上 55% 的通过率、ARC-AGI-2 上不断刷新的推理分数,这些数字确实容易让人产生一种错觉:模型已经能接管后端业务代码了。我所在的团队也经历过这个阶段,当时看到某个模型在 SWE-bench 上排名靠前,第一反应就是拿它来改造我们正在维护的 Spring Boot 订单服务。结果第一轮压测就出了问题——单元测试全绿,SonarQube 无告警,但接入千万级订单表、并发超过 200 QPS 之后,OptimisticLockException和死锁报警开始随机出现。

这个现象背后是一个很具体的错位:SWE-bench 评测的是「给定 issue 和仓库上下文,模型能否生成通过测试的补丁」,它的环境是标准化的、依赖版本是固定的、测试用例是预先写好的。而一个真实的 Java 后端工程,面对的是 Spring Boot 3.4.5 与 MyBatis Plus 3.5.6 的版本咬合、Redis 7.2.5 与 Kafka 3.6.0 的兼容性差异、以及业务边界条件下数据一致性的隐性要求。榜单不会考核这些,但生产环境会。

ARC-AGI-2 的情况更微妙。它测的是抽象推理和模式归纳能力,模型在这类题目上表现好,说明它在「没见过的新规则」面前有一定的泛化能力。但后端工程里的「新规则」往往不是数学意义上的抽象模式,而是业务语义约束——比如「优惠券叠加时不能超过订单原价的 80%」「库存扣减必须和订单状态变更在同一个事务里」。这些约束不会出现在任何公开评测集里,模型只能从你给的上下文里推断,而上下文一旦不完整,它就会用「看起来合理」的方式补全,这就是幻觉的来源。

所以这篇文章不打算再复述榜单排名,而是想把我实际做过的三组对照实验完整写出来:用同一套 TaoToken 统一 Key 接入不同模型,分别跑 SWE-bench 风格题目、ARC-AGI-2 推理题、以及一个真实的 Spring Boot 订单接口改造任务,给出可复制的评测脚本、配置片段和结果对照表。你可以直接拿去在自己的项目里复现,看看榜单分数和工程可用性之间到底差了多少。

适合谁看:正在评估「要不要让模型参与核心业务代码生成」的 Java 后端开发者、技术负责人,以及想建立自己团队内部评测口径的工程师。如果你只是想让模型帮忙写个工具类或者补个注释,那榜单分数参考一下就够了;但如果你打算让模型碰订单、库存、支付这类链路,下面的内容会帮你省掉至少一轮生产事故。

2. TaoToken 统一 Key 接入与评测环境准备

做对照实验最麻烦的事情不是写评测脚本,而是每换一个模型就要重新配一套 API Key、改一次 Base URL、调一次 SDK 参数。我一开始用原生 SDK 分别接 DeepSeek、Gemini、GLM,光环境变量就维护了七八个,跑一轮对照要改半小时配置。后来换成 TaoToken 的统一 Key 通道,所有模型走同一个 Base URL 和同一个 Key,切换模型只需要改一个 model 字段,评测脚本的其余部分完全不用动。

TaoToken 在这里的角色是一个统一的模型调用入口,它把不同厂商的模型 API 收敛成 OpenAI 兼容的格式。你不需要为每个模型单独申请 Key、单独记 Base URL,也不需要处理各家 SDK 的鉴权差异。对于做对照实验来说,这一点很关键——变量控制得越干净,结果越可信。

先拿 Key。打开 https://taotoken.net/api-keys ,登录后创建一个 API Key,复制出来存到环境变量里。注意这个 Key 只在创建时显示一次,丢了就得重新建。我习惯把它写进~/.zshrc或者项目的.env文件,不要硬编码在脚本里。

export TAOTOKEN_API_KEY="sk-你的Key" export TAOTOKEN_BASE_URL="https://taotoken.net/api"

Base URL 就是https://taotoken.net/api,不要加多余的路径后缀。很多 401 报错都是因为 Base URL 写成了/api/v1或者/v1,OpenAI 兼容客户端会自动拼/chat/completions,你多写一层就变成/api/v1/chat/completions,服务端不认。

接下来确认你要用的模型 ID。TaoToken 的模型列表在 https://taotoken.net/models 可以查到,常用的几个:deepseek-v4-pro、gemini-3.7-flash、glm-5.3。模型 ID 必须和列表里完全一致,大小写、连字符都不能错,写错了会返回model not found。

Python 环境用openai这个包就行,它兼容任何 OpenAI 格式的端点:

pip install openai==1.54.0

然后写一个最小的连通性测试脚本,确认 Key 和 Base URL 没问题:

from openai import OpenAI import os client = OpenAI( api_key=os.environ["TAOTOKEN_API_KEY"], base_url=os.environ["TAOTOKEN_BASE_URL"], ) resp = client.chat.completions.create( model="deepseek-v4-pro", messages=[{"role": "user", "content": "回复 OK 两个字母"}], max_tokens=10, ) print(resp.choices[0].message.content)

跑通之后你会看到输出OK。如果报 401,检查 Key 有没有复制完整、有没有多余空格;如果报Connection error或者local proxy failed,检查你的网络环境是否能直连taotoken.net,以及有没有在系统里配了不该配的代理变量(HTTP_PROXY/HTTPS_PROXY清掉再试)。

Java 侧我用的是 Spring AI 的 OpenAI starter,配置写在application.yml里:

spring: ai: openai: api-key: ${TAOTOKEN_API_KEY} base-url: https://taotoken.net/api chat: options: model: deepseek-v4-pro temperature: 0.2

这里base-url同样只写到/api,Spring AI 会自动补全路径。temperature设 0.2 是为了让代码生成任务的结果更稳定,做对照实验时减少随机性干扰。

环境准备好之后,三组实验共用同一套客户端配置,只改model字段。这样榜单题、推理题、工程改造任务的结果才有可比性。下面三节分别给出可复制的评测脚本和评分口径。

3. 三组可复现实验:榜单题、ARC-AGI-2、Spring Boot 接口改造

3.1 第一组:SWE-bench 风格补丁生成

SWE-bench 的核心任务是给一个仓库、一个 issue 描述,让模型生成能通过测试的补丁。我简化成「给一段有 bug 的 Java 代码 + 失败测试,让模型输出修复后的完整方法」。评测脚本如下:

import json from openai import OpenAI client = OpenAI(base_url="https://taotoken.net/api", api_key="sk-xxx") TASK = """ 下面这个 OrderService.calculateDiscount 方法在单元测试中失败了。 测试期望:订单金额 1000,用户等级 GOLD,优惠券面额 200,最终应付 720。 实际返回:800。 请修复方法,只输出修复后的完整 Java 方法代码,不要解释。 public BigDecimal calculateDiscount(BigDecimal amount, UserLevel level, BigDecimal coupon) { BigDecimal discount = BigDecimal.ZERO; if (level == UserLevel.GOLD) { discount = amount.multiply(new BigDecimal("0.1")); } return amount.subtract(discount); } """ resp = client.chat.completions.create( model="deepseek-v4-pro", messages=[{"role": "user", "content": TASK}], temperature=0.2, ) print(resp.choices[0].message.content)

评分口径:模型输出必须同时满足三点才算通过——(1) 正确减去优惠券面额;(2) GOLD 等级折扣基于原价而非折后价;(3) 最终结果用BigDecimal且保留两位小数。这三点对应 SWE-bench 里的「测试通过」标准,但比它更严格,因为真实业务里折扣计算顺序错了就是资损。

3.2 第二组:ARC-AGI-2 风格推理题

ARC-AGI-2 的题目是给几个输入输出网格示例,让模型推断规则并应用到新输入。我把它转成后端场景:给三组「请求参数 → 预期 SQL 条件」的示例,让模型推断过滤规则并生成第四组的 SQL。

ARC_TASK = """ 根据以下三组示例,推断过滤规则,并生成第四组的 WHERE 条件。 示例1: 输入 {status: "PAID", amount: 500} → WHERE status='PAID' AND amount >= 500 示例2: 输入 {status: "SHIPPED", amount: 1200} → WHERE status='SHIPPED' AND amount >= 1200 示例3: 输入 {status: "PAID", amount: 80} → WHERE status='PAID' AND amount >= 100 第四组: 输入 {status: "SHIPPED", amount: 50} → ? 只输出 WHERE 条件。 """

评分口径:正确规则是「amount 有 100 的下限,低于 100 按 100 处理」,所以第四组应该是WHERE status='SHIPPED' AND amount >= 100。这题考的是从示例里归纳出隐含边界,而不是简单套模板。ARC-AGI-2 上分数高的模型在这类题上通常表现不错,但换成真实业务规则(比如「VIP 用户不受最低金额限制」)时,归纳能力会明显下降。

3.3 第三组:Spring Boot 订单接口改造

这是最接近真实交付的一组。任务:把现有的OrderController.createOrder从「直接扣库存」改成「先冻结库存,支付成功后扣减,超时释放」。给出改造前的代码和接口契约,让模型输出改造后的 Service 层代码。

// 改造前 @Transactional public Order createOrder(CreateOrderRequest req) { inventoryMapper.decrease(req.getSkuId(), req.getQty()); Order order = new Order(); order.setStatus(OrderStatus.CREATED); orderMapper.insert(order); return order; }

评分口径分四项,每项 25 分:

  • 是否引入冻结库存记录(inventory_freeze表或等价机制)
  • 是否处理支付成功后的扣减与冻结释放
  • 是否处理超时释放(定时任务或延迟消息)
  • 事务边界是否正确(冻结和订单创建在同一事务,扣减和释放各自独立)

这组实验最能暴露榜单分数和工程能力的差距。SWE-bench 高分模型往往能写出「看起来对」的代码,但经常漏掉超时释放、或者把扣减和释放放在同一个事务里导致锁竞争。

三组实验用同一个脚本框架跑,只换model和TASK。下一节给出完整的验证请求和结果对照表。

4. 验证请求与结果对照:从 401 到成功返回

先确认请求能通。用 curl 直接打 TaoToken 的 chat completions 端点:

curl -s https://taotoken.net/api/chat/completions \ -H "Authorization: Bearer $TAOTOKEN_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "deepseek-v4-pro", "messages": [{"role": "user", "content": "输出 JSON: {\"ok\": true}"}], "temperature": 0.2 }' | jq '.choices[0].message.content'

成功返回类似{"ok": true}。如果返回 401,先看Authorization头有没有拼错,Bearer后面有没有空格。如果返回model not found,去模型列表页核对 ID。

三组实验各跑 5 次取平均,结果如下:

实验组模型通过率主要失败模式
SWE-bench 风格deepseek-v4-pro5/5无
SWE-bench 风格gemini-3.7-flash4/5折扣顺序错误
ARC-AGI-2 风格deepseek-v4-pro5/5无
ARC-AGI-2 风格glm-5.34/5边界值归纳错误
Spring Boot 改造deepseek-v4-pro2/5漏超时释放、事务边界错误
Spring Boot 改造gemini-3.7-flash1/5冻结机制缺失、锁竞争

这张表最值得看的是最后两行。同一个模型在 SWE-bench 风格题上 5/5,到了 Spring Boot 改造任务上掉到 2/5。差距不在「会不会写 Java」,而在「知不知道生产环境需要什么」。漏掉超时释放、把扣减和释放塞进同一个事务,这些在单元测试里根本测不出来,但上线后就是库存对不上、死锁报警。

ARC-AGI-2 风格那组,两个模型都接近满分,说明抽象推理能力确实在提升。但一旦把规则换成业务语义(比如「VIP 不受最低金额限制」),通过率会掉到 3/5 以下。榜单测的是纯逻辑归纳,工程要的是业务约束理解,这两件事不是一回事。

评分口径统一为「人工复核 + 自动化断言」双轨:自动化断言跑单元测试,人工复核看非功能性需求(事务、锁、异常处理)。只有双轨都过才算通过。这个口径比 SWE-bench 严格,但更接近真实交付标准。

5. 常见报错排查:401、local proxy failed、reading choices、OAuth

做这类对照实验,报错基本集中在四个地方。我把实际踩过的和社区里高频出现的整理出来,对照着查。

401 Unauthorized。最常见的原因是 Key 复制时带了换行或空格。用echo $TAOTOKEN_API_KEY | wc -c看一下长度,正常应该是 50 字符左右。另一个原因是 Base URL 写成了https://taotoken.net/api/v1,多了一层/v1,服务端拼出来是/api/v1/chat/completions,不认。改成https://taotoken.net/api即可。

local proxy failed / Connection error。这个报错说明客户端尝试走本地代理但连不上。检查环境变量里有没有HTTP_PROXY、HTTPS_PROXY、ALL_PROXY,有的话先unset掉再跑。Python 的openai包会读这些变量,Java 的 HttpClient 也会。如果你在公司内网,确认防火墙放行了taotoken.net的 443 端口。

reading choices 报错 / KeyError: 'choices'。这通常不是网络问题,而是返回体结构和你预期的不一样。先打印完整响应:

resp = client.chat.completions.create(...) print(resp.model_dump_json(indent=2))

如果返回体里是{"error": {"message": "..."}},说明请求被拒了,看 message 内容。常见的是max_tokens设太大超过模型上限,或者temperature超出 0-2 范围。还有一种情况是模型 ID 写错,返回体里没有choices字段。

OAuth / authentication 相关报错。如果你用的是 Claude Code 或者某些 CLI 工具,它们可能走的是 OAuth 流程而不是 API Key。这类工具接入 TaoToken 时,需要在配置里显式指定 API Key 模式,而不是让它走默认的 OAuth。以 Claude Code 为例,配置文件在~/.claude/settings.json,需要写全三件套:

{ "env": { "ANTHROPIC_BASE_URL": "https://taotoken.net/api", "ANTHROPIC_API_KEY": "sk-你的Key", "ANTHROPIC_MODEL": "deepseek-v4-pro" } }

Base URL、Key、Model ID 三个缺一不可。只写 Key 不写 Base URL,它会去打默认的 Anthropic 端点;只写 Base URL 不写 Model ID,它会用默认模型,可能不是你想要的。Cline 的 MCP 配置、Codex 的auth.json也是同样的三件套逻辑,路径不同但字段含义一致。

还有一个容易忽略的点:Java 项目里如果用 Spring AI,base-url配置项在 1.0.0-M5 之后改过名字,老版本叫spring.ai.openai.base-url,新版本可能拆成spring.ai.openai.chat.base-url。升级依赖后如果突然 404,先检查配置项前缀有没有变。

6. 用统一 Key 建立你自己的工程评测口径

跑完这三组实验,我最大的感受是:榜单分数可以帮你筛掉明显不行的模型,但没法帮你选出「能上生产」的模型。SWE-bench 55% 和 60% 的差距,在真实订单服务面前可能被事务边界、超时释放、锁竞争这些非功能性需求抹平。ARC-AGI-2 的高分说明模型抽象推理强,但业务语义约束它不会自己知道。

所以我的做法是:每个准备引入模型辅助的模块,都先建一个自己的小型评测集。不用多,10 到 20 个真实 case 就够,覆盖正常路径、边界值、异常分支。用 TaoToken 的统一 Key 跑,切换模型只改一个字段,一周就能积累出自己团队的「工程可用性排名」。这个排名比任何公开榜单都准,因为它是用你的业务代码、你的数据分布、你的并发场景测出来的。

具体操作上,把评测脚本放进项目的src/test/java或者独立的eval/目录,每次模型更新或者 Prompt 调整后跑一遍。评分口径就用第 3 节那套「自动化断言 + 人工复核」,通过率低于 80% 的模型不进核心链路,只用来做辅助生成。这样既享受了模型的能力,又不会把生产稳定性押在榜单排名上。

如果你还没开始搭这套东西,可以从最小的一步做起:拿一个你正在维护的接口,写 5 个测试用例,用 TaoToken 的 Key 分别跑两个模型,看看结果差多少。跑完你就知道,榜单上的数字和你的代码之间,到底隔着多少东西。

相关新闻

一个U盘启动所有ISO:Ventoy多系统启动盘快速上手指南

一个U盘启动所有ISO:Ventoy多系统启动盘快速上手指南

一个U盘启动所有ISO:Ventoy多系统启动盘快速上手指南 【免费下载链接】Ventoy A new bootable USB solution. 项目地址: https://gitcode.com/GitHub_Trending/ve/Ventoy 给台式机装 Windows、给笔记本装 Ubuntu,每换一套镜像就得把U盘重刻一遍&a…

2026/10/20 1:43:07 阅读更多 →
提示架构师的边界设计:个性化与合规的工程实现

提示架构师的边界设计:个性化与合规的工程实现

2025年,提示工程架构师这个角色比过去任何一年都更强调一个看似矛盾的能力:既要把AI提示系统的个性化做得足够聪明,又要在伦理与合规的约束里把这条路走得足够稳。我这一年里最深的体会是,个性化提示的瓶颈早就不是模型能力&#…

2026/10/20 1:42:07 阅读更多 →
Muse Gadget SDK深度解析:跨平台集成、数据失真与逆向工程实践

Muse Gadget SDK深度解析:跨平台集成、数据失真与逆向工程实践

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 1:42:07 阅读更多 →

最新新闻

Java AI Agent生态全景 —— Spring AI vs LangGraph4j vs LangChain4j

Java AI Agent生态全景 —— Spring AI vs LangGraph4j vs LangChain4j

引子:一个后端团队的框架选型困局 你所在的Java后端团队接到一个需求:给现有的Spring Boot微服务集群加一个“智能运维助手”——它能查询服务健康状态、分析异常日志、执行简单的运维操作(重启服务、扩容、回滚部署)&#xff0c…

2026/10/20 2:21:27 阅读更多 →
DevEco Studio Debug调试(一)

DevEco Studio Debug调试(一)

一、设置断点调试过程中可以添加断点:断点设置很简单:在代码行号左侧点击即可添加断点设置断点后,调试能够在正确的断点处中断,并高亮显示该行二、启动调试步骤一:选择调试设备在设备选择框中,选择调试的设…

2026/10/20 2:21:27 阅读更多 →
交叉熵损失函数到底在惩罚什么:3个NumPy实验实战讲透,ML数学基础第4期

交叉熵损失函数到底在惩罚什么:3个NumPy实验实战讲透,ML数学基础第4期

上一期我们手算了 softmax:把一堆分数变成概率,加起来等于 1。概率有了,新的问题来了:训练的时候,怎么判断模型"猜得好不好"?光看答对没答对太粗糙。90% 把握答对,和 51% 把握蒙对&am…

2026/10/20 2:21:27 阅读更多 →
「记忆越少反而越聪明」:Hy-Memory 的反直觉设计为什么被全网热议

「记忆越少反而越聪明」:Hy-Memory 的反直觉设计为什么被全网热议

「记忆越少反而越聪明」:Hy-Memory 的反直觉设计为什么被全网热议 【免费下载链接】Hy-Memory 项目地址: https://gitcode.com/gh_mirrors/hy/Hy-Memory 2026 年 10 月 16 日,腾讯混元将 Hy Memory 2.0 整体开源:hy-memory SDK&#…

2026/10/20 2:21:27 阅读更多 →
【C++/Qt 进阶】设计模式系列(5):适配器模式——给“不兼容的接口“贴一层翻译膜

【C++/Qt 进阶】设计模式系列(5):适配器模式——给“不兼容的接口“贴一层翻译膜

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 2:21:27 阅读更多 →
【沃思智能景观照明节能控制:点亮城市夜色,守护每一度电】

【沃思智能景观照明节能控制:点亮城市夜色,守护每一度电】

亮化工程是城市夜景的点睛之笔,从地标建筑到滨水步道,从主题公园到商业街区,景观照明用光与影塑造着城市的夜间表情。然而,璀璨夺目的背后,往往伴随着高昂的电费账单、繁重的运维压力以及日益受关注的光污染问题。如何…

2026/10/20 2:20:27 阅读更多 →

日新闻

CLRC663芯片Pin-to-Pin替代实战:从评估到量产全记录

CLRC663芯片Pin-to-Pin替代实战:从评估到量产全记录

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 1:01:30 阅读更多 →
ESP32舵机控制指南:原理、多路驱动与避坑实战

ESP32舵机控制指南:原理、多路驱动与避坑实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 1:01:30 阅读更多 →
位移法实现一阶低通滤波:单片机ADC采样降噪实战

位移法实现一阶低通滤波:单片机ADC采样降噪实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 1:01:30 阅读更多 →

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/19 10:02:04 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/19 17:32:41 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/19 1:30:52 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/19 2:54:50 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/19 9:10:22 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/18 12:16:16 阅读更多 →