Keras实战:波士顿房价回归预测全流程解析
简介这份PDF教程聚焦深度学习中的回归问题以波士顿房价预测为完整案例面向希望用Keras在Python中开展项目实战的机器学习初学者与进阶开发者。内容从任务描述、14项特征含义讲起逐步演示如何加载数据、使用StandardScaler做尺度调整、构建基于ReLU隐藏层的基准神经网络模型并结合KerasRegressor、交叉验证与网格搜索进行改进帮助读者理解回归建模与调优流程。资源为1个PDF文件大小约366KB图文配合代码与执行结果适合边读边练。目前已有1349人学习浏览是一份兼顾概念讲解与落地操作的案例型教程。学完后可掌握房价预测场景下的数据预处理、模型封装、K折评估和超参数搜索等技能也能迁移至其他连续值预测任务。1. 回归问题不玄学拿 Keras 首先把波士顿房价预测跑通做深度学习入门最怕一上来就碰图像分类、目标检测那些重工程化的案例。显卡、CUDA、预训练权重、数据增强这一串名词还没消化完人已经学不下去了。回归问题反而是最亲民的入口数据量小、单机 CPU 就能跑、评价指标直白。这本《深度学习-基于Keras的Python项目开发实战》里关于波士顿房价预测的章节就是这样一个典型案例用 506 条房屋数据、13 个连续特征把 Keras 建模、10 折交叉验证、数据标准化、网格搜索调参整个过程串成一条可复现的流水线。适合刚装好 Python 和 Keras、想找个练手项目把回归问题完整跑通的人也适合想回头看看早期深度学习教材怎么处理小数据集的熟手。读完你至少能回答三个问题回归网络为什么输出层不加激活函数、预处理为什么必须塞进交叉验证、网格搜索结果为什么不能只看一个数。2. 波士顿房价数据集与基准模型13 个输入特征先看清楚2.1 数据集结构每行是一条城镇房价画像波士顿房价数据集统计于 1978 年506 条样本每条代表波士顿周边某个城镇或区域的房价信息。输入特征共 13 个目标值是 MEDV也就是自住房屋房价中位数。数据规模不大单层全连接网络在 CPU 上几十秒就能训练一轮这也是它适合当深度学习入门案例的原因——调参损耗小反馈快。字段说明字段说明CRIM城镇人均犯罪率DIS距 5 个就业中心的加权距离ZN住宅用地比例RAD距高速公路便利指数INDUS非住宅用地比例TAX每 1 万美元不动产税率CHAS是否临河虚拟变量PTRATIO城镇师生比例NOX环保指数氮氧化物浓度B城镇黑人比例RM每栋住宅平均房间数LSTAT低收入人群占比AGE1940 年前建成自住单位比例MEDV房价中位数目标值拿到手先注意量纲差异CRIM 是比例值RM 是房间数TAX 是税率绝对值B 这类比例特征数值会更大。不同量纲会直接干扰神经网络的梯度更新这就是本书 8.3 节专门做数据预处理的原因。加载数据用 scikit-learn 自带接口一行代码就能拿到 Bunch 对象但随机数种子要事先固定否则后续 K 折划分每次都不同实验就没有可比性。from sklearn import datasets import numpy as np seed 7 np.random.seed(seed) dataset datasets.load_boston() x dataset.data Y dataset.target print(x.shape, Y.shape) # (506, 13) (506,)dataset.data 是 13 列特征矩阵dataset.target 是房价中位数序列。设定 seed7 是为了让 KFold 的 shuffle 结果固定模型每次训练前数据划分一致后面调参得到的差异才真正来自模型结构而不是数据顺序。这里给的 np.random.seed 只锁住了 NumPy 的随机流Keras 后端还有自己的随机源后面避坑部分会单独说。什么样的任务算回归问题价格预测、乘客人数预测、温度预测都是。和多分类任务相比回归网络的输出层不需要 softmax 把结果压成概率而是直接输出连续数值损失函数也从 categorical_crossentropy 换成 mean_squared_error。理解这个区别再看下面的基准模型代码就不会觉得“少了一层”是笔误。2.2 基准模型单隐藏层 MLP 与 KerasRegressor 包装原书思路是先建一个尽可能简单的模型当基准之后每次改动都拿它对比。这里的 create_model 把 units_list 设计成列表参数[13] 表示单隐藏层 13 个神经元[13, 6] 就表示两层。为什么基准模型偏偏用 13 个神经元说白了就是取巧的默认值——让每个输入维度都有一个神经元承接没有理论保证纯粹是从简起点网格搜索后面会重新验证。from keras.models import Sequential from keras.layers import Dense from keras.wrappers.scikit_learn import KerasRegressor from sklearn.model_selection import cross_val_score, KFold from sklearn.preprocessing import StandardScaler from sklearn.pipeline import Pipeline from sklearn.model_selection import GridSearchCV def create_model(units_list[13], optimizeradam, initnormal): model Sequential() units units_list[0] model.add(Dense(unitsunits, activationrelu, input_dim13, kernel_initializerinit)) for units in units_list[1:]: model.add(Dense(unitsunits, activationrelu, kernel_initializerinit)) model.add(Dense(units1, kernel_initializerinit)) model.compile(lossmean_squared_error, optimizeroptimizer) return model第一层 Dense 同时充当输入层input_dim13 和特征数对齐循环体负责追加更多隐藏层最后 Dense(units1) 就是输出层不设激活函数回归任务直接输出数值。kernel_initializernormal 表示用正态分布初始化权重。loss 用 mean_squared_error优化器默认 adam。参数 init、optimizer、units_list 全部可配置这是为了后面网格搜索能直接搜索这些维度。model KerasRegressor(build_fncreate_model, epochs200, batch_size5, verbose0) kfold KFold(n_splits10, shuffleTrue, random_stateseed) results cross_val_score(model, x, Y, cvkfold) print(Baseline: %.2f (%.2f) MSE % (results.mean(), results.std())) # Baseline: 22.77 (11.57) MSEKerasRegressor 是 Keras 给 scikit-learn 做的适配器接收 build_fn 回调函数这个函数返回编译好的模型。适配之后模型就能像普通 sklearn 估计器一样被 cross_val_score 和 GridSearchCV 调度这是整个案例能少写大量样板代码的关键。KFold 把数据打乱切成 10 份每份轮流做验证集其余 9 份训练最终输出 10 次 MSE 的均值和标准差。Baseline 均值 22.77、标准差 11.57说明不仅误差偏高折与折之间波动也大这给后续优化留出了空间也说明模型连稳定的预测都谈不上。一个实用细节verbose0 让训练不打印进度条否则 10 折交叉验证会刷掉大量终端输出几乎没法看结果。epochs200、batch_size5 这种配置在单机 CPU 上每折也就几十秒量级总耗时还在可接受范围内。基准模型的意义就是立住一块“地板砖”后面标准化、调参、换结构每一次改动都要拿它做对比锚点。3. 数据预处理StandardScaler 与 Pipeline 的正确打开方式3.1 不同量纲是回归模型的隐形障碍看数据集字段就能发现CRIM 是比例值RM 是房间数TAX 是税率绝对值B 这类比例值可能上千。如果不做处理神经网络反向传播时会被数值大的特征带偏——输入从 0.01 变化到 1和从 100 变化到 200对加权求和的贡献完全不同。损失函数在原始尺度下是个狭长的碗梯度方向始终被大尺度特征主导收敛速度和最终精度都会受影响。StandardScaler 做的事情很简单对每一列减去均值、除以标准差使每个特征均值 0、方差 1公式就是 z (x - μ) / σ。标准化之后所有特征都在同一尺度权重初始化不会因为某一维度过大而失衡。对波士顿这个案例效果立竿见影原书 8.3 节给出的结果从 22.77 降到了 12.33接近一半的提升。这个收益甚至比后面调网络结构还大说明预处理在这个数据集上是优先级最高的动作。顺带说一句StandardScaler 适合特征分布接近正态的场景如果数据有严重长尾可以先做 log 变换再标准化。波士顿房价数据没有特别离谱的离群特征所以标准做法就够用。MinMaxScaler 也能把数据压到 0~1 区间但对量纲差异极大的场景StandardScaler 对均值偏移和尺度波动的适应力更好这也是原书选它的原因。3.2 把标准化放进每一折交叉验证而不是一次性 fit新手最容易犯的错是先把全部数据标准化再切训练集和验证集。这样验证集的信息已经参与计算均值和方差严格说就是数据泄漏评估结果会偏乐观。正确的姿势是每一折里只用训练折的数据去 fit StandardScaler再 transform 训练折和验证折。Pipeline 正是为此设计的。steps [] steps.append((standardize, StandardScaler())) steps.append((mlp, model)) pipeline Pipeline(steps) kfold KFold(n_splits10, shuffleTrue, random_stateseed) results cross_val_score(pipeline, x, Y, cvkfold) print(Standardize: %.2f (%.2f) MSE % (results.mean(), results.std())) # Standardize: 12.33 (6.96) MSEPipeline 把两个步骤串成一条流水线standardize 在当前折的训练集上 fit再对当前折做变换mlp 拿到变换后的数据继续训练。cross_val_score 每折调用 pipeline.fit 时StandardScaler 只看见训练折的数据验证折的统计量不会渗进训练过程。这段代码看起来只是把模型包了一层实际堵住了泄漏漏洞。对比两种结果更直观方案平均 MSE标准差原始尺度基准模型22.7711.57StandardScaler Pipeline12.336.96误差均值和波动双双下降。需要提醒的是Pipeline 里 steps 的名字不能乱起后面网格搜索如果想对特定步骤调参会用到标准化的步骤名__参数名这种带双下划线的写法例如standardize__with_mean。虽然原书第三步的网格搜索直接作用在 model 上但实际项目里把整条 Pipeline 传给 GridSearchCV 才是更通用的做法。预处理做到位之后模型评估从 22.77 降到 12.33接下来才轮到网络结构这个真正属于深度学习的调参环节。4. GridSearchCV 调参从网络拓扑到超参数的一轮完整搜索4.1 把模型函数写成可配置的搜索才有意义第 2 章的 create_model 中 units_list 是列表参数这意味着能同时控制“层数”和“每层神经元数”。想试两层结构 [13, 6]模型会先加 13 神经元层循环再追加 6 神经元层最后接 1 单元输出层。optimizer 和 init 也做了参数化网格搜索本质上就是把 5 个维度的候选值做笛卡尔积在每组组合上跑交叉验证看哪组表现最好。param_grid {} param_grid[units_list] [[20], [13, 6]] param_grid[optimizer] [rmsprop, adam] param_grid[init] [glorot_uniform, normal] param_grid[epochs] [100, 200] param_grid[batch_size] [5, 20] scaler StandardScaler() scaler_x scaler.fit_transform(x) grid GridSearchCV(estimatormodel, param_gridparam_grid) results grid.fit(scaler_x, Y) print(Best: %f using %s % (results.best_score_, results.best_params_))先说两个代码层面的细节。estimatormodel 这里的 model 是我们前面定义好的 KerasRegressor 实例务必保证它是未拟合的新实例否则会在搜索过程中反复 fit 同一个对象行为不可控。scaler_x 在网格搜索前就对全量数据做了 fit_transform这其实会带来轻微数据泄漏原书这里写得比较随意我在 5.4 节单独说。param_grid 遍历的是 5 个键的笛卡尔积2×2×2×2×2共 32 组超参数组合。每组内部再做 K 折交叉验证每个模型还要跑 100 或 200 epoch。算一下总训练量就知道为什么原作者说用了云主机 CPU 跑 30 分钟。我自己的习惯是第一轮先把网格缩到 2 个维度比如只调 units_list 和 optimizer确认方向后再放开 batch_size、epochs。一上来就把 5 个维度全部拉满在本地笔记本上很容易出现“看起来像死机”的长等待。4.2 最优结果与输出解读单层 20 神经元胜出原书跑完后的最优参数组合如下# Best: 99.163545 using {batch_size: 20, epochs: 100, # init: normal, optimizer: rmsprop, # units_list: [20]}这里必须说清楚一个容易误读的点99.16 这个数不是 MSE。KerasRegressor 继承的是 sklearn 的 RegressorMixin默认 score 方法返回的是 R² 决定系数原书打印的 99.16 可以理解为 R² 做了百分比显示对应约 0.9916意思是模型解释了约 99% 的方差。而模型编译时的 loss 是 MSE存储在训练历史里。两个指标口径完全不同不能拿 99.16 去和 Baseline 的 22.77 直接对比否则会得出“模型提升了 5 倍”的错误结论。这个坑在第 5 章还会展开。原书完整输出有三十多行我摘几组有代表性的组合看一下规律参数组合units, optimizer, init, epochs, batchmean_test_score说明[20], rmsprop, glorot_uniform, 100, 537.22batch 小明显不稳定[13,6], rmsprop, glorot_uniform, 100, 524.52两层结构在小样本上没占便宜[20], rmsprop, normal, 100, 2099.16最优组方差控制得好[13,6], rmsprop, normal, 200, 531.38增加到 200 epochs 也没救回来从完整结果看[20] 单隐层普遍比 [13,6] 双层稳定batch_size5 的组合标准差动辄 40~93而 batch_size20 的组合普遍平稳。506 条样本这种小数据集两层网络参数量变大反而更容易过拟合训练噪声也更大。这个结论符合“小数据优先简单模型”的经验别急着堆深度。另一个值得注意的现象是epochs 从 100 加到 200 在很多组合上并没有明显改善甚至标准差更大。这说明 100 epoch 对这个规模的数据已经够用继续训练只是在小样本上来回震荡。拿到最优参数后可以用 create_model(units_list[20], optimizerrmsprop, initnormal) 重建模型后面第 6 章我会给出完整的终版验证流程。5. 避坑与排查波士顿房价案例里最常见的五个翻车点网格搜索结果看似接近完美但只有自己动手复现一遍才会撞上教材没写的环境问题和指标口径问题。下面这几条都是实际踩过或高频出现的问题按“现象、原因、解决”梳理清楚。5.1 load_boston 找不到sklearn 新版已经移除该数据集现象很多人按教材敲datasets.load_boston()环境直接抛 AttributeError或者只有一行 DeprecationWarning 后数据返回空。原因波士顿数据集包含 B 字段这类按种族统计的特征且统计口径存在争议scikit-learn 在 1.2 版本正式删除了 load_boston。解决临时降级到scikit-learn1.0.2可以原样复现教材更推荐的做法是从 StatLib 下载原始 csv用 pandas 读进来以 MEDV 作为 y其余 13 列作为 x。想换个同风格的数据集练手可以用fetch_california_housing同样是回归问题特征数量相近API 也是 Bunch 风格改两行就能跑通。# sklearn 1.2 的替代方案 from sklearn.datasets import fetch_california_housing housing fetch_california_housing() x housing.data Y housing.target5.2 from keras 与 from tensorflow.keras装对导入路径现象from keras.models import Sequential在部分环境直接 ImportError或者在 pip 装了 Keras 后又和 TensorFlow 内置版本冲突出现类型不匹配的诡异报错。原因教材写的是独立 Keras 时代TensorFlow 2.x 起 Keras 已经内置为 tf.keras两者 API 大体相同但模型对象不是同一套类体系。解决按环境二选一现代环境统一用 tf.keras# 推荐TensorFlow 2.x from tensorflow.keras.models import Sequential from tensorflow.keras.layers import Dense from tensorflow.keras.wrappers.scikit_learn import KerasRegressor # 旧版教材原样 from keras.models import Sequential from keras.layers import Dense from keras.wrappers.scikit_learn import KerasRegressor混着导入最常见的报错是 “Model was constructed using shape ... but was called with ...”本质是两类模型在内存里的类型标识不一致。建议做项目时统一走 tf.keras环境里不要额外pip install keras避免把内置版本覆盖掉。5.3 best_score_ 高达 99.16 却不是 MSE指标口径必须对齐现象第 4 章打印出Best: 99.163545有人直接拿它和 Baseline 的 22.77 MSE 做比较觉得模型提升了近 5 倍兴奋半天后发现对不上账。原因KerasRegressor 默认走 sklearn 的 RegressorMixinscore 返回的是 R² 决定系数原书打印的 99.16 更像 R² 做了百分化而模型 compile 时的 loss 是 MSE。GridSearchCV 的 best_score_ 用的是估计器的 score 方法两个数本身就不是一个物理量。解决在 GridSearchCV 里显式指定 scoring让搜索结果与训练损失口径统一grid GridSearchCV(estimatormodel, param_gridparam_grid, scoringneg_mean_squared_error)sklearn 习惯把损失取负数“越大越好”所以搜索结果的负 MSE 越大真实 MSE 越小。指定 scoring 之后best_score_ 和模型 history 里的 loss 才能放在同一张图里看趋势。5.4 在全量数据上先标准化再搜索同样存在数据泄漏现象原书第 4 章先scaler_x scaler.fit_transform(x)再做 GridSearchCV按严格标准评估结果会偏乐观。原因GridSearchCV 内部每一折都会重新切训练集和验证集而 scaler 已经在全量数据上算过均值和方差验证折的统计信息渗透进了训练过程。Pipeline 的意义恰恰是在每折内重新 fit scaler。解决把标准化放进 Pipeline让 GridSearchCV 作用于整个 Pipelinepipeline Pipeline([(standardize, StandardScaler()), (mlp, model)]) grid GridSearchCV(estimatorpipeline, param_gridparam_grid)注意此时 param_grid 里的参数名要写成mlp__units_list、mlp__optimizer这种带步骤名前缀的格式。对小数据集影响不一定大但要把评估结果当作可信指标来用这条流程不能省。5.5 batch_size5 结果忽好忽坏随机性与批大小都要管住现象原书结果里 batch_size5 的组合标准差动辄 40~93同一个配置多次跑差异也大batch_size20 则稳定很多。原因batch 越小梯度噪声越大训练过程震荡明显加上只设了 np.random.seedKeras 和 TensorFlow 后端的随机源没有被锁定数据打乱和权重初始化的随机性都没被管住。解决锁随机种子要锁全套import os import random import numpy as np import tensorflow as tf os.environ[PYTHONHASHSEED] 0 random.seed(7) np.random.seed(7) tf.random.set_seed(7)在完全可复现的实验里还要考虑算子级确定性配置。实践上小数据集优先把 batch_size 提到 20梯度更稳定比追求小 batch 的“快速更新”实用得多。6. 验证与进阶用留出集和误差分布给最优模型一个交代网格搜索给出最优参数但 best_score_ 是在交叉验证折上得到的最终交付前还得单独切一个留出集用肉眼可见的方式检查预测质量。我的习惯是固定 20% 样本做测试集在剩余 80% 上训练然后同时看 R² 和平均绝对误差 MAE再对比预测值和真实值。from sklearn.model_selection import train_test_split from sklearn.metrics import mean_squared_error, mean_absolute_error, r2_score X_train, X_test, y_train, y_test train_test_split( scaler_x, Y, test_size0.2, random_stateseed) best_model create_model(units_list[20], optimizerrmsprop, initnormal) best_model.fit(X_train, y_train, epochs100, batch_size20, verbose0) y_pred best_model.predict(X_test) print(MSE: %.2f % mean_squared_error(y_test, y_pred)) print(MAE: %.2f % mean_absolute_error(y_test, y_pred)) print(R2 : %.4f % r2_score(y_test, y_pred))MSE 放大了大误差的惩罚适合评估上限风险MAE 直接解释为“平均预测偏差多少千美元”给业务方讲的时候更直观。R² 接近 1 说明模型解释了大部分房价方差。我还会把前 10 条预测值和真实值并排打印用肉眼扫有没有系统性高估或低估再画一个残差直方图看拖尾。残差集中在零附近、两侧大致对称模型才算真正过关。大致可以预期经过交叉验证选出的最优参数在留出集上成绩会略差于交叉验证均值这是正常的因为网格搜索已经见过这些折的梯度方向。如果你在留出集上成绩反而更好先检查是不是随机种子固定后测试集恰好简单了或者数据泄漏的某一步又被带了进来。拿到结果后我一般还会做两个方向的延伸第一把标准化的 Pipeline 和网格搜索合并成一个整体将来换数据集时只改数据加载部分第二把评估指标换成负 MSE 之后重跑一遍搜索确认最优参数没有因指标口径而漂移。这份 PDF 里整套回归问题流程——从基准模型、预处理到网格调参——都可以直接照搬复现。从那以后我每次拿到一个回归数据集都强制自己先跑完 baseline 加标准化再谈网络结构任何一个网格搜索结果也先问一句“这个 score 到底是什么口径”而不是看到数字漂亮就欢呼。这些习惯都是翻车换来的希望帮到你。本文还有配套的精品资源点击获取

相关新闻

C 语言程序环境与预处理:从源代码到可执行文件

C 语言程序环境与预处理:从源代码到可执行文件

C 语言程序环境与预处理:从源代码到可执行文件 写下一个 .c 文件,并不能直接让计算机执行。源代码需要经过预处理、编译、汇编和链接,最终生成可执行文件;程序启动后,又要在操作系统提供的执行环境中完成装载、运行和退…

2026/10/5 9:40:36 阅读更多 →
多模型API统一接入与管理:MaaS平台如何解决企业集成痛点

多模型API统一接入与管理:MaaS平台如何解决企业集成痛点

过去一年多,我给不少团队做过大模型应用的架构咨询,发现大家聊到“大模型API”时,第一反应都是哪个模型最强。可真到一线落地,真正卡住进度的,往往不是模型能力,而是“怎么把这些API接到自己系统里”。尤其业务需要同时用两三家大模型时,OpenAI风格的接口、被广泛兼容的Chat接口…

2026/10/5 9:39:36 阅读更多 →
AI工程实战路线:从Python基础到模型部署的完整指南

AI工程实战路线:从Python基础到模型部署的完整指南

先说一个可能有点冒犯的结论:市面上关于“从零开始学AI”的内容,九成以上都是把“跑通一个别人写好的模型”包装成了“学会AI工程”。你照着教程敲了三行代码,看到损失函数从3.2降到0.8,顿时觉得自己已经站在浪潮之巅了&#xff0…

2026/10/5 9:39:36 阅读更多 →

最新新闻

PHP-FPM vs 传统模式:性能与安全的终极对决

PHP-FPM vs 传统模式:性能与安全的终极对决

现代生产那环境需要选取使用php -fpm而并非其他的, 这是由于它能够支持动态方面能伸缩调整、实现平滑地重启以及具备细粒度的方面资源控制;并且还需要去匹配Event MPM与之相关的, 要启用起来并且对配置进行优化, 同时还要禁用掉.解析, 只有这样才能够提升PHP执行的效…

2026/10/5 10:20:52 阅读更多 →
详细剖析ethercat中容易混淆的三种抖动

详细剖析ethercat中容易混淆的三种抖动

一、三种抖动,三件不同的事 1**. 周期抖动(Cycle Jitter)—— 主站的心跳稳不稳** 主站每隔固定时间发一帧过程数据,比如 1ms。实际发送间隔可能是 999.4μs、1002.8μs、1000.1μs……这些值与 1000μs 的偏差就是周期抖动。 它只…

2026/10/5 10:20:52 阅读更多 →
EtherCAT 完整数据帧结构剖析(按字节)

EtherCAT 完整数据帧结构剖析(按字节)

2026/10/5 10:20:52 阅读更多 →
最弱模型竟成顶级AI解码器

最弱模型竟成顶级AI解码器

AI蒸馏,实锤了?2026年,硅谷最敏感的一桩悬案,就是AI蒸馏。每当, 一款新模型, 突然变强, 跑分, 直追GPT, 回答, 又带着的味道, 同一个问题, 就会开始, 在业内游荡。所有人都在怀疑,却没有人能把证据拍在桌上。直到今天&…

2026/10/5 10:20:52 阅读更多 →
中国研究生数学建模竞赛(华为杯)学习笔记——TOPSIS评价法

中国研究生数学建模竞赛(华为杯)学习笔记——TOPSIS评价法

文章目录TOPSIS简介方法和原理数学定义数学语言描述现实案例正负理想解定义实例量纲TOPSIS法的算法步骤1.用向量规范化的方法求得规范决策矩阵2.构成加权规范阵3.确定正负理想解的距离4.计算各方案到正理想解与负理想解的距离5.计算各方案的综合评价指数6.排列方案的优劣次序实…

2026/10/5 10:20:52 阅读更多 →
鸿蒙开发第2篇__装饰器

鸿蒙开发第2篇__装饰器

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

2026/10/5 10:19:52 阅读更多 →

日新闻

马斯克杀回智能体战场,Grok 4.5万亿参数撑腰,Cursor接手数字白领项目:用TaoToken统一Key跑通多模型Agent工作流

马斯克杀回智能体战场,Grok 4.5万亿参数撑腰,Cursor接手数字白领项目:用TaoToken统一Key跑通多模型Agent工作流

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

2026/10/5 0:00:22 阅读更多 →
AI编程工具插件机制详解:plugin.json配置与加载失败排查指南

AI编程工具插件机制详解:plugin.json配置与加载失败排查指南

1. 从“plugins”这个词说起:它到底在解决什么问题如果你最近在折腾 AI 编程工具,尤其是 Cursor、Codex CLI、Claude Code 这类带 CLI 的编辑器或命令行助手,那你大概率绕不开一个词——plugins。这个词本身不新鲜,从浏览器到 IDE…

2026/10/5 0:00:23 阅读更多 →
第26课:OpenClaw|日志审计与问题诊断:把日志链路改到 TaoToken 的排查清单

第26课:OpenClaw|日志审计与问题诊断:把日志链路改到 TaoToken 的排查清单

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

2026/10/5 0:00:23 阅读更多 →

周新闻

KT148A语音芯片外挂8002D功放的工程实践指南

KT148A语音芯片外挂8002D功放的工程实践指南

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

2026/10/5 5:06:42 阅读更多 →
LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

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

2026/10/5 1:10:22 阅读更多 →
ARM架构深度解析:从RISC设计理念到交叉编译实战

ARM架构深度解析:从RISC设计理念到交叉编译实战

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

2026/10/5 3:06:17 阅读更多 →

月新闻

我发现了一个新思路:用 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/4 11:40:45 阅读更多 →
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/4 9:43:54 阅读更多 →
黑夜航拍船只数据集训练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/4 20:14:29 阅读更多 →