TensorSpace 模型预处理实战:将单一输出预训练模型转换为层间多输出可视化格式
数据可视化深度学习3D渲染AI 可解释性【免费下载链接】tensorspaceNeural network 3D visualization framework, build interactive and intuitive model in browsers, support pre-trained deep learning models from TensorFlow, Keras, TensorFlow.js项目地址https://gitcode.com/gh_mirrors/te/tensorspace点击查看免费下载本文是 TensorSpace 官方《模型预处理简介》docs/README_zh.md的深度展开。TensorSpace 是一个用于在浏览器中构建神经网络 3D 可视化交互应用的框架但要让一个现成的 TensorFlow、Keras 或 TensorFlow.js 预训练模型在 TensorSpace 中活起来必须先完成模型预处理Model Preprocessing——把只输出最终结果的传统模型改造成同时输出中间层结果的 TensorSpace 适配模型。读完本文你将掌握预处理的完整概念、核心参数含义以及针对 TensorFlow4 种格式、Keras2 种格式、TensorFlow.js 的完整可执行转换命令与可视化接入代码。图 1传统预训练模型只有单一最终输出如 MNIST 的 softmax 结果什么是模型预处理模型预处理或模型预处理过程是 TensorSpace 使用流程中位于模型训练/下载与3D 可视化之间的一步关键工序。按照官方文档它一般包含三个步骤选择你需要提取层间数据的中间层从网络结构里挑出那些你希望在 3D 场景中呈现的层例如卷积层、池化层、全连接层。从中间层提取所需要的数据让模型在推断时不仅返回最终结果还把中间层的 tensor 一并返回。将原有模型转换为 TensorSpace 所支持的模型格式TensorSpace 的 Loader 是基于 TensorFlow.js 的tf.loadLayersModel/tf.loadGraphModel加载模型的因此预处理产物必须是 TensorSpace 兼容的 tfjs 模型格式一份model.json结构文件 若干权重分片文件。为什么需要模型预处理TensorSpace 提供了非常灵活的框架开发者可以用类似搭积木的方式设计模型结构——即使没有真实的网络与权重也能先用TSP.layers.*堆叠出一个展示用模型见 examples/helloworld/helloworld-empty.html它不加载任何权重仅通过model.add()构建 LeNet 结构。但 TensorSpace 更大的价值在于它提供了一个 3D 可视化交互空间让模型中层与层之间的链接、最终输出的形状都变得直观可以同时观察到模型结构和层间输出。问题在于大多数已经训练好的模型多用于推断只提供一个最终输出。例如一个 MNIST 手写字符模型常见的 TensorFlow 或 Keras 预训练模型只有一个最终输出——经过最后 softmax 层得到的 10 个 0~1 之间的数值表示输入数字属于0-9的概率见图 1。这样单一的输出无法回答模型是怎么一步步得出这个结论的。TensorSpace 十分吸引人的一点在于通过获取层间输出并渲染到 3D 实体上使用者可以同时观察模型结构和层间输出信息密度更高、更直观而且能呈现每一层对输入数据的直接处理结果完整了解最终预测结果是怎样一步步产生的见图 2。图 2经过预处理后模型除最终结果外还输出 padding、conv、maxpool、dense 等中间层结果要达到这种效果就需要对模型做预处理让从网上下载的预训练模型不仅仅输出最终结果还输出中间层的层间结果——这也是本教程要解决的两个核心问题如何定位中间层节点的位置、如何生成多输出层间输出的预训练模型。如何预处理TensorSpace-Converter 总览通过预处理我们把传统单一输出的神经网络模型转换为拥有中间层输出的 TensorSpace 适配模型。这个工作由官方配套工具TensorSpace-Converter命令行程序tensorspacejs_converter完成。tensorspacejs_converter的通用调用形式为$ tensorspacejs_converter \ --input_model_from框架类型 \ --input_model_format模型格式 \ --output_layer_names中间层名称,逗号分隔 \ input_path \ output_path核心参数一览参数含义本仓库教程中的取值--input_model_from原始模型的构建框架tensorflow、keras、tfjs--input_model_format原始模型的文件组织格式tf_keras、tf_keras_separated、tf_frozen、tf_saved、topology_weights_combined、topology_weights_separatedtfjs模型无需此参数--output_layer_names部分场景写作--output_node_names需要导出中间结果的层/节点名逗号分隔如conv_1,maxpool_1,...,softmaxinput_path位置参数原始模型路径多文件格式用英文半角逗号,合并结构文件在前、权重文件在后./rawModel/keras/tf_keras_model.h5等output_path位置参数预处理结果输出目录./convertedModel等不同框架、不同格式的具体命令下面分三节逐一给出这些命令都完整保存在仓库的 docs 文档体系中可直接对照执行。场景一TensorFlow 模型预处理4 种格式TensorFlow 教程docs/tensorflow/README_zh.md以 MNIST 数据集 LeNet 结构为例覆盖了 4 种常见的模型存储格式tf.keras合并模型、tf.keras结构与权重分离模型、frozen 模型、saved 模型。对应的原始模型、转换脚本与可视化代码分别位于 docs/tensorflow/rawModel、docs/tensorflow/script 与 docs/tensorflow/index.html。1. tf.keras 模型结构 权重合并为单个 .h5对于模型结构和权重合并保存的tf.keras模型只有一个xxx.h5文件用以下命令转换脚本见 convertKeras.sh$ tensorspacejs_converter \ --input_model_fromtensorflow \ --input_model_formattf_keras \ --output_layer_namesconv_1,maxpool_1,conv_2,maxpool_2,dense_1,dense_2,softmax \ ./rawModel/keras/tf_keras_model.h5 \ ./convertedModel/layerModel注意事项将input_model_from设置成tensorflow。将input_model_format设置成tf_keras。将.h5文件的路径设置到input_path中。取出tf.keras模型的Layer名称设置到output_layer_names中如图 3 所示的操作方式。预处理脚本会在convertedModel/layerModel文件夹中生成经过预处理的模型本仓库已提供生成好的模型位于 docs/tensorflow/convertedModel/layerModel。2. tf.keras 模型结构与权重分开保存如果模型结构与权重分开保存会有一个模型结构文件xxx.json和一个权重文件eee.h5见 docs/tensorflow/rawModel/keras_separated用以下命令转换脚本见 convertKerasSeperated.sh$ tensorspacejs_converter \ --input_model_fromtensorflow \ --input_model_formattf_keras_separated \ --output_layer_namesConv2D_1,MaxPooling2D_1,Conv2D_2,MaxPooling2D_2,Dense_1,Dense_2,Softmax \ ./rawModel/keras_separated/topology.json,./rawModel/keras_separated/weights.h5 \ ./convertedModel/layerModel注意事项将input_model_from设置成tensorflow。将input_model_format设置成tf_keras_separated。因为有两个模型文件设置input_path时需合并两个文件的路径用英文半角逗号,分开且.json结构文件路径在前、.h5权重文件路径在后。3. frozen 模型.pb 图模型对于 TensorFlow frozen 模型见 docs/tensorflow/rawModel/frozen用以下命令转换脚本见 convertFrozen.sh$ tensorspacejs_converter \ --input_model_fromtensorflow \ --input_model_formattf_frozen \ --output_layer_namesMyConv2D_1,MyMaxPooling2D_1,MyConv2D_2,MyMaxPooling2D_2,MyDense_1,MyDense_2,MySoftMax \ ./rawModel/frozen/frozen_model.pb \ ./convertedModel/graphModel注意事项将input_model_from设置成tensorflow。将input_model_format设置成tf_frozen。将.pb文件的路径设置到input_path中。此时取出的是 frozen 模型的node名称设置到output_layer_names中frozen/saved 这类图模型没有 Layer 概念要按计算图中的节点名来指定输出参见图 3 下方的节点名取法。4. saved 模型目录格式对于 TensorFlow saved 模型见 docs/tensorflow/rawModel/saved用以下命令转换脚本见 convertSaved.sh$ tensorspacejs_converter \ --input_model_fromtensorflow \ --input_model_formattf_saved \ --output_layer_namesMyConv2D_1,MyMaxPooling2D_1,MyConv2D_2,MyMaxPooling2D_2,MyDense_1,MyDense_2,MySoftMax \ ./rawModel/saved \ ./convertedModel/graphModel注意事项将input_model_from设置成tensorflow。将input_model_format设置成tf_saved。将 saved 模型文件夹路径设置到input_path注意不是单个文件。同样取出模型的node名称设置到output_layer_names。以上两条命令都会在convertedModel/graphModel文件夹中生成预处理模型本仓库已提供见 docs/tensorflow/convertedModel/graphModel。图 3从模型结构/计算图中取出层名或节点名填入output_layer_names参数对应教程图 1/图 2 的操作方法场景二Keras 模型预处理2 种格式Keras 教程docs/keras/README_zh.md同样使用 MNIST LeNet。如果你手上没有现成的 Keras 模型可以用仓库提供的训练脚本 docs/keras/train/mnist.py 现场训练一个——该脚本用 Keras 定义了一个带Conv2D_1 / MaxPooling2D_1 / Conv2D_2 / MaxPooling2D_2 / Dense_1 / Dense_2 / Softmax命名的 LeNet 序列模型训练 5 个 epoch 后保存为keras_model.h5。1. 模型结构与权重保存在同一个 HDF5 文件对于模型结构和权重保存在同一 HDF5 文件中的 Keras 模型即xxx.h5见 docs/keras/rawModel/combined用以下命令转换脚本见 convertCombined.sh$ tensorspacejs_converter \ --input_model_fromkeras \ --input_model_formattopology_weights_combined \ --output_node_namesConv2D_1,MaxPooling2D_1,Conv2D_2,MaxPooling2D_2,Dense_1,Dense_2,Softmax \ ./rawModel/combined/mnist.h5 \ ./convertedModel/注意事项将input_model_from设置成keras。将input_model_format设置成topology_weights_combined。将.h5文件的路径设置到input_path中。取出 Keras 模型的Layer名称设置到output_layer_names对应脚本中实际写作--output_node_names语义同为指定需要导出的层/节点。2. 模型结构与权重保存在不同的文件对于结构与权重分开保存的 Keras 模型见 docs/keras/rawModel/separated用以下命令转换脚本见 convertSeparated.sh$ tensorspacejs_converter \ --input_model_fromkeras \ --input_model_formattopology_weights_separated \ --output_node_namesConv2D_1,MaxPooling2D_1,Conv2D_2,MaxPooling2D_2,Dense_1,Dense_2,Softmax \ ./rawModel/separated/topology.json,./rawModel/separated/weight.h5 \ ./convertedModel/注意事项将input_model_from设置成keras。将input_model_format设置成topology_weights_separated。同样地input_path需合并两个文件路径并用英文半角逗号,分开.json结构文件在前、.h5权重文件在后。场景三TensorFlow.js 模型预处理TensorFlow.js 教程docs/tfjs/README_zh.md同样以 MNIST LeNet 为例。如果你没有现成的 tfjs 模型仓库提供了训练用的 docs/tfjs/train/createModel.html 页面脚本。tfjs 模型的标准产物是一份结构文件xxx.json与权重文件xxx.weight.bin示例见 docs/tfjs/rawModel用以下命令转换脚本见 converter.sh$ tensorspacejs_converter \ --input_model_fromtfjs \ --output_layer_namesmyPadding,myConv1,myMaxPooling1,myConv2,myMaxPooling2,myDense1,myDense2,myDense3 \ ./rawModel/mnist.json \ ./convertedModel/注意事项将input_model_from设置成tfjstfjs 模型无需指定input_model_format。使用 TensorFlow.js 训练并保存模型后会得到结构文件xxx.json和权重文件xxx.weight.bin把两个文件放在同一个目录下然后将结构文件xxx.json的路径设置为input_path。取出 TensorFlow.js 模型的Layer名称设置到output_layer_names。预处理产物与载入可视化预处理产物model.json 权重分片无论哪种框架经过tensorspacejs_converter转换后都会得到两类文件一份model.json文件包含模型的结构信息包括中间层输出。若干权重文件包含模型训练得到的权重信息权重文件的数量取决于模型的结构层数、参数量越大分片越多。这一点可以直接在本仓库的 examples/helloworld/convertedModel/model.json 中得到印证这份预处理后的模型结构中output_layers一栏明确列出了padding_1、conv_1、maxpool_1、conv_2、maxpool_2、dense_1、dense_2、softmax共 8 个输出节点正是预处理阶段通过output_layer_names指定的那些中间层——这就是多输出模型在文件层面的直接证据。在 TensorSpace 中构建可视化模型以 TensorFlow 教程为例预处理完成后用 TensorSpace API 构建可视化模型完整代码见 docs/tensorflow/index.html 与 examples/helloworld/helloworld.htmllet model new TSP.models.Sequential( modelContainer ); model.add( new TSP.layers.GreyscaleInput() ); model.add( new TSP.layers.Conv2d() ); model.add( new TSP.layers.Pooling2d() ); model.add( new TSP.layers.Conv2d() ); model.add( new TSP.layers.Pooling2d() ); model.add( new TSP.layers.Dense() ); model.add( new TSP.layers.Dense() ); model.add( new TSP.layers.Output1d( { outputs: [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 ] } ) );注TensorSpace 的Sequential模型使用add()逐层堆叠结构实现在 src/tsp-model/Sequential.js。TensorFlow 教程中的 LeNet 不含 padding 层而 HelloWorld 与 tfjs 教程的 LeNet 结构包含Padding2d层对应使用new TSP.layers.Padding2d()。载入与初始化type 与 outputsName 是关键TensorSpace 在载入模型时对于不同种类的模型需要进行不同的配置对于 TensorSpace-Converter 生成的layer 模型来自tf_keras/tf_keras_separated格式只需指定type与urlmodel.load( { type: tensorflow, url: ./convertedModel/layerModel/model.json } );对于 TensorSpace-Converter 生成的graph 模型来自tf_frozen或tf_saved格式必须额外配置outputsName属性其中的name与转换时输入的output_layer_names完全一致model.load( { type: tensorflow, url: ./convertedModel/graphModel/model.json, outputsName: [MyConv2D_1, MyMaxPooling2D_1, MyConv2D_2, MyMaxPooling2D_2, MyDense_1, MyDense_2, MySoftMax] } );Keras 与 TensorFlow.js 模型的载入方式同理区别仅在type字段// Keras 模型 model.load( { type: keras, url: ./convertedModel/model.json } ); // TensorFlow.js 模型 model.load( { type: tfjs, url: ./convertedModel/model.json } );最后将 TensorSpace 模型初始化可以把预测放进init()回调中确保初始化完成后再执行model.init( function() { model.predict( image_5 ); // 传入手写 5 的像素数据 } );一切顺利的话在浏览器中打开对应的index.html即可看到 TensorSpace 渲染出的 LeNet 3D 模型对输入 5 的逐层预测过程。底层原理Loader 与 Predictor 如何消费多输出模型预处理产物的多输出特性最终由 TensorSpace 的加载器Loader与预测器Predictor消化。从源码看其分工如下Loader 负责加载模型资源。三种 Loader 均继承自抽象基类 LoaderKerasLoader 与 TfjsLoader 调用tf.loadLayersModel(url)加载 layer 类模型TfLoader 则根据是否配置了outputsName做出选择——配置了就走tf.loadGraphModel(url)graph 模型未配置则走tf.loadLayersModel(url)layer 模型。这与上文graph 模型必须配置outputsName的要求一一对应。Predictor 负责把输入数据喂给模型并取出各层输出。TfPredictor 的predict()中当outputsName存在时使用model.resource.execute(inputTensor, this.outputsName)按节点名列表一次性取出所有指定中间层的张量未配置时退化为model.resource.predict(inputTensor)。Keras 与 tfjs 的 PredictorKerasPredictor、TfjsPredictor则直接调用resource.predict(inputTensor)因为预处理后的model.json本身已经把中间层声明为输出节点一次predict即可返回全部层间结果。Predictor 基类负责输入张量的规范化。Predictor 在loadPredictorConfig中从已加载模型的inputs推断输入形状并把 batch 维度固定为1createInputTensor再把原始数据数组转为tf.Tensor列表供上层调用。Sequential 模型负责把预测结果分发到各可视化层。Sequential.predict 调用predictor.predict(input)得到预测结果数组再由updateLayerPredictVis()Sequential.js把第i个输出张量依次传递给第i1个可视化层——这正是层间输出逐一渲染到 3D 实体的运行时机制。小结模型预处理是 TensorSpace 可视化工作流中承上启下的一环其本质可概括为三件事选中间层 → 提取层间输出 → 转换为 TensorSpace 兼容的多输出 tfjs 模型。通过tensorspacejs_converter的--input_model_from、--input_model_format、--output_layer_names或--output_node_names与位置参数input_path/output_path即可完成 TensorFlowtf_keras、tf_keras_separated、tf_frozen、tf_saved、Kerastopology_weights_combined、topology_weights_separated以及 TensorFlow.js 三类主流格式的转换。转换后在 TensorSpace 中按模型类型配置typegraph 模型还需outputsName即可在浏览器中同时看到网络结构与每一层对输入数据的直接处理结果。仓库中与本文对应的完整可运行材料包括docs/tensorflow/README_zh.md、docs/keras/README_zh.md、docs/tfjs/README_zh.md 三份框架级教程及其 转换脚本、原始模型、预处理产物 和 可视化页面以及端到端示例 examples/helloworld。赞分享数据可视化深度学习3D渲染AI 可解释性【免费下载链接】tensorspaceNeural network 3D visualization framework, build interactive and intuitive model in browsers, support pre-trained deep learning models from TensorFlow, Keras, TensorFlow.js项目地址https://gitcode.com/gh_mirrors/te/tensorspace点击查看免费下载相关推荐Chainer 模型导出为 Caffe Protobuf 格式基于 exporters.caffe 的预训练模型转换实战Chainer 模型导出为 Caffe Protobuf 格式基于 exporters.caffe 的预训练模型转换实战 Chainer 提供了将自身模型导出深度学习机器学习使用TensorSpace可视化TensorFlow.js预训练模型使用TensorSpace可视化TensorFlow.js预训练模型 你是否曾经面对复杂的神经网络模型感到困惑想要直观理解模型内部的结构和工作原理Tenso数据可视化深度学习3D渲染AI 可解释性MNN模型导出工具将训练好的模型转换为推理格式MNN模型导出工具将训练好的模型转换为推理格式 你是否遇到过训练好的深度学习模型无法直接在移动端或嵌入式设备上运行的问题是否因为模型格式不兼容而导致部署流程人工智能大模型推理引擎深度学习本地部署模型量化模型优化多模态计算机视觉嵌入式上一篇Utopia知识抽取内幕文档如何变成实体与事实开放图契约深度解析下一篇定制你的语音助手外观qwen-audio-agent悬浮Orb宠物皮肤导入完全指南创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

GESP图形化编程三级解析

GESP图形化编程三级解析

解析:答案:A解析:答案:B解析:程序从上往下执行答案:D解析:考察双重循环答案:A解析:答案:B解析:克隆体拥有和本体一样的功能,本体可以干…

2026/10/13 3:12:46 阅读更多 →
Nacos作为服务配置中心实战

Nacos作为服务配置中心实战

目录 1、Nacos作为配置中心-基础配置 1.1 新建cloudalibaba-config-nacos-client3377模块 1.2 pom.xml 1.2 YML文件 1.2.1 为什么配置要配置两个yml文件 1.2.2 bootstrap.yml 1.2.3 application.yml 1.3 主启动类 1.4 业务类 1.5 在Nacos中添加配置信息 1.6 测试 2…

2026/10/13 3:11:46 阅读更多 →
12-综合案例-软件过程实战演练

12-综合案例-软件过程实战演练

第 12 章 综合案例:OOS 订单系统全生命周期实战本章把前 11 章的方法串到同一个项目的时间线上,展示"每个阶段做什么、产出什么、常见坑是什么"。它是全系列的"总装配车间":前 11 章的零件在这里装配成整车。学习目标 将需求、设计、编码、测试、配置、管理…

2026/10/13 3:11:46 阅读更多 →

最新新闻

darknet运行报错libopencv_highgui.so.3.2缺失?动态库排查与解决全攻略

darknet运行报错libopencv_highgui.so.3.2缺失?动态库排查与解决全攻略

直接跑./darknet就报错error while loading shared libraries: libopencv_highgui.so.3.2,这种动态库缺失的问题,估计每个搞深度学习目标检测的人都被它堵过一阵子。明明编译都过了,运行却翻车,查了半天也不知道到底哪里没对上。如…

2026/10/13 4:02:58 阅读更多 →
AnyPS5:面向PS5主机的本地化系统工具链设计与实现

AnyPS5:面向PS5主机的本地化系统工具链设计与实现

项目标题本身“AnyPS5”未提供足够上下文,但结合命名惯例、技术社区常见实践及合规安全边界,可明确判断:这是一个面向 PlayStation 5 主机的本地化工具类项目代号,聚焦于主机端系统级功能增强、本地环境适配或用户侧体验优化&…

2026/10/13 4:02:58 阅读更多 →
并查集动态维护连通块大小:‘星球联盟‘题解与易错点

并查集动态维护连通块大小:‘星球联盟‘题解与易错点

/* 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 4:02:58 阅读更多 →
AI原生IDE与插件深度对比:Cursor、Trae、通义灵码能力边界与选型指南

AI原生IDE与插件深度对比:Cursor、Trae、通义灵码能力边界与选型指南

这两年AI编程工具的变化速度,快得有点不讲道理。我回想最早用插件式AI补全的时候,代码行预测已经够惊艳了;但现在的AI原生IDE和新一代编程插件,已经把范围从“猜你下一个单词”扩展到了“替你改文件、跑命令、做收尾”。Cursor、T…

2026/10/13 4:02:58 阅读更多 →
GEO优化实战:让DeepSeek、Qwen、豆包、Kimi主动引用你的内容

GEO优化实战:让DeepSeek、Qwen、豆包、Kimi主动引用你的内容

上周我把同一个问题同时丢给 DeepSeek、Qwen、豆包、Kimi,问的是某工业软件厂商的产品优势。四个助手给出的答案里,只有两个提到了这个品牌,引用来源几乎没有交集;其中一个完整转述了官网页面上的一句话,另一个却把品牌…

2026/10/13 4:02:58 阅读更多 →
基于三菱PLC的自动配料控制系统设计:双速给料与落差补偿实战

基于三菱PLC的自动配料控制系统设计:双速给料与落差补偿实战

做自动配料控制系统,绕不开两件事:PLC的选型,和配料流程里那些让人头疼的细节——飞料、秤漂、配方切换、粘度变化导致的给料差异。这个“基于三菱PLC的自动配料控制系统的设计”项目,从需求拆解、硬件选型、控制逻辑到现场调试完…

2026/10/13 4:01:58 阅读更多 →

日新闻

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

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

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

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/12 0:16:38 阅读更多 →
影刀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/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 阅读更多 →