构建高质量优化问题测试集:从设计哲学到自动化评估实践
1. 项目概述为什么我们需要一个“优化问题测试集”在算法开发、运筹学研究和工程优化的世界里我们常常面临一个尴尬的局面你精心设计了一个新的优化算法或者为一个复杂的业务问题比如大型展销会的临时工排班构建了一个数学模型但当你兴冲冲地准备验证其效果时却发现自己手头没有一套合适的“考题”来检验它的真实水平。用自己编的、过于简单的例子说服力不足直接用真实业务数据又可能因为数据敏感、场景单一而无法全面评估算法的鲁棒性和泛化能力。这就好比一个学生只做过课本上的例题就要去参加高考结果可想而知。“若干优化问题的测试集”这个项目正是为了解决这个痛点。它不是一个单一的算法或工具而是一个精心构建的、标准化的“题库”集合。这个测试集旨在为研究者、工程师和学生提供一个公平、全面、可复现的基准测试环境。无论是研究最新的元启发式算法如遗传算法、粒子群优化还是应用精确求解器如CPLEX, Gurobi解决线性/整数规划问题亦或是应对像“数学建模-大型展销会临时工招聘与排班优化问题”这类综合性挑战一个高质量的测试集都是不可或缺的基石。它的核心价值在于可比性和可扩展性。当所有人都使用同一套标准测试集时不同算法、不同参数配置之间的性能优劣便一目了然。同时一个结构良好的测试集应该像乐高积木一样允许使用者根据自身需求例如增加“图优化解决任务规划问题”中的特定约束灵活地组合、修改或扩展问题实例从而模拟出更贴近实际的应用场景。接下来我将从一个实践者的角度拆解如何设计、构建和使用这样一个测试集。2. 测试集的核心设计哲学与架构思路构建测试集绝非简单地将一堆问题数据打包。一个经得起推敲的测试集其背后必须有清晰的设计哲学和严谨的架构。否则它很可能沦为“垃圾进垃圾出”的无效基准。2.1 设计目标我们到底要测试什么首先必须明确测试集是为了评估优化方法的哪些方面。通常一个全面的评估应覆盖以下几个维度求解精度算法能找到的解的质量有多高与已知最优解或理论下界的差距是多少这是最核心的指标。计算效率算法找到满意解需要多长时间其时间复杂度和空间复杂度如何这对于处理大规模实际问题至关重要。鲁棒性算法对问题参数的小幅扰动是否敏感对于同一类问题的不同实例其性能表现是否稳定可扩展性当问题规模如变量数、约束数增大时算法的性能下降是否在可接受范围内普适性算法是否能较好地处理同一测试集中不同类型、不同特征的问题这考验算法的泛化能力。基于这些目标我们的测试集就需要包含能“刺探”这些维度的多样化问题实例。例如要测试效率与可扩展性就需要一系列规模递增但同质的问题要测试鲁棒性和普适性就需要在问题结构、参数分布上制造变化。2.2 问题来源与分类构建丰富的“题库”测试集中的问题实例应来源于多个渠道以确保其多样性和代表性经典基准问题这是测试集的“压舱石”。例如针对旅行商问题TSP有TSPLIB库针对车辆路径问题VRP有Solomon基准集针对二次分配问题QAP有QAPLIB。这些经典问题通常有公认的最优解或当前已知最佳解是算法性能的“试金石”。直接纳入这些经典实例可以方便地与历史研究进行横向对比。生成器生成的合成问题这是测试集的“主力军”。通过可控的参数如节点数、约束密度、目标函数形态、随机种子来批量生成问题实例。这种方法可以系统性地研究某个参数对算法性能的影响。例如对于排班问题我们可以生成不同班次数量、不同员工技能组合、不同需求波动程度的实例。贴近实际的应用场景问题这是测试集的“前沿阵地”。比如我们可以根据“大型展销会临时工排班”的场景抽象出一个通用的排班优化问题模型并生成一系列符合现实逻辑的实例如考虑技能匹配、连续工作时间限制、不同时段人力需求峰值等。这类问题往往结构复杂约束交织能很好地检验算法处理现实复杂性的能力。“病理学”问题这是测试集的“压力测试仪”。特意设计一些让常见算法容易陷入局部最优、早熟收敛或计算爆炸的问题。例如设计具有欺骗性的多峰函数来测试全局搜索能力或设计约束极其紧密的问题来测试可行性寻找能力。一个建议的测试集分类结构如下表所示类别描述实例示例测试重点经典基准类来自权威公开库的标准化问题TSP中的eil101, VRP中的C101绝对精度、与前沿成果对比规模可扩展类由同一生成器产生仅规模参数不同的问题序列节点数为50, 100, 200, 500的TSP实例计算效率、可扩展性结构变异类目标函数或约束结构有显著差异的问题凸函数、非凸函数、带复杂约束的函数优化算法普适性、鲁棒性应用场景类模拟特定现实场景的问题展销会排班、车间调度、网络规划处理实际复杂约束的能力极端挑战类高维、多峰、强约束、病态条件的问题高维Rastrigin函数、约束极其紧密的背包问题算法在极端情况下的稳定性注意不要盲目追求实例数量。一个包含20个精心设计、特征各异的实例的测试集其价值远大于一个包含200个同质化实例的测试集。质量优于数量。2.3 数据格式与元信息标准化让测试“可复现”这是构建测试集最繁琐但最关键的一环。统一的格式是测试集得以广泛传播和使用的前提。你需要为每一类问题定义清晰的数据文件格式如.txt,.json,.xml。问题描述文件应包含所有必要输入数据。以排班问题为例一个JSON格式的文件可能包含{ problem_id: scheduling_fair_001, description: 大型展销会排班-场景1, parameters: { time_horizon: [2023-10-01, 2023-10-07], time_slots_per_day: 3, slot_names: [上午, 下午, 晚上] }, employees: [ {id: E001, skills: [引导, 收银], max_consecutive_days: 5, ...}, ... ], demands: [ {date: 2023-10-01, slot: 上午, skill: 引导, required: 8}, ... ], constraints: { max_weekly_hours: 40, min_rest_hours_between_shifts: 12, ... } }解决方案验证器提供一个脚本或函数用于验证给定解是否满足所有约束并计算目标函数值。这确保了不同使用者计算结果的一致性。元信息文件一个总览文件如README.md或manifest.csv记录每个实例的ID、来源、已知最优解如果存在、最优值、特征摘要变量数、约束数、密度等。这对于快速筛选和分类问题至关重要。实操心得在设计数据格式时务必考虑可读性和可解析性的平衡。纯文本如TSPlib的.tsp格式通用性好但结构复杂时解析麻烦JSON/XML结构化强易于程序处理但文件体积可能稍大。我的建议是对于复杂结构的问题优先使用JSON等结构化格式并配套提供轻量级的解析代码示例。3. 以“展销会排班”为例构建一个应用场景测试实例让我们把理论付诸实践具体构建一个“数学建模-大型展销会临时工招聘与排班优化问题”的测试实例。这个过程本身就是一个完整的建模与数据生成过程。3.1 问题抽象与数学模型定义首先我们需要将模糊的业务描述转化为精确的数学模型。假设核心诉求是在满足每日各时段、各岗位人力需求的前提下最小化总人力成本包括固定招聘成本和变动工资成本同时满足员工的工作负荷、连续性、技能匹配等约束。一个简化的混合整数规划MIP模型可能如下集合D: 天数集合 (e.g., 7天)S: 每天时段集合 (e.g., 上午、下午、晚上)E: 潜在员工集合 (e.g., 50人)K: 技能类型集合 (e.g., 引导、讲解、收银、后勤)参数demand[d][s][k]: 第d天第s时段需要技能k的人数。cost_fixed[e]: 雇佣员工e的固定成本如培训、管理费。cost_var[e][d][s]: 员工e在第d天第s时段工作的单位时间工资。skill[e][k]: 员工e是否具备技能k (0/1)。max_shifts[e]: 员工e在整个展期内最多可安排的班次数。min_rest[e]: 员工e两个班次之间最少休息时间小时。决策变量x[e]: 是否雇佣员工e (0/1)。y[e][d][s][k]: 员工e在第d天第s时段是否被安排从事技能k的工作 (0/1)。目标函数最小化总成本 Σ (固定成本 * x[e]) Σ (变动成本 * y[e][d][s][k])。约束需求满足对于每个(d, s, k) Σ y[e][d][s][k] demand[d][s][k]。技能匹配y[e][d][s][k] skill[e][k] * x[e] (员工只有被雇佣且具备该技能才能被安排)。员工班次上限对于每个e Σ y[e][d][s][k] max_shifts[e]。连续性约束示例一个员工一天内不能连续上两个特定间隔太近的班次。变量关联y[e][d][s][k] x[e]。3.2 实例数据生成模拟现实复杂性有了模型下一步是生成符合现实的参数数据。这里的关键是引入合理的随机性和模式而不是完全随机。需求生成展销会的人流通常有模式。例如周末需求高于工作日下午和晚上需求高于上午。我们可以用一个基础需求乘以一个日模式系数和时段模式系数再加入小幅随机波动来生成demand。# 伪代码示例 base_demand {引导: 5, 讲解: 3, 收银: 4, 后勤: 2} day_pattern {‘周一’: 0.8, ‘周二’:0.9, ‘周三’:1.0, ‘周四’:1.0, ‘周五’:1.2, ‘周六’:1.5, ‘周日’:1.4} slot_pattern {‘上午’:0.8, ‘下午’:1.2, ‘晚上’:1.0} for d in days: for s in slots: for k in skills: demand[d][s][k] round(base_demand[k] * day_pattern[d] * slot_pattern[s] * random.uniform(0.9, 1.1))员工技能生成遵循“二八定律”或更复杂的分布。例如80%的员工掌握1-2项核心技能20%的员工掌握3项或以上技能并且技能之间有相关性会收银的可能也会引导。成本生成固定成本可能与员工的技能丰富度正相关。变动成本可以设置一个基础时薪并根据技能、经验等级进行调节。约束参数生成max_shifts可以设置为一个范围模拟员工不同的可用时间。min_rest则根据劳动法规设定一个统一值或小范围浮动。注意事项生成数据后务必进行可行性检查。例如计算总需求人时和总员工可用人时确保理论上存在可行解。否则生成的将是一个无解的问题对测试算法没有意义。3.3 实例的变体与难度分级单一实例不够我们需要生成一个系列形成梯度。小规模基准实例|E|20, |D|3, |S|2, |K|2。用于算法快速原型验证和调试。中等规模标准实例|E|50, |D|7, |S|3, |K|4。这是我们测试的主力模拟一周的展销会。可以生成3-5个随机种子不同的实例测试算法鲁棒性。大规模挑战实例|E|200, |D|14, |S|3, |K|6。模拟一个大型、跨两周的展会。用于测试算法和求解器的可扩展性极限。带特殊约束的变体在标准实例基础上增加诸如“某些员工必须同时上班”、“每个班次必须有一个资深员工作为组长”、“员工对班次有偏好”等复杂约束模拟更真实的场景。4. 测试集的评估框架与自动化测试流程有了测试实例我们还需要一套标准化的“阅卷”流程即评估框架。这通常通过一个自动化测试脚本来实现。4.1 评估指标的定义与计算对于优化问题评估指标需多维化首要指标最优解/最优值如果已知如经典问题这是黄金标准。目标函数值算法找到的解对应的目标值。最优间隙(找到的解的目标值 - 已知最优值) / |已知最优值| * 100%。这是衡量精度的核心。效率指标计算时间从算法启动到终止所花费的CPU时间或墙钟时间。需注明运行环境CPU、内存。迭代次数/函数评估次数对于迭代类算法如元启发式这是一个与时间相关但不完全依赖硬件的指标。鲁棒性指标成功率在多次独立运行中找到满足特定质量要求如最优间隙1%的解的比例。标准差多次运行所得目标值或计算时间的标准差越小说明越稳定。辅助指标可行性找到的解是否满足所有约束这是前提。收敛曲线记录迭代过程中最优值的变化可视化算法的收敛特性。4.2 自动化测试脚本的设计一个典型的测试脚本工作流如下遍历测试集目录读取每个问题实例的元信息和数据文件。调用待测算法传入问题数据并记录开始时间。运行算法获取其返回的解决策变量赋值和最终目标值。调用解决方案验证器检查解的可行性。如果不可行记录违规信息目标值视为无效。计算评估指标与已知最优值比较计算间隙记录运行时间等。汇总结果将每个实例的结果问题ID、最优值、找到的值、间隙、时间、是否可行记录到一个结构化的结果文件如CSV或JSON中。生成报告脚本最后可以生成一个简要的文本报告或图表展示算法在不同类别问题上的平均表现、最好/最差表现等。# 一个极其简化的测试脚本框架示例 import os, json, time from my_algorithm import solve_scheduling_problem from validator import validate_solution, calculate_cost def run_benchmark(testset_path, output_path): results [] for instance_file in os.listdir(os.path.join(testset_path, instances)): if instance_file.endswith(.json): instance_id instance_file[:-5] # 1. 加载实例 with open(os.path.join(testset_path, instances, instance_file), r) as f: data json.load(f) # 2. 加载已知最优解如果有 best_known load_best_known(instance_id, testset_path) # 3. 运行算法 start_time time.perf_counter() solution solve_scheduling_problem(data) # 你的算法入口 end_time time.perf_counter() elapsed_time end_time - start_time # 4. 验证与评估 is_feasible, violations validate_solution(data, solution) if is_feasible: obj_value calculate_cost(data, solution) gap (obj_value - best_known) / abs(best_known) * 100 if best_known is not None else None else: obj_value None gap None # 5. 记录结果 results.append({ instance: instance_id, best_known: best_known, found_value: obj_value, gap(%): gap, time(s): elapsed_time, feasible: is_feasible, violations: violations }) # 6. 保存结果 save_results_to_csv(results, output_path) # 7. 生成简要分析 generate_summary_report(results)实操心得自动化测试中一定要为每个算法运行设置合理的超时限制例如每个实例最多运行1小时。对于未在时限内找到可行解的情况记录为“超时”其目标值可以记为无穷大或一个很大的数。这能防止测试过程无限期挂起也是评估算法实用性的重要方面。5. 常见陷阱、问题排查与测试集维护在构建和使用测试集的过程中会遇到各种坑。这里分享一些实战中积累的经验。5.1 构建阶段的常见陷阱数据不一致性实例文件中的参数自相矛盾。例如某个员工的max_shifts设置为5但根据需求计算即使他上满所有班次也无法满足某时段的需求导致问题天然无解。解决方法编写一个“实例预检查”脚本在加入测试集前对每个实例进行基本的可行性、一致性校验。生成器偏差随机生成的数据带有 unintended bias非预期偏差导致所有实例都过于简单或具有某种特殊结构使得算法表现失真。解决方法使用不同的随机种子生成多组实例并人工抽查或使用统计方法检查生成实例的关键特征如约束矩阵密度、目标函数系数分布是否覆盖了预期范围。格式版本混乱测试集更新后数据格式发生了微小变化但没有同步更新验证器和元信息导致旧代码无法运行或结果错误。解决方法为数据格式定义版本号并在元信息中明确标注。提供格式升级脚本或明确的迁移指南。5.2 使用阶段的典型问题与排查当你的算法在测试集上表现不佳时如何定位问题是出在算法还是测试集本身现象可能原因排查步骤所有实例都找不到可行解1. 算法可行性寻找机制有缺陷。2. 测试集中某些约束被误解或实现错误。1. 先用一个非常小的、你手动验证过有解的实例测试算法。2. 检查验证器逻辑确保其与问题定义完全一致。3. 输出算法迭代中的中间解用验证器逐步检查在哪一步违反了约束。求解结果远差于已知最优值1. 算法参数设置不当。2. 问题规模太大算法陷入局部最优。3. 已知最优值对应的问题模型与你的模型有细微差别。1. 在小实例上调参观察收敛行为。2. 尝试用商业求解器如Gurobi求解你的模型看是否能得到相近的最优值。如果商业求解器也得不到可能是模型或数据问题。3. 仔细对比你的模型与经典问题定义的每一个约束和目标项。运行时间异常长1. 算法复杂度高。2. 实例数据中存在导致性能劣化的特殊结构。3. 代码实现存在低效操作如频繁的深拷贝、未利用稀疏性。1. 使用性能分析工具如Python的cProfile定位代码热点。2. 检查大规模实例中约束矩阵、需求矩阵是否稀疏算法是否利用了稀疏性。3. 对比不同规模实例的运行时间验证其增长是否符合预期的时间复杂度。结果不稳定多次运行差异大算法中随机因素影响过大如遗传算法的初始种群、模拟退火的初始温度。1. 增加独立运行次数如30次计算平均性能和标准差。2. 固定随机数种子进行调试确保算法逻辑本身是确定的。3. 检查是否在算法早期就陷入了不同的搜索区域。5.3 测试集的长期维护与社区化一个优秀的测试集是有生命的需要维护。版本控制使用Git等工具管理测试集清晰记录每次变更如新增实例、修正数据错误、更新最优解。收录新最优解鼓励使用者提交他们找到的更好的解并经过验证后更新到测试集的元信息中。这能推动领域进步。建立问题与解的映射库不仅记录最优值也记录最优解的具体方案决策变量取值。这对于分析算法行为、设计新的启发式规则非常有价值。提供多种访问方式除了打包下载可以提供在线的实例生成器、结果提交门户和排行榜增加互动性和影响力。构建和维护一个高质量的优化问题测试集是一项基础设施性质的工作。它不直接产生算法但它为算法的孕育、比较和进化提供了最肥沃的土壤。当你下次被问及“你的算法效果如何”时如果能自信地回答“在标准的XX测试集上平均最优间隙为0.5%计算时间比主流方法快30%”这份底气和说服力正是来自于一个严谨、公正的测试集。

相关新闻

红砖立面---经典设计,结合“大屋顶”形式,轻盈的视觉效果

红砖立面---经典设计,结合“大屋顶”形式,轻盈的视觉效果

红砖立面--- 经典设计,结合“大屋顶”形式,轻盈的视觉效果--- 浙江工业大学亚运板球场馆 亚运板球场 浙工大设计

2026/10/12 19:27:52 阅读更多 →
对齐:让模型学会“做人“

对齐:让模型学会“做人“

预训练造出了一个什么都懂的博学者。微调教会了它回答问题的格式。但教会它"什么能说、什么不能说"——这是对齐要解决的问题。一个博学的疯子回忆上一篇的结尾:预训练之后的模型是一个"博学的疯子"。它知道怎么制作炸弹。"以下是详细步骤…

2026/10/12 19:25:38 阅读更多 →
西门子PLC电梯群控系统设计与优化实践

西门子PLC电梯群控系统设计与优化实践

1. 项目背景与核心需求十一层三梯群控电梯系统是典型的中高层建筑垂直交通解决方案。这类系统需要同时满足三个核心诉求:运输效率最大化、乘客等待时间最小化、设备能耗最优化。传统独立控制的电梯在高峰时段容易出现"扎堆停靠"现象——多部电梯同时响应同…

2026/10/12 20:06:58 阅读更多 →

最新新闻

可靠性数据统计方法与R语言实战:从配套数据集到Weibull建模

可靠性数据统计方法与R语言实战:从配套数据集到Weibull建模

简介:《Statistical Methods for Reliability Data》配套数据集面向可靠性建模学习者和从业者,是这本经典著作的实操补充。包内围绕寿命分布、生存分析、故障率函数、可靠性增长、多组件系统可靠性、寿命试验设计与统计推断等核心知识点,提供…

2026/10/12 20:07:21 阅读更多 →
AI编程agent失控?用最小规格驱动工作流守住代码边界

AI编程agent失控?用最小规格驱动工作流守住代码边界

我本来是想抄作业的。Spec Kit、OpenSpec、Superpowers 这三个名字,我在搜索框里来回扫了不止一遍。原因很简单:最近一段时间的 AI 编程 agent 越来越难控制,改一个登录模块,它能顺手把我另一个文件的变量名也改了;说好…

2026/10/12 20:07:21 阅读更多 →
自建技术博客的完整实践:从静态站点生成到命令行发布

自建技术博客的完整实践:从静态站点生成到命令行发布

1. 起点:为什么要自建博客,而不是继续躺在平台里我相信每个写过一段时间技术博客的人,都会在某一天产生一个念头:我写的内容到底属于谁?这个念头在我身上盘旋了很久。平台给流量、给推荐、给了现成的排版和读者&#x…

2026/10/12 20:07:21 阅读更多 →
开放代码评审实践:从零搭建轻量级评审工具与流程

开放代码评审实践:从零搭建轻量级评审工具与流程

1. 为什么“代码评审”这件事值得单独拿出来做一套工具代码评审(Code Review)是研发流程里最容易被口号化、也最容易被敷衍的一环。几乎每个团队都声称自己在做评审,但真正落到日常,往往是三种状态:要么是“橡皮图章式…

2026/10/12 20:07:21 阅读更多 →
open-code-review:让代码评审有据可查、有果可闭环的工程实践

open-code-review:让代码评审有据可查、有果可闭环的工程实践

1. 项目概述:open-code-review 到底要解决什么代码评审这件事,但凡在团队里待过一两年的人,都经历过那种“评审2小时,改动3行”的尴尬局面。评审邮件发出去没人理,约了个会议大家对着屏幕沉默,等终于有人说…

2026/10/12 20:07:21 阅读更多 →
贷中风险预测竞赛级Python源码解析:从多表合并到LightGBM建模

贷中风险预测竞赛级Python源码解析:从多表合并到LightGBM建模

简介:面向计算机专业毕业设计、期末大作业及金融风控入门实践,这份完整项目包以贷中风险预测为核心任务,基于Python机器学习完整覆盖数据清洗、特征工程、模型训练与效果评估流程,适合需要从零构建实际项目的初中级学习者。资源共…

2026/10/12 20:06:21 阅读更多 →

日新闻

复古胶片颗粒感噪点合成器:Canvas ImageData 像素高斯杂色注入算法

复古胶片颗粒感噪点合成器:Canvas ImageData 像素高斯杂色注入算法

在数码相机、高清显示屏与现代矢量图形技术高度发达的今天,画面可以做到绝对的锐利、平滑与无瑕。然而,当一张秋日手账插画或拍立得照片过于“平整无瑕”时,往往会散发出一种冰冷生硬的“数码塑料感(Digital Plasticity&#xff0…

2026/10/12 0:00:59 阅读更多 →
活字印刷古籍线装排版:Canvas 竖排文字与栏线自适应算法

活字印刷古籍线装排版:Canvas 竖排文字与栏线自适应算法

在现代网页与移动端设计中,横排(Horizontal Layout)早已经成为了绝对的主流。然而,当我们翻开泛黄的线装古籍、宋版木刻诗集,或是欣赏一张茶道雅集的手写便签时,那种**自上而下纵向书写、自右向左逐列铺展&…

2026/10/12 0:00:59 阅读更多 →
周日晚间的“精神松绑减震器”:无压力情绪倾倒箱与温和轻声陪伴

周日晚间的“精神松绑减震器”:无压力情绪倾倒箱与温和轻声陪伴

每到周日的晚上八点到十点,很多人心里都会悄悄亮起一盏警示灯。 在心理学上,这种现象有一个专门的称谓——“周日夜晚焦虑症(Sunday Scaries)”。明天又是周一,闹钟又要重新在七点响彻卧房;脑海里仿佛有一个…

2026/10/12 0:00:59 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/12 0:16:30 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/12 0:16:38 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/12 0:16:43 阅读更多 →

月新闻

我发现了一个新思路:用 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/11 10:45:37 阅读更多 →
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/12 14:48:49 阅读更多 →
黑夜航拍船只数据集训练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/12 18:11:17 阅读更多 →