FATE 2.0 Hetero NN Pipeline 实战指南:基于 FedPass 与 SSHE 的纵向联邦神经网络
人工智能机器学习联邦学习深度学习分布式训练隐私计算密码学【免费下载链接】FATEAn Industrial Grade Federated Learning Framework项目地址https://gitcode.com/gh_mirrors/fa/FATE点击查看免费下载导读本文围绕 examples/pipeline/hetero_nn 目录下的官方 Pipeline 示例系统讲解在 FATE 2.0 中如何通过 FATE-Pipeline 搭建纵向联邦神经网络Hetero NN任务并重点剖析两种隐私保护策略——FedPass自适应混淆与SSHE同态加密结合安全共享——在聚合层中的配置方式与底层实现。读完本文你将掌握从数据上传、Pipeline 任务编排、模型与训练参数配置到结果评估的完整实操链路并能根据业务场景在 FedPass 与 SSHE 之间做出合理选型。一、Hetero NN Pipeline 示例总览1.1 示例任务构成examples/pipeline/hetero_nn目录下提供了两类纵向联邦神经网络任务的 Pipeline 脚本其任务类型由 README.md 明确列出任务类型隐私保护策略对应脚本NN with FedPass基于 DNN Passport 的自适应混淆test_nn_binary_fedpass.pyNN with SSHE同态加密 安全共享test_nn_binary_sshe.py两个脚本都是**二分类binary**任务使用相同的乳腺肿瘤数据集guest 侧breast_hetero_guest.csv、host 侧breast_hetero_host.csv区别在于聚合层的隐私保护方案不同。用户可以直接以一行命令运行任意一个 Pipeline 作业python ${pipeline_script}例如python test_nn_binary_fedpass.py python test_nn_binary_sshe.py脚本默认从../config.yaml读取集群参与方配置也可以通过--config参数指定其他配置文件通过--namespace指定数据在 FATE 中的命名空间。1.2 配套的测试套件与数据配置该目录下的 hetero_nn_testsuite.yaml 是供 FATE-Test 测试框架使用的套件配置其中定义了数据上传配置data段将 breast_hetero_guest.csv 以guest_0角色、breast_hetero_host.csv 以host_0角色上传到 FATE任务映射tasks段hetero-nn-binary-sshe与hetero-nn-binary-fedpass分别映射到两个测试脚本。数据段的元数据配置直接决定了上传到 FATE 的表的格式其中几个关键项说明如下配置项示例值作用meta.delimiter,CSV 字段分隔符meta.dtypefloat64特征数据类型meta.input_formatdense输入格式稠密格式meta.label_type/meta.label_nameint64/y标签类型与标签列名guest 数据独有meta.match_id_name/meta.match_id_rangeid/0参与方间样本对齐的匹配 ID 列名及其起始范围meta.tag_with_value/meta.tag_value_delimiterfalse/:是否携带标签值及其分隔符meta.weight_typefloat64样本权重数据类型partitions4表的分区数headtrue首行为表头extend_sidtrue自动扩展样本 IDtable_name/namespacebreast_hetero_guest/experiment表名与命名空间供后续 Reader 组件引用roleguest_0/host_0数据归属角色注意hetero_nn_testsuite.yaml中的namespace为experiment而测试脚本中 Reader 组件读取时使用namespacefexperiment{namespace}两者通过脚本的--namespace参数保持一致默认空字符串时即为experiment。1.3 参与方配置两个脚本默认读取 examples/pipeline/config.yaml其参与方声明如下parties: guest: - 9999 host: - 10000 - 9999 arbiter: - 10000 data_base_dir: # path to project base where data is located在示例脚本中仅使用第一个 guest9999和第一个 host10000FedPass 脚本额外配置了 arbiter10000。data_base_dir用于指定数据所在的项目根目录为空时表示数据路径直接使用相对仓库根目录的路径。二、FedPass 任务test_nn_binary_fedpass.py 深度解析2.1 FedPass 策略原理FedPass 是一种不依赖同态加密与安全共享的隐私保护策略其核心思想是把私人护照private passports嵌入神经网络实现自适应混淆adaptive obfuscation。具体做法是在网络中插入 passport layer该层利用模型参数与私人护照动态调整 scale 因子与 bias 项再经过自编码器与平均化处理从而混淆前向的隐藏特征与反向传播的梯度。其特性在 doc/2.0/fate/components/hetero_nn.md 中被归纳为三点隐私保护攻击者在没有护照的情况下极难从输出反推输入保持模型性能混淆参数通过反向传播随模型一起优化相比固定混淆方式性能更优速度接近明文训练无需同态加密或安全共享训练速度几乎与明文训练相当。在 FATE 2.0 中FedPass 策略可同时作用于guest 的 top model与host 的 bottom modelhost 通过agglayer_arg配置guest 通过top_arg配置。2.2 脚本结构与任务编排test_nn_binary_fedpass.py的完整 Pipeline 由 5 个任务组成编排顺序如下reader_0Reader 读取双方数据 → psi_0PSI 样本对齐 → hetero_nn_0训练 → hetero_nn_1用训练好的模型预测 → evaluation_0AUC 评估pipeline.add_tasks([reader_0, psi_0, hetero_nn_0, hetero_nn_1, evaluation_0]) pipeline.compile() pipeline.fit()其中reader_0Reader组件分别读取 guest 的breast_hetero_guest表与 host 的breast_hetero_host表命名空间experiment{namespace}psi_0PSI组件对双方数据做隐私求交产出共同样本集合output_datahetero_nn_0以train_data为输入执行训练输出output_modelhetero_nn_1以test_data为输入、input_modelhetero_nn_0.outputs[output_model]加载训练好的模型执行预测输出test_output_dataevaluation_0Evaluation组件在 guest 侧以auc为指标同时评估训练输出与测试输出的效果evaluation_0 Evaluation( eval_0, runtime_partiesdict(guestguest), metrics[auc], input_datas[hetero_nn_1.outputs[test_output_data], hetero_nn_0.outputs[train_output_data]] )作业结束后通过pipeline.get_task_info(eval_0).get_output_metric()[0][data]获取并打印评估结果。2.3 训练超参与优化器配置两个脚本都通过TrainingArguments源自 HuggingFace transformers 的训练参数体系配置训练过程training_args TrainingArguments( num_train_epochs1, per_device_train_batch_size16, logging_strategyepoch )num_train_epochs训练轮数FedPass 示例为 1SSHE 示例也为 1per_device_train_batch_size单设备批大小FedPass 为 16SSHE 为 256logging_strategy日志输出策略epoch表示每轮输出一次SSHE 示例还额外设置了log_leveldebug。从 hetero_default_runner.py 的实现看training_args最终会传入transformers.TrainingArguments且output_dir由 runner 自动接管为组件输出目录同时支持 checkpoint 断点续训resume_from_checkpoint。2.4 Guest 与 Host 的模型配置FedPass 示例通过get_config_of_default_runner分别为 guest 与 host 构造 runner 配置。Guest 侧持有标签与 10 个特征guest_conf get_config_of_default_runner( bottom_modelnn.Linear(10, 10), top_modelSequential( nn.Linear(10, 1), nn.Sigmoid() ), training_argstraining_args, optimizeroptim.Adam(lr0.01), lossnn.BCELoss() )guest 同时拥有 bottom modelLinear(10, 10)负责处理自身 10 维特征与 top modelLinear(10, 1) Sigmoid负责输出二分类概率损失函数采用二分类交叉熵BCELoss。Host 侧无标签持有 20 个特征聚合层启用 FedPasshost_conf get_config_of_default_runner( bottom_modelnn.Linear(20, 20), optimizeroptim.Adam(lr0.01), training_argstraining_args, agglayer_argFedPassArgument( layer_typelinear, in_channels_or_features20, hidden_features20, out_channels_or_features10, passport_modesingle, passport_distributegaussian ) )host 只有 bottom modelLinear(20, 20)其输出经过 FedPass 聚合层后再与 guest 侧特征融合。FedPassArgument的参数说明默认值见 hetero_nn_model.py 中的FedPassArgumentdataclass参数示例值默认值含义layer_typelinearconv护照层类型conv卷积或linear全连接in_channels_or_features208输入通道数或特征维度out_channels_or_features108输出通道数或特征维度kernel_size—3卷积核大小conv 类型时使用stride/padding/bias—1/0/True卷积步长、填充与偏置hidden_features20128自编码器隐藏层维度activation—relu激活函数可选relu、tanh、sigmoidpassport_distributegaussiangaussian护照采样分布可选gaussian、uniformpassport_modesinglesingle护照模式single或multimulti用于图像等多护照场景loc/scale—-1.0/1.0高斯分布的位置与尺度参数low/high—-1.0/1.0均匀分布的下限与上限num_passport—1护照数量ae_in/ae_out—None自编码器输入/输出维度两个侧别配置完成后通过HeteroNN组件绑定数据并下发各自的 runner 配置hetero_nn_0 HeteroNN(hetero_nn_0, train_datapsi_0.outputs[output_data]) hetero_nn_0.guest.task_parameters(runner_confguest_conf) hetero_nn_0.hosts[0].task_parameters(runner_confhost_conf)get_config_of_default_runner生成的就是 runner 的runner_conf字典其中模型bottom/top、聚合层、优化器、损失函数、训练参数均以可序列化配置形式表达从而可在 guest/host 间分别下发。三、SSHE 任务test_nn_binary_sshe.py 深度解析3.1 SSHE 策略原理SSHESecure Sharing Homomorphic Encryption策略同时使用同态加密与安全共享来保护模型与数据的隐私guest 与 host 聚合层的权重被拆分为两部分分别与协作方共享使得任何一方都无法单独获知对方聚合层权重的完整信息。其设计思想来源于论文When Homomorphic Encryption Marries Secret Sharing: Secure Large-Scale Sparse Logistic Regression and Applications in Risk Control。从源码实现看agg_layer.pySSHE 聚合层在set_context时通过SSHENeuralNetworkAggregatorLayer初始化聚合模型权重wahost 侧与wbguest 侧以**共享形式share**在双方之间分布并使用独立的SSHENeuralNetworkOptimizerSGD优化器学习率即layer_lr更新聚合层参数。训练时guest 侧调用self._agg_layer.step()推进聚合层自己的优化器host 侧同理聚合层参数不会以明文暴露给任何一方。3.2 与 FedPass 示例的差异test_nn_binary_sshe.py的 Pipeline 编排与 FedPass 版本基本一致Reader → PSI → HeteroNN 训练/预测 → Evaluation核心差异集中在聚合层的配置上Guest 侧bottom modelLinear(10, 10)top modelLinear(10, 1) Sigmoid聚合层使用 SSHEguest_conf get_config_of_default_runner( bottom_modelnn.Linear(10, 10), top_modelSequential(nn.Linear(10, 1), nn.Sigmoid()), training_argstraining_args, optimizeroptim.Adam(lr0.01), lossnn.BCELoss(), agglayer_argSSHEArgument( guest_in_features10, host_in_features10, out_features10 ) )Host 侧bottom modelLinear(20, 10)聚合层使用 SSHEhost_conf get_config_of_default_runner( bottom_modelnn.Linear(20, 10), optimizeroptim.Adam(lr0.01), training_argstraining_args, agglayer_argSSHEArgument( guest_in_features10, host_in_features10, out_features10 ) )SSHEArgument的参数说明默认值同样来自 hetero_nn_model.py参数示例值默认值含义guest_in_features108guest 侧输入特征维度host_in_features108host 侧输入特征维度out_features108SSHE 聚合层输出特征维度layer_lr—0.01聚合层独立优化器的学习率precision_bits—None定点数精度位数同态加密相关需要特别指出的是SSHE 示例的 guest 与 host 都配置了 bottom model 与聚合层即双方底层特征都先经过各自 bottom model 提取再由 SSHE 聚合层融合而 FedPass 示例中只有 host 的聚合层采用 FedPassguest 的 top model 直接基于自身特征输出。两种策略对模型结构的约束不同配置时需注意匹配。3.3 验证数据的使用差异SSHE 示例在训练时额外提供了验证集hetero_nn_0 HeteroNN( hetero_nn_0, train_datapsi_0.outputs[output_data], validate_datapsi_0.outputs[output_data] )而 FedPass 示例的hetero_nn_0只传入train_data。验证集的语义对应HeteroNN组件的validate_data参数见下文组件签名可在训练过程中进行验证评估。四、Hetero NN 组件与底层调用链4.1 HeteroNN 组件的接口定义Pipeline 中的HeteroNN组件最终对应 python/fate/components/components/hetero_nn.py 中由cpn.component(roles[GUEST, HOST])注册的组件它暴露两类算子train输入train_dataguest/host、可选validate_data参数包括runner_module默认hetero_default_runner、runner_class默认DefaultRunner、runner_confrunner 参数字典、source自定义 runner 脚本目录路径输出train_output_data与output_model并支持warm_start_model热启动predict输入test_data与input_model输出test_output_data。hetero_nn.train() def train( ctx: Context, role: Role, train_data: cpn.dataframe_input(roles[GUEST, HOST]) | cpn.data_directory_input(), validate_data: cpn.dataframe_input(roles[GUEST, HOST], optionalTrue) | cpn.data_directory_input(optionalTrue), runner_module: cpn.parameter(typestr, defaulthetero_default_runner, ...), runner_class: cpn.parameter(typestr, defaultDefaultRunner, ...), runner_conf: cpn.parameter(typedict, default{}, descthe parameter dict of the NN runner class), source: cpn.parameter(typestr, defaultNone, descpath to your runner script folder), ... ): train_procedure(...)这里runner_conf正是get_config_of_default_runner生成的配置字典source参数则允许用户传入自定义 runner 脚本目录实现完全自定义的训练逻辑。4.2 组件执行流程component_utils.py 中的train_procedure与predict_procedure是组件的实际执行引擎其关键步骤为加载 runner若source为None从默认位置fate.components.components.nn.runner.{runner_module}加载runner_class否则从source目录加载自定义 runner并要求加载的类必须是NNRunner的子类准备上下文通过ctx.sub_ctx创建子上下文并注入 runner解析数据将DataframeReader/DataDirectoryReader统一解析为训练/验证数据执行训练runner.train(...)并在训练后自动对训练集及验证集执行预测输出带数据集类型标记TRAIN_SET/VALIDATE_SET/TEST_SET的结果 DataFrame保存模型元数据将runner_module、runner_class、runner_conf、source序列化写入模型输出目录。预测阶段则从模型元数据中恢复 runner 配置加载保存的模型状态后对新数据预测。这解释了为何hetero_nn_1能以input_modelhetero_nn_0.outputs[output_model]无缝完成加载与预测——模型目录中不仅保存了权重还保存了可完整重建训练环境的 runner 配置。4.3 DefaultRunner 的分侧装配逻辑hetero_default_runner.py 中的DefaultRunner是上述两个示例默认使用的 runner它在train()中根据当前角色走不同的装配分支guest 侧guest_setup加载 bottom/top 模型解析agglayer_arg_conf经parse_agglayer_conf还原为StdAggLayerArgument/FedPassArgument/SSHEArgument构造HeteroNNModelGuest再创建HeteroNNTrainerGuest训练前通过_check_label强制校验 guest 数据集必须包含标签host 侧host_setup只加载 bottom 模型且有两个强约束明文聚合层StdAggLayerArgument在 host 侧不被允许Plaintext agglayer is not supported in Hetero-NN Pipeline Host party必须显式配置隐私保护聚合层否则直接抛错A aggregate layer for privacy preserving is needed in the Hetero-NN pipeline Host party, please set the agglayer config: use fedpass alone in host, or configure sshe layers for guesthost。这两个校验意味着在 Pipeline 模式下纵向联邦神经网络的 host 侧强制要求启用 FedPass 或 SSHE 中的一种隐私保护策略这是保证纵向联邦安全性的底线约束。4.4 模型与聚合层的运行时行为HeteroNNModelGuest与HeteroNNModelHosthetero_nn_model.py是封装 top/bottom 模型与聚合层的容器前向guest 侧若存在 bottom model先计算自身 bottom 输出b_out经聚合层融合 host 特征后送入 top modelhost 侧仅计算 bottom 输出并送入聚合层。聚合层支持sum与concat两种合并方式merge_type见 agg_layer.py 的AggLayerGuest._forward反向guest 侧的backward(loss)将误差经聚合层回传至各 hosthost 侧的backward()接收聚合层误差以backward_losssum(z * error)构造代理损失完成 bottom model 的梯度回传隐私策略分发FedPassArgument在序列化时标记agg_typefed_passSSHEArgument标记agg_typehessStdAggLayerArgument标记agg_typestdparse_agglayer_conf据此还原对应的聚合层实现GPU 约束SSHE 聚合层在非 CPU 设备上会直接抛出SSHEAggLayerGuest is not supported on GPUguest 与 host 侧均有此检查因此SSHE 策略只能运行于 CPUFedPass 策略则支持单 GPU 训练见 doc/2.0/fate/components/hetero_nn.md 中 Support single GPU training 的说明以及 hetero_nn_tutorial.md 中 SSHE layer is incompatible with GPU training 的明确提示。4.5 Trainer 层基于 HuggingFace Trainer 的联邦训练HeteroNNTrainerGuest/HeteroNNTrainerHosthetero_nn.py继承自HeteroTrainerBasetrainer_base.py而HeteroTrainerBase本身构建于 HuggingFaceTrainer之上因此TrainingArguments的字段语义与 transformers 完全一致。Trainer 的关键覆写包括compute_loss兼容(features, labels)与纯(labels,)两种输入格式后者对应 guest 只有标签、特征全部来自 host 的场景training_step计算 loss 后调用model.backward(loss)将梯度经联邦通道回传实现独立前向与独立反向这是 FATE 2.0 Hetero NN 框架的标志性能力初始化时若检测到模型需要 MPCmodel.need_mpc_init()即聚合层为SSHEAggLayer*会自动执行ctx.mpc.init()完成 MPC 协议环境初始化。五、运行结果与验证作业完成后评估组件在 guest 侧计算 AUC示例脚本将其打印到控制台result_summary pipeline.get_task_info(eval_0).get_output_metric()[0][data] print(fresult_summary: {result_summary})Evaluation组件的metrics[auc]指定评估指标input_datas同时传入训练集与测试集的预测结果便于对比模型在两类数据上的判别能力。此外HeteroNN的训练输出train_output_data与测试输出test_output_data本身都是带有数据集类型标记的 FATE DataFrame可被下游组件继续消费。六、FAQ 与实战注意事项Host 侧必须配置隐私保护聚合层Pipeline 模式下DefaultRunner.host_setup会强制校验未配置或误用明文聚合层StdAggLayerArgument都会抛错。推荐在 host 单独使用FedPassArgument或在 guest 与 host 两侧对称配置SSHEArgument。SSHE 与 GPU 不兼容若训练环境包含 GPUSSHE 聚合层会在前向时抛出异常FedPass 支持单 GPU 训练。选择策略前应先确认运行环境。Guest 必须有标签runner 在训练前会检查 guest 数据集has_label纵向联邦中标签只允许出现在 guest 侧。数据命名空间一致性测试套件上传数据使用namespace: experiment脚本读取时使用experiment{namespace}运行时通过--namespace对齐避免表不存在的错误。SSHE 需要双方维度对齐SSHEArgument中的guest_in_features/host_in_features/out_features必须在 guest 与 host 两侧配置一致否则聚合层无法正确融合双方特征。自定义模型/数据集HeteroNN组件的source参数支持指定自定义 runner 脚本目录runner 的dataset_conf、optimizer_conf、loss_conf等均支持按配置装载可参照 hetero_nn_tutorial.md 中本地实验不经 FATE-Pipeline、使用fate.arch.launchers.multiprocess_launcher.launch直接运行的方式快速验证模型与算法改动。七、进一步阅读组件文档doc/2.0/fate/components/hetero_nn.mdSSHE 与 FedPass 策略的原理、特性与架构图本地实验教程doc/2.0/fate/ml/hetero_nn_tutorial.md不依赖 FATE-Flow 的本地 Hetero NN 开发与调试方法含表格数据 SSHE 示例与图像数据 FedPass 示例的完整代码测试用例python/fate/ml/nn/testtest_hetero_nn_sshe.py、test_fedpass_tabular.py、test_fedpass_lenet.py、test_fedpass_alexnet.py等覆盖了 SSHE 与 FedPass 的算法级验证组件实现python/fate/components/components/hetero_nn.py、hetero_default_runner.py模型与聚合层实现hetero_nn_model.py、fedpass/agg_layer.py、sshe/agg_layer.py赞分享人工智能机器学习联邦学习深度学习分布式训练隐私计算密码学【免费下载链接】FATEAn Industrial Grade Federated Learning Framework项目地址https://gitcode.com/gh_mirrors/fa/FATE点击查看免费下载相关推荐FATE 2.0 Homo NN 横向联邦神经网络实战指南从环境搭建、FedAVG 训练到部署预测FATE 2.0 Homo NN 横向联邦神经网络实战指南从环境搭建、FedAVG 训练到部署预测 导读 本文基于 FATE 开源仓库 doc/2.0/fat人工智能机器学习联邦学习深度学习分布式训练隐私计算密码学FATE Union 组件实战指南基于 Pipeline 将多份联邦学习数据集纵向拼接合并FATE Union 组件实战指南基于 Pipeline 将多份联邦学习数据集纵向拼接合并 导读 本文围绕 FATE 开源仓库中的 Union Pipelin人工智能机器学习联邦学习深度学习分布式训练隐私计算密码学创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

Agent框架工程化实战:全插件化架构与可回放会话日志设计

Agent框架工程化实战:全插件化架构与可回放会话日志设计

1. 从一次线上事故说起:为什么我要拆解这套 Agent 框架去年年底,我负责的一个智能体项目在生产环境里翻了一次车。现象很典型:用户反馈某类任务处理到一半就"卡死",日志里只留下一句模糊的超时提示,复现路径…

2026/10/12 5:20:07 阅读更多 →
采购如何证明自己价值?一套可量化的省钱核算体系实战指南

采购如何证明自己价值?一套可量化的省钱核算体系实战指南

采购就是给公司花钱的?这大概是采购行业最大的误解。你谈了三轮价格、换了两个供应商、顶住了销售端的紧急插单,年底一算给公司省了几十万,结果没人提;反过来原材料一涨价、供应商交期一延误,全公司都盯着采购说“你怎…

2026/10/12 5:20:07 阅读更多 →
UE5实战:从性能卡顿到线程安全的5大工程断面解析

UE5实战:从性能卡顿到线程安全的5大工程断面解析

1. 这不是教程,是我在三个UE项目里拆出来的引擎骨架“游戏引擎架构深度解析(五):UE实战与高级主题”——看到这个标题,别急着点开。我见过太多人把这类内容当成“进阶技巧合集”,结果学完还是写不出一个能稳…

2026/10/12 5:19:07 阅读更多 →

最新新闻

Tortoise-ORM 与 Sanic 集成实战:register_tortoise 生命周期管理全解析

Tortoise-ORM 与 Sanic 集成实战:register_tortoise 生命周期管理全解析

数据库后端 【免费下载链接】tortoise-orm Familiar asyncio ORM for python, built with relations in mind 项目地址: https://gitcode.com/gh_mirrors/to/tortoise-orm 点击查看 免费下载 本文以 Tortoise-ORM 仓库中 Sanic 集成示例 为主线,系统讲解…

2026/10/12 6:02:32 阅读更多 →
从ABP到Clean DDD:中后台系统架构迁移实践与反思

从ABP到Clean DDD:中后台系统架构迁移实践与反思

做中后台和SaaS类系统的团队,大概率都绕不开 ABP 这个名字。它把模块化、仓储模式、工作单元、动态 API、审计日志、多租户这些东西一次性打包成开箱即用的起点,用 .NET 技术栈做内部系统,几乎第一天就能跑起来。我所在的团队也是这样起步的&…

2026/10/12 6:02:32 阅读更多 →
STM32 | CLion + ST-Link下载调试完整流程

STM32 | CLion + ST-Link下载调试完整流程

一、下载程序 先创建一个文件夹: 命名:stlink.cfg 写入以下代码: # choose st-link/j-link/dap-link etc. #adapter driver cmsis-dap #transport select swdsource [find interface/stlink.cfg]transport select hla_swdsource [find target/stm32f4x.…

2026/10/12 6:02:32 阅读更多 →
Python代码打包成exe文件详解

Python代码打包成exe文件详解

一、pyhon代码打包成exe文件1-1:安装打包工具在PyCharm底部的 终端(Terminal) 里输入:pip install pyinstaller1-2:输入打包命令在同一个终端里输入(直接复制):pyinstaller --onefile --noconsole --hidden…

2026/10/12 6:02:32 阅读更多 →
知识工作插件化:从信息捕获到配置同步的效率体系

知识工作插件化:从信息捕获到配置同步的效率体系

平时做知识工作,最耗时间的往往不是思考本身,而是信息的搬运。你从网页摘一段话,粘贴进笔记里,格式全乱;你复制了一段关键论述,过了几天想找来源,翻遍聊天记录和文档都找不到;你给十…

2026/10/12 6:02:32 阅读更多 →
DJL与Spring集成:Java后端部署深度学习模型的实践指南

DJL与Spring集成:Java后端部署深度学习模型的实践指南

/* 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 6:01:32 阅读更多 →

日新闻

复古胶片颗粒感噪点合成器: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/11 14:36:53 阅读更多 →
黑夜航拍船只数据集训练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/11 14:36:54 阅读更多 →