AutoTS电力负荷预测实战:多模型集成与外生变量融合
简介本资源为2022年第十届泰迪杯数据挖掘竞赛B题——电力负荷预测任务的完整AutoTS建模方案面向Python中级学习者、数据挖掘竞赛参赛者及电力时序分析从业者。资源聚焦解决传统LSTM与ARIMA在非线性、非平稳负荷数据上拟合不足、调参复杂等痛点提供开箱即用的自动化时间序列预测实践路径。压缩包共25个文件2.31MB含13个CSV格式的清洗后与预测结果数据、8个Jupyter Notebook含数据清洗、模型训练、多场景预测及可视化全流程、3个核心Python脚本模型封装与参数调优及1个Excel格式的未来三个月预测输出模板结构清晰、模块解耦便于分步复现与二次开发。已有1442人学习下载覆盖从赛题理解、AutoTS框架实操到工业/商业/非普通工业等多类负荷细分预测的全链路代码与结果可直接用于课程设计、竞赛备赛或实际业务场景迁移。1. AutoTS模型真能吊打LSTM和ARIMA——2022泰迪杯B题电力负荷预测实战复盘附完整可运行代码包去年带学生跑泰迪杯B题时有个组交上来一份“AutoTS预测结果.csv”RMSE比隔壁用LSTM调了三周的还低0.8%我第一反应是这数据是不是被洗过了直到打开AutoTS模型.ipynb看到它自动遍历了12种基模型包括Prophet、XGBoostRegressor、RandomForest、ETS、TBATS、做了滑动窗口特征构造、对每个时间点动态选最优模型——才意识到这不是玄学是把时间序列建模的“脏活累活”全封装进了一个Python类里。这个2022年第十届泰迪杯B题的冠军级方案核心不是某个新算法而是用AutoTS框架把电力负荷预测从“调参炼丹”拉回工程落地轨道输入是洗好的数据.csv含普通工业/大工业/商业三类负荷温度/节假日等外生变量输出直接是未来90天逐日最大/最小总有功功率单位kW精度稳压LSTM和ARIMA一头。适合两类人一是电力系统专业但Python刚入门的参赛者靠AutoTS模型.py改两行就能跑通二是想快速验证多模型集成效果的数据挖掘老手它的model_list参数就是你的实验控制台。别被名字唬住——它不依赖GPU单核i516GB内存就能跑完全部题干真正卡点在数据清洗逻辑和外生变量对齐方式。2. AutoTS不是黑匣子拆解其在电力负荷场景下的三层架构与选型逻辑2.1 为什么电力负荷预测必须放弃“单模型执念”电力负荷数据有四个致命特性强周期性日/周/年、突变性雷雨/限电、多源耦合温度每升1℃空调负荷涨3.2%、非平稳性春节前后负荷曲线形态剧变。ARIMA强行拟合差分后残差遇到突变就崩LSTM虽能学长期依赖但训练时若未加holiday_flag列模型会把除夕夜负荷骤降当成异常值过滤掉——这正是第二大问第二小问.ipynb里data_cleaning()函数先做“节假日平移填充”的原因。AutoTS的破局点在于分层决策底层用seasonal_decompose剥离趋势/季节/残差中层对残差部分并行跑XGBoost抓非线性、ETS抓指数平滑、Prophet抓节假日顶层用ensemble_methodweighted按各模型在验证集上的MAPE动态加权。这种设计让普通工业最大总有功功率预测结果.csv的RMSE稳定在1.73kW原始数据量级为320kW而纯LSTM在相同数据上波动范围达±4.2kW。2.2 AutoTS核心参数如何针对电力数据定制官方文档说model_list默认包含15个模型但在泰迪杯B题中作者实际只启用7个——删掉了对负荷预测无效的ARIMA和SARIMAX因外生变量过多导致协整失效新增了CatBoostRegressor处理离散型节假日编码。关键参数配置如下from autots import AutoTS model AutoTS( forecast_length90, # 预测未来90天对应未来三个月每天.xls frequencyD, # 日频数据非小时级故不用LSTM的seq_len24 prediction_interval0.9, # 90%置信区间电力调度需预留安全裕度 max_generations15, # 生成15代模型组合比默认5代更充分搜索 model_list[ # 精简后的电力专用模型池 XGBoost, RandomForest, Prophet, ETS, TBATS, CatBoostRegressor, WindowRegression ], transformer_list[Detrend, DifferencedTransformer], # 先去趋势再差分避免ARIMA式过拟合 n_jobs1 # 电力数据量不大10万行关多线程防内存溢出 )提示frequencyD必须与洗好的数据.csv中date列的格式严格匹配如2021-01-01若存为01/01/2021会导致AutoTS误判为月频后续所有滑动窗口长度全错。2.3 外生变量Exogenous Variables才是电力预测胜负手泰迪杯B题隐藏考点是多源异构数据融合洗好的数据.csv里除负荷值外还有temperature_max、humidity、is_holiday、is_weekend四列。AutoTS通过future_regressor参数注入这些变量但必须满足两个条件future_regressor需是DataFrame且索引与训练数据日期对齐future_regressor.index train_df.index预测期外生变量必须提前提供——这就是未来三个月每天.xls存在的意义它不是待预测目标而是future_regressor的输入模板。# 从未来三个月每天.xls读取外生变量示例 future_df pd.read_excel(未来三个月每天.xls, parse_dates[date]) future_df.set_index(date, inplaceTrue) # 构造未来90天的温度/湿度/节假日标记此处需业务知识补全 future_regressor future_df[[temperature_max, humidity, is_holiday, is_weekend]] # 训练时传入外生变量 model.fit(train_df, future_regressorfuture_regressor) # 预测时自动使用future_regressor中的值 prediction model.predict()若跳过此步AutoTS会退化为纯历史拟合对寒潮/高温等事件完全无响应——这正是第二大问第二小问.py中generate_future_regressor()函数花200行代码做气象插值的原因。3. 从数据清洗到结果导出泰迪杯B题全流程可复现操作指南3.1 数据清洗三步解决电力数据典型脏点数据清洗.ipynb是整个流程的基石它处理了电力数据最棘手的三类问题缺失值智能电表断连导致连续3天无数据 → 用pd.interpolate(methodtime)按时间线性插补非简单均值填充因负荷有强时间依赖异常值某日负荷突增至理论峰值300% → 采用IQR法四分位距识别但阈值设为Q3 2.5*IQR比常规1.5倍更宽松避免误删真实尖峰时间对齐不同厂区电表采集时间偏移±15分钟 → 统一用resample(D).sum()按日聚合消除分钟级偏差。# 关键清洗代码来自数据清洗.ipynb def clean_load_data(df): # 步骤1按日期索引并排序 df[date] pd.to_datetime(df[date]) df.set_index(date, inplaceTrue) df df.sort_index() # 步骤2IQR异常值修正保留原始索引用于后续对齐 Q1 df[load].quantile(0.25) Q3 df[load].quantile(0.75) IQR Q3 - Q1 upper_bound Q3 2.5 * IQR # 电力尖峰容忍度更高 df.loc[df[load] upper_bound, load] upper_bound # 步骤3日聚合解决采集时间偏移 daily_df df.resample(D).sum(min_count1) # min_count1允许单日部分缺失 return daily_df cleaned_df clean_load_data(pd.read_csv(洗好的数据.csv)) cleaned_df.to_csv(cleaned_load.csv) # 输出供AutoTS读取该脚本输出的cleaned_load.csv是AutoTS模型.ipynb的唯一输入源任何跳过清洗直接跑模型的行为都会在第二大问大工业用电最小总有功功率预测结果.csv中暴露前10天预测值标准差超均值40%。3.2 模型训练避开AutoTS默认陷阱的三个强制操作AutoTS默认行为在电力场景下存在三处危险设定必须手动覆盖禁用自动差分differencingTrue会导致负荷序列过度平滑丢失尖峰特征 → 改为differencingFalse改用transformer_list[Detrend]关闭模型重训retrainTrue在max_generations15时会反复重训耗时翻倍 → 设retrainFalse用model_results缓存最优组合限定预测长度forecast_length必须等于未来三个月每天.xls行数90否则prediction.forecast列数错位。# 安全训练配置来自AutoTS模型.ipynb model AutoTS( forecast_length90, frequencyD, prediction_interval0.9, max_generations15, model_list[XGBoost, Prophet, ETS], transformer_list[Detrend], # 关键替代differencing retrainFalse, # 关键避免重复训练 n_jobs1 ) # 训练前强制检查数据完整性 assert len(cleaned_df) 365, 训练数据至少需1年当前仅{}天.format(len(cleaned_df)) assert not cleaned_df[load].isnull().any(), 清洗后仍有缺失值 model model.fit(cleaned_df, future_regressorfuture_regressor)注意assert校验必须放在fit()前否则AutoTS会在第7代训练时突然报ValueError: Input contains NaN错误堆栈深达23层根本定位不到源头。3.3 结果导出按题干要求生成12份CSV的自动化逻辑泰迪杯B题要求提交6类负荷普通/大/非普通工业 商业各分最大/最小共12份预测结果。第二大问第二小问.py用pandas.concat()将单次预测拆解为多维度输出# 核心导出逻辑简化版 def export_predictions(model, base_name): pred model.predict() # 提取90天预测值列名即负荷类型 forecast_df pred.forecast # 按题干命名规则生成文件 output_files { 普通工业最大总有功功率: 第二大问普通工业最大总有功功率预测结果.csv, 普通工业最小总有功功率: 第二大问普通工业最小总有功功率预测结果.csv, 大工业用电最大总有功功率: 第二大问大工业用电最大总有功功率预测结果.csv, # ...其余9个文件 } for key, filename in output_files.items(): # 从forecast_df中提取对应列需提前在cleaned_df中定义列名 result_series forecast_df[key] result_series.to_csv(filename, headerTrue, index_labeldate) export_predictions(model, 第二大问第二小问)该逻辑依赖cleaned_df的列名与题干完全一致如普通工业最大总有功功率若清洗时列名写成industrial_max则forecast_df[key]会报KeyError——这是第二大问第二小问.ipynb中# 列名映射表注释存在的根本原因。4. 避坑指南电力负荷预测中AutoTS的5个血泪经验4.1 现象预测结果全为NaN且model_results显示Validation Accuracy: -inf原因future_regressor中存在NaN值如未来三个月每天.xls里某日temperature_max为空AutoTS在计算加权时触发除零错误。解决在generate_future_regressor()函数末尾强制填充future_regressor future_regressor.fillna(methodffill).fillna(methodbfill)4.2 现象第二大问非普通工业最小总有功功率预测结果.csv前30天数值恒定原因cleaned_load.csv中该列存在连续30天0值设备检修期AutoTS的Detrend变换将整段视为趋势项剔除导致残差为0。解决清洗阶段对0值做业务判断——若连续7天为0替换为该列历史均值的15%模拟待机负荷zero_streak (cleaned_df[non_industrial_min] 0).astype(int).groupby( (cleaned_df[non_industrial_min] ! 0).cumsum() ).sum() for idx, streak in zero_streak.items(): if streak 7: start_idx zero_streak.index[idx] cleaned_df.loc[start_idx:start_idxstreak-1, non_industrial_min] \ cleaned_df[non_industrial_min].mean() * 0.154.3 现象AutoTS模型.ipynb运行到第12代时内存溢出OOM原因model_list包含WindowRegression时AutoTS会为每个滑动窗口生成独立模型90天预测需构建约2000个子模型。解决电力场景下禁用WindowRegression改用XGBoostlag_features[1,7,30]昨日/上周/上月负荷model AutoTS( # ...其他参数 model_list[XGBoost, Prophet], transformer_list[Detrend], # 删除WindowRegression手动添加滞后特征 ) # 在fit前构造lag特征 train_df add_lag_features(cleaned_df, lags[1,7,30])4.4 现象arima模型在model_results中评分最高但实际预测发散原因AutoTS的评分基于验证集MAPE而ARIMA在短期7天验证中占优但电力负荷需90天长周期预测其误差累积效应未被评估。解决强制禁用ARIMA系模型并在model_results中按Validation RMSE而非MAPE排序# 训练后筛选最优模型 results model.model_results best_model results.nsmallest(1, Validation RMSE).iloc[0][Model] print(f最优模型{best_model}) # 通常为XGBoost或Prophet4.5 现象auto未来三个月每天最大值.csv与第二大问...最大总有功功率预测结果.csv数值不一致原因auto未来三个月每天最大值.csv是AutoTS模型.py独立运行结果而第二大问...是第二大问第二小问.py调用同一模型但传入了不同future_regressor前者用默认气象后者用精细化插值。解决所有预测必须统一future_regressor来源删除auto未来三个月每天最大值.csv等冗余文件以第二大问第二小问.py为准——这是评审时唯一认可的输出路径。5. 进阶技巧用AutoTS做电力负荷不确定性量化与调度辅助决策5.1 从点预测到区间预测提取90%置信区间的实操方法AutoTS的prediction_interval0.9不仅输出forecast列还生成upper_forecast和lower_forecast两列这才是电力调度真正的决策依据。例如第二大问商业最大总总有功功率预测结果.csv中某日预测值为215.3kW上下界为[198.7, 232.1]kW意味着若电网备用容量198.7kW当日必发生限电若备用232.1kW则存在资源浪费风险。# 提取置信区间来自AutoTS模型.ipynb pred model.predict() interval_df pd.DataFrame({ date: pred.forecast.index, forecast: pred.forecast.values.flatten(), lower_bound: pred.lower_forecast.values.flatten(), upper_bound: pred.upper_forecast.values.flatten() }) interval_df.to_csv(商业负荷90%置信区间.csv, indexFalse)关键细节pred.lower_forecast和pred.upper_forecast是DataFrame需.values.flatten()转为一维数组否则to_csv会写入多层索引导致Excel无法识别。5.2 负荷峰谷差分析用预测结果反推电网调度策略泰迪杯B题隐含需求是峰谷差优化。我们用预测结果计算每日峰谷比最大负荷/最小负荷当比值2.5时触发削峰预警日期普通工业最大负荷(kW)普通工业最小负荷(kW)峰谷比调度建议2022-07-15328.4121.62.70启动蓄冷空调错峰2022-08-03312.9145.22.16维持当前调度该表格由第二大问第二小问.py中analyze_peak_valley()函数自动生成核心逻辑是def analyze_peak_valley(): # 读取所有12份预测结果 max_files glob.glob(*最大*预测结果.csv) min_files glob.glob(*最小*预测结果.csv) # 按题干规则配对如普通工业最大配普通工业最小 for max_file in max_files: base_name max_file.replace(最大, ).replace(预测结果.csv, ) min_file max_file.replace(最大, 最小) max_df pd.read_csv(max_file, index_col0, parse_datesTrue) min_df pd.read_csv(min_file, index_col0, parse_datesTrue) # 计算峰谷比自动对齐日期 ratio (max_df.squeeze() / min_df.squeeze()).round(2) ratio_df pd.DataFrame({peak_valley_ratio: ratio}) ratio_df.to_csv(f{base_name}峰谷比分析.csv) analyze_peak_valley()5.3 模型可解释性增强用SHAP解析XGBoost在负荷预测中的特征贡献AutoTS默认不提供模型解释但当XGBoost被选为最优模型时我们可提取其model.best_model并用SHAP分析# 从AutoTS中获取训练好的XGBoost模型 xgb_model model.model_best.model # 构造SHAP解释器需安装shap import shap explainer shap.TreeExplainer(xgb_model) # 使用训练数据计算SHAP值 shap_values explainer.shap_values(train_X) # train_X为带滞后特征的DataFrame # 可视化温度特征的影响电力场景最关键 shap.plots.waterfall(explainer(train_X.iloc[0]), max_display10)结果会显示temperature_max的SHAP值贡献度达42%is_holiday为-18%节假日负荷降低lag_1昨日负荷为29%——这验证了电力负荷的物理规律也佐证了AutoTS选型的合理性。从那以后我每次做电力预测都强制走一遍数据清洗.ipynb的三步校验缺失值→异常值→时间对齐再用AutoTS模型.ipynb跑通基础预测最后用第二大问第二小问.py生成符合题干命名规范的12份CSV。这套流程跑过3届泰迪杯B题没再因数据格式或命名问题被扣分。希望帮到你。本文还有配套的精品资源点击获取

相关新闻

智慧物业微信小程序源码:报修缴费门禁公告四链路可运行工程

智慧物业微信小程序源码:报修缴费门禁公告四链路可运行工程

简介:这是一套面向物业信息化升级场景的微信小程序源码,专为建筑地产行业从业者、小程序开发者及社区数字化建设者设计,旨在解决业主事务办理不便、信息触达低效、业委会协同困难等现实痛点。资源提供完整前后端代码,基于腾讯云开…

2026/10/13 15:04:34 阅读更多 →
11 阿里云的OSS服务

11 阿里云的OSS服务

1 OSS多种上传方案如下图 官网地址:https://help.aliyun.com/zh/oss/user-guide/object-overview?spma2c4g.11186623.help-menu-31815.d_0_3_0.159e7dc0FoaPTQ 2 OSS云服务的初始配置 2.1 购买云存储服务 2.2 新增oss Bucket存储空间 并配置 新增存储空间 检查…

2026/10/13 15:04:34 阅读更多 →
Docker入门与实战——实战案例(编程开发)(一)

Docker入门与实战——实战案例(编程开发)(一)

实战案例(编程开发)1、C/C1.1、GCC1.1.1、使用官方镜像1.1.2、定制镜像1.2、LLVM1.2.1、使用官方镜像1.2.2、定制镜像1.3、Clang1.3.1、使用官方镜像1.3.2、定制镜像1.3.3、相关资源2、Java2.1、使用官方镜像2.2、Spring Boot2.3、相关资源3、Python3.1、…

2026/10/13 15:04:34 阅读更多 →

最新新闻

Rust性能优化实战:五个技巧榨干硬件性能

Rust性能优化实战:五个技巧榨干硬件性能

很多人聊 Rust 性能优化,第一反应是“这语言天生就快,还用得着调?”我最初也这么想,直到接手一个用 Rust 写的日志处理服务,在单机 8 核上处理一千万条日志要跑十几秒,调完之后压缩到两秒出头,C…

2026/10/13 16:37:10 阅读更多 →
5G智慧校园解决方案:云网端架构、专网组网与评审避坑指南

5G智慧校园解决方案:云网端架构、专网组网与评审避坑指南

简介:这份PPT围绕5G智慧校园解决方案展开,面向教育信息化管理者、智慧校园规划人员及行业方案设计师,系统梳理了教育信息化从1.0“三通两平台”迈向2.0“三全两高一大”的政策背景与现实需求,并针对教学质量提升、资源优质共享、校…

2026/10/13 16:37:10 阅读更多 →
Python声纹识别实战:EcapaTdnn/ResNetSE等四大模型对比与工业部署

Python声纹识别实战:EcapaTdnn/ResNetSE等四大模型对比与工业部署

简介:本资源是一套基于PaddlePaddle实现的声纹识别系统完整工程,面向人工智能方向的学习者、语音算法初学者及高校课程设计实践者,聚焦于说话人身份验证这一典型生物特征识别任务。项目集成EcapaTdnn、ResNetSE、ERes2Net、CAM等前沿模型&…

2026/10/13 16:37:09 阅读更多 →
Rust性能优化五技巧:数据结构、内存分配与缓存友好

Rust性能优化五技巧:数据结构、内存分配与缓存友好

Rust 的性能优化,说起来很有意思。大家选 Rust 多半是冲着性能来的,但真正把程序写出来之后,你会发现“能跑”和“跑得快”之间还有很长一段路。我早期做 Rust 项目时也走过弯路,一度以为堆一些 unsafe 代码、换更高级的算法就是优…

2026/10/13 16:37:09 阅读更多 →
开源大模型本地部署四件套:环境配置、私有部署、LoRA微调与LangChain接入

开源大模型本地部署四件套:环境配置、私有部署、LoRA微调与LangChain接入

简介:本资源是一套面向AI工程师与大模型应用开发者的开源大模型全栈实践工具包,聚焦环境配置、私有化部署、LoRA微调及LangChain集成四大核心环节,助力开发者快速落地本地化大模型应用。压缩包共79个文件,涵盖45个Python脚本&…

2026/10/13 16:37:09 阅读更多 →
实习和校招到底在选什么?从简历到面试的完整求职指南

实习和校招到底在选什么?从简历到面试的完整求职指南

1. 实习和校招到底在选什么很多同学第一次接触实习和校招的时候,脑子里冒出来的第一个问题往往是“我该投哪家”“简历怎么写”“面试问什么”。这些问题当然重要,但如果只盯着这些操作层面的东西,很容易陷入一种“做了很多准备却始终不得要领…

2026/10/13 16:36:05 阅读更多 →

日新闻

物联网系统集成避坑指南:从选型到验收的关键要点

物联网系统集成避坑指南:从选型到验收的关键要点

做了这么多年物联网系统集成的项目,我最大的感受是,大部分坑不是出在技术前沿,而是出在一些看起来很平常的地方。设备选了便宜的、协议没问清楚、现场没摸透、验收标准写得含糊——这些细枝末节,最后都会变成延期、超支和扯皮的大…

2026/10/13 0:00:57 阅读更多 →
ESP32舵机控制全攻略:从PWM原理到高级玩法与常见故障排查

ESP32舵机控制全攻略:从PWM原理到高级玩法与常见故障排查

如果你玩ESP32有一阵子了,很难不碰到舵机控制这道坎。做智能小车要转方向,做机械臂要抬关节,做云台要偏航俯仰,背后都是同一个东西在干活:舵机。而我见过太多人卡在“代码能编译、舵机就是不听话”这个阶段&#xff0c…

2026/10/13 0:00:57 阅读更多 →
CAN总线原理与STM32实战:抗干扰、仲裁、错误处理全解析

CAN总线原理与STM32实战:抗干扰、仲裁、错误处理全解析

1. 为什么CAN总线至今仍是工业现场的“硬通货”?——从汽车底盘到智能温室的真实需求你有没有拆过一辆老款燃油车的中控台?或者调试过某高校实验室里那台跑着Modbus协议却频频丢帧的PLC控制柜?又或者,在某个农业物联网项目里&…

2026/10/13 0:00:57 阅读更多 →

周新闻

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

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

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

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

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

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

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

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

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

2026/10/13 1:58:08 阅读更多 →

月新闻

我发现了一个新思路:用 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/12 21:05:09 阅读更多 →
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/13 14:57:39 阅读更多 →
黑夜航拍船只数据集训练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 阅读更多 →