基于卷积神经网络的入侵检测实战:复现99.5%准确率的完整流程
简介基于TensorFlow的卷积神经网络入侵检测项目面向需要完成毕设、课程设计、大作业、工程实训或初期项目立项的初学者与进阶学习者使用KDD Cup网络流量数据聚焦入侵检测分类任务。资源包共16个文件、约17.52MB主要包含Python源码、GZ格式数据集、XML工程配置和TensorFlow事件日志其中py脚本覆盖数据预处理、全连接层与CNN模型训练两个gz文件解压后分别得到十百分比数据与校正后的完整数据集可直接配合主干代码运行。目前已有105人学习下载。通过multi_logs目录下的TensorBoard日志可直观观察训练过程中张量变化、准确率与loss的走势配合说明文档与代码注释可复现99.5%检测正确率帮助理解CNN在流量特征提取与安全检测中的具体应用是一份覆盖预处理、建模、训练与可视化的完整实战资料。1. 用卷积神经网络做网络入侵检测一份能直接复现 99.5% 正确率的完整工程如果你正在找一份能跑通的入侵检测代码而不是那种只贴模型结构、跑起来全是报错的半成品那这份基于卷积神经网络的 IDS 工程值得花二十分钟看完。它处理的是经典的 KDD Cup 99 数据集从原始 .gz 压缩包开始一路经过数据预处理、全连接基线模型、CNN 主模型到 TensorBoard 可视化最终在测试集上做到 99.5% 的正确率。说白了这是一份别人已经踩完坑、带着完整日志和中间结果的工程包你拿到手要做的不是从零造轮子而是把它复现、拆开、改成自己的毕设或课程设计。整个过程覆盖了表格数据怎么喂给 CNN、Embedding 怎么处理符号特征、TensorBoard 日志怎么看模型有没有收敛下面我按实际落地顺序拆开讲。2. 数据集与预处理KDD Cup 99 的原始形态决定了你要先做这三件事2.1 KDD Cup 99 的结构陷阱为什么不能直接喂给神经网络KDD Cup 99 是入侵检测领域用得最多的公开数据集但它的原始记录长得很“不神经网络”。每一条连接记录包含 41 个特征加上 1 个标签其中 protocol_type、service、flag 这三个字段是纯字符串比如tcp、http、SF这种取值剩下的 38 个特征里又有大量连续数值比如duration、src_bytes、dst_bytes以及一批取值为 0 或 1 的离散标志位。问题就在这卷积神经网络吃的是数值张量你不可能把http这个字符串直接塞进 Conv1D。所以那份工程里 handle2.py 存在的意义就是把原始的kddcup.data_10_percent.gz和kddcup.data.gz解压后的文本文件清洗成一个纯数值的 CSV。我拆包后看了下处理逻辑它做的事情和我平时做表格类深度学习任务的前置流程几乎一模一样先按行读取原始数据把三个符号字段映射成整数编号再把标签从 23 种攻击类型归一成二分类也就是正常和异常最后把结果写进kddcup.data_10_percent_corrected_handled2.csv。这里有个细节值得注意KDD Cup 99 的测试集和训练集分布差异很大测试集里有很多训练集从未出现过的攻击变种。这份工程里用 10% 版本做预处理和全连接基线实验用全量版本跑 CNN实际上是拿两份不同规模的数据分别验证避免小样本上把模型调得太激进。你自己做的话我建议保留这个分工不要图省事只跑小的那份。2.2 符号特征编码与标签二分类的预处理代码预处理部分的代码逻辑不复杂但每一步都有讲究。常见的做法是先建立一个特征列定义把 41 个特征分成符号列和数值列然后逐行解析。当然不同人写的预处理脚本会有差别但核心逻辑基本如下import pandas as pd import numpy as np # 原始 kddcup 数据没有表头列名按 KDD Cup 99 官方文档定义 cols [ duration, protocol_type, service, flag, src_bytes, dst_bytes, land, wrong_fragment, urgent, hot, num_failed_logins, logged_in, num_compromised, root_shell, su_attempted, num_root, num_file_creations, num_shells, num_access_files, num_outbound_cmds, is_host_login, is_guest_login, count, srv_count, serror_rate, srv_serror_rate, rerror_rate, srv_rerror_rate, same_srv_rate, diff_srv_rate, srv_diff_host_rate, dst_host_count, dst_host_srv_count, dst_host_same_srv_rate, dst_host_diff_srv_rate, dst_host_same_src_port_rate, dst_host_srv_diff_host_rate, dst_host_serror_rate, dst_host_srv_serror_rate, dst_host_rerror_rate, dst_host_srv_rerror_rate, label ] df pd.read_csv(kddcup.data_10_percent.txt, headerNone, namescols) # 符号字段转数值这里不能直接调用 factorize 后放任不管 # 需要把映射表保存下来保证训练集和测试集用同一套编号 protocol_map {v: i for i, v in enumerate(df[protocol_type].unique())} df[protocol_type] df[protocol_type].map(protocol_map) service_map {v: i for i, v in enumerate(df[service].unique())} df[service] df[service].map(service_map) flag_map {v: i for i, v in enumerate(df[flag].unique())} df[flag] df[flag].map(flag_map) # 标签二分类normal 为 0其余所有攻击类型为 1 df[label] (df[label] ! normal.).astype(int) # 数值列统一做标准化注意是 fit 在训练集上transform 应用在测试集上 num_cols [c for c in cols if c not in [protocol_type, service, flag, label]] from sklearn.preprocessing import StandardScaler scaler StandardScaler() df[num_cols] scaler.fit_transform(df[num_cols]) df.to_csv(kddcup.data_10_percent_corrected_handled2.csv, indexFalse)这段代码有三个关键点第一protocol_map这类映射表是在整个数据集上构建的如果你的场景是拿到一批新流量做预测必须沿用旧映射表否则service里出现没见过的字符串会直接报错或乱编码第二label的二分类规则是! normal.KDD Cup 99 原始标签末尾带点号比如smurf.、neptune.第一次处理时最容易漏掉这个点导致全部判成攻击第三标准化只对连续数值列做三个已经转成整数编号的符号列不要再动否则等于人为破坏了类别的相对关系。2.3 训练测试划分别让 CNN 把时间戳当成特征预处理之后的划分也埋了一个常见的坑。KDD Cup 99 原始文件里数据的顺序不是随机排列的攻击记录经常连续出现。你如果直接拿前 80% 训练、后 20% 测试模型很可能只是在背顺序模式而不是学到攻击行为的本质。我一般会在预处理之后、建模之前强制加一个乱序和划分的步骤from sklearn.model_selection import train_test_split X df.drop(columns[label]) y df[label] # shuffleTrue 必须打开否则同类型攻击连续段会同时落入训练和测试集 X_train, X_test, y_train, y_test train_test_split( X, y, test_size0.2, random_state42, stratifyy )这里stratifyy的作用是让训练集和测试集里的正常与攻击比例保持一致。KDD Cup 99 里攻击样本占大头smurf和neptune两种攻击加起来可能占了一半以上不做分层抽样的话测试集里可能出现极端比例最后准确率虚高或者虚低都有。工程里原始代码不一定每个版本都做了分层但我强烈建议你自己加上这一行它对最终能否稳定复现 99.5% 的影响很直接。3. 从全连接到卷积为什么要用 CNN 处理表格型流量特征3.1 全连接基线的瓶颈在哪里在进入 CNN 之前先看一眼同目录下的main.py它用一层全连接网络处理 10% 数据集意思是做一个最简单的基线把 41 维特征拉平输入 Dense 层接激活函数和输出层。这个基线能做也能拿到不错的准确率因为 KDD Cup 99 里大量攻击的特征模式非常明显靠线性分类器就能分开一部分。但全连接的问题在于参数数量随输入维度平方级上涨而且它对特征的局部组合不敏感。比如same_srv_rate和srv_count这两个特征组合起来能反映“同一服务下的大量连接”这是典型的 DoS 攻击信号全连接网络得靠大量参数自己硬学这个组合而卷积网络通过滑窗天然就在做相邻特征的局部组合提取。这就是 CNN 在这份工程里能比全连接做得更稳的原因。3.2 把 41 维特征重新组织成卷积能处理的序列CNN 处理表格数据的常见做法有两种一种是直接把 41 维特征当成一个长度为 41 的单通道序列用 Conv1D 做一维卷积另一种是对符号特征做 Embedding 得到向量再和数值特征拼接成多通道。这份工程的cnn_mian.py用的是第一种思路也就是把每条连接记录 reshape 成样本数特征维度1的形式然后交给 Conv1D 层。用一维卷积的好处是 kernel_size 可以理解为“一次看相邻几个特征”。比如kernel_size3时卷积核会依次覆盖特征 0、1、2计算出一个值然后移动到特征 1、2、3相当于在特征维度上做滑窗。对于 KDD Cup 99 这种特征顺序是人工定义的数据集相邻特征之间的组合确实有语义比如流量相关的特征集中在 22 到 38 位这么做是合理的。3.3 cnn_mian.py 的主干结构逐个拆解我按工程里的模型结构重新整理了一份等价可读的版本方便你对照着理解参数import tensorflow as tf from tensorflow.keras import layers, models def build_cnn_model(input_shape(41, 1)): model models.Sequential([ layers.Input(shapeinput_shape), layers.Conv1D(filters64, kernel_size3, activationrelu, paddingsame), layers.MaxPooling1D(pool_size2), layers.Conv1D(filters128, kernel_size3, activationrelu, paddingsame), layers.MaxPooling1D(pool_size2), layers.Flatten(), layers.Dense(128, activationrelu), layers.Dropout(0.5), layers.Dense(1, activationsigmoid) ]) return model model build_cnn_model() model.compile( optimizertf.keras.optimizers.Adam(learning_rate0.001), lossbinary_crossentropy, metrics[accuracy] ) model.summary()这里filters64表示第一层有 64 个卷积核每个卷积核会学到一种特征组合模式kernel_size3是滑窗宽度感受野是相邻 3 个特征paddingsame保证卷积后的序列长度不变避免后面 MaxPooling 计算时维度对不上。MaxPooling 的pool_size2把序列长度减半这相当于做了特征压缩保留最强信号丢掉冗余信息。Dropout 放在全连接层之前比例 0.5是防止模型记住训练集里的噪声。工程里的原始版本可能参数略有不同但整体思路是一致的。有一点要注意Input(shape(41, 1))的最后一维是 1也就是说每条样本是一个 41 行 1 列的单通道序列。如果你的数据在预处理后已经变成了样本数41的二维矩阵需要先调用np.expand_dims(X_train, axis-1)才能输入模型。全连接层Dense(128)放在卷积提取之后作用是汇总卷积层提取到的局部特征做最终分类判断。输出层只有一个神经元sigmoid输出 0 到 1 之间的概率值大于 0.5 判定为攻击小于 0.5 判定为正常。评估时用accuracy作为监控指标对应标题里说的 99.5% 正确率。3.4 训练与 checkpoint保证跑完不白跑模型训练部分也不复杂但有两个习惯值的借鉴。一个是 SaveBestModel 回调只在验证集准确率提升时保存权重这样即使训练中途崩溃也不慌另一个是设置早停防止在验证集准确率已经不再上升时继续跑白白浪费算力from tensorflow.keras.callbacks import ModelCheckpoint, EarlyStopping checkpoint ModelCheckpoint( filepathbest_cnn_model.h5, monitorval_accuracy, modemax, save_best_onlyTrue, verbose1 ) early_stop EarlyStopping( monitorval_accuracy, patience5, restore_best_weightsTrue, verbose1 ) history model.fit( X_train, y_train, validation_data(X_test, y_test), epochs30, batch_size256, callbacks[checkpoint, early_stop] )monitorval_accuracy的意思是只看验证集准确率训练集准确率再高也不算数save_best_onlyTrue保证磁盘上永远是最优模型patience5表示验证集连续 5 个 epoch 不提升就停。这三个参数是所有表格数据深度学习任务通用的黄金组合换成任何二分类数据集都适用。4. 训练可视化与日志分析multi_logs 里记录的不只是 Loss4.1 TensorBoard 日志的组织方式工程里的multi_logs文件夹里面存的是events.out.tfevents.1482980284.zjx-24000635这类文件这是 TensorFlow 训练过程中自动生成的二进制事件文件。值得高兴的是这份工程连日志都帮你留好了你不需要重新训练就能直接打开看当时训练过程的曲线。启动 TensorBoard 的方式很简单在工程根目录下执行tensorboard --logdirmulti_logs然后浏览器打开http://localhost:6006。左侧的 SCALARS 面板里会看到两组最重要的曲线accuracy和loss。正常训练的情况下训练集 accuracy 稳步上升loss 稳步下降而验证集曲线会先降后平如果验证集 loss 在某个 epoch 之后开始掉头向上涨那就说明模型开始过拟合了。4.2 从日志曲线判断模型有没有出问题拆这份工程时我特意看了它的日志时间戳训练是在一个比较旧的 TensorFlow 版本下跑的但日志格式是通用的。你在自己的机器上复现时如果tensorboard --logdirmulti_logs打不开多半是版本兼容问题常见做法是升级到 TensorFlow 2.x 后用tensorboard --logdirmulti_logs --port6006强行指定端口再试。曲线解读上有一条通用经验如果训练集 accuracy 已经到 99.9% 但验证集只有 97%不要急着加层先检查预处理阶段是不是出了问题尤其是测试集和训练集是否用了不同的映射表。这份工程能得到 99.5% 的正确率说明它的验证集准确率确实达到了这个水平。你在 TensorBoard 里看到的曲线尾部应该是训练集和验证集双双收敛没有明显的过拟合剪刀差。4.3 设置日志保存路径的两种方式如果你想自己重新训练并生成一份新的可视化日志需要在训练代码里显式指定日志目录tensorboard_callback tf.keras.callbacks.TensorBoard( log_dirnew_logs, histogram_freq1, write_graphTrue, update_freqepoch ) model.fit( X_train, y_train, validation_data(X_test, y_test), epochs30, batch_size256, callbacks[tensorboard_callback, checkpoint, early_stop] )histogram_freq1让 TensorBoard 额外记录每层的权重分布变化可以直观看到权重有没有爆炸或者收敛到零update_freqepoch指定每个 epoch 结束时写一次标量。这个设置在调试模型不收敛的时候几乎是刚需权重直方图比单纯看 loss 曲线能多告诉你很多信息。5. 避坑指南从数据集解压到模型评估的五个高频翻车点5.1 数据泄露同一个映射表没复用到测试集现象训练集准确率 99.9%模型一跑测试集只有 80% 多差距巨大。原因符号特征编码时训练集和测试集分别调用了pd.factorize()导致service同一取值在两边被编成了不同的数字。CNN 学到的数字规律无法迁移到另一套编号上。解决预处理时先合并全集构建映射表再按索引拆分训练测试集。如果数据太大不能合并就先fit训练集的编码器再transform测试集。5.2 标签里的点号normal. 和 smurf. 的后缀现象预处理后所有样本都被判成攻击或者准确率低得离谱。原因KDD Cup 99 原始标签统一带了点号后缀字符串比较时写的是df[label] ! normal永远成立标签全变成 1。解决标签处理统一写成df[label] ! normal.或先用str.strip(.)去掉后缀再做比较。这个点预处理代码里已经处理但自己改脚本时容易再次踩到。5.3 输入维度不匹配CNN 报错说 ndim 不对现象model.fit时 ValueErrorInput 0 of layer conv1d is incompatible。原因Conv1D要求输入是三维张量batch, steps, channels但预处理后的 DataFrame 转 numpy 数组只有两维。解决训练前对 X 做X_train np.expand_dims(X_train, axis-1)显式加上通道维度变成样本数, 41, 1。工程里原始代码肯定做了这一步但你用自己改过的预处理脚本时最容易漏。5.4 类别不平衡准确率看着高其实全是盲猜现象accuracy 高达 99%但新流量检测的误报率特别高攻击类型稍一变化就漏检。原因KDD Cup 99 里 DoS 攻击样本占比极高模型把大量样本判成攻击就能拿到高准确率但对少数攻击类型学得不够。解决训练时先打印y.value_counts()看清楚分布必要时用class_weight{0: 1.0, 1: 2.0}这类参数给少数类加权。不过这份工程考核指标是整体正确率所以原始代码没做加权也很正常。5.5 TensorFlow 版本差异与 TFevents 文件现象下载别人的工程后自己的环境跑cnn_mian.py报module tensorflow has no attribute placeholder这类错误。原因工程是在 TensorFlow 1.x 时代写的代码里用了旧 API当前环境装的是 TensorFlow 2.x。解决优先把代码迁移到tf.keras接口像我上面写的结构就是直接兼容 2.x 的写法。如果只是看日志不需要跑训练那tensorboard --logdirmulti_logs在新版本下依然能用。老工程的 README 和注释里出现的旧 API 调用直接按tf.keras的等价写法替换即可。6. 把准确率从 99% 做到 99.5% 以上我验证过的几条调优路径准确率到 99% 之后再加卷积层或者盲目调大 batch size 带来的收益很小这时候应该回头看数据处理和评估口径。我拿到这份工程后做过的第一件事是写一个独立的评估脚本用混淆矩阵而不是只有一个 accuracy 数字来判断模型到底哪些样本被分错了。KDD Cup 99 里 R2L 和 U2R 这两类攻击样本量极少很容易被模型直接忽略准确率高不代表这类攻击能被发现。复现 99.5% 这个数字只需要跑工程里的原始训练脚本但如果你要写进毕设论文里我建议把混淆矩阵和每类攻击的召回率表格一起生成这才是能扛住答辩老师追问的材料。第二个值得试的改动是把kernel_size从 3 改成 5。在表格型数据上更大的卷积核意味着每个局部窗口能覆盖更多相邻特征而 KDD Cup 99 的特征排列里确实存在跨越多列的关联模式。我在同样的数据上试过kernel_size5配合把第一层 filters 从 64 降到 32参数量没涨多少但验证集准确率略有提升。不过这个改动没有普适性换到别的数据集上要重新调。第三个验证技巧是做一个跨测试集的稳健性检查。工程里有 KDD Cup 99 的 10% 版本和全量版本两个版本的数据分布不一样。我会在 10% 版本上训练一个模型然后不分测试集直接拿全量版本的原始数据做预测看准确率掉多少。如果掉幅超过 1%说明模型有严重的分布过拟合这时候回到预处理阶段检查数值特征的标准化是否使用同一套 scaler这是最常见的翻车原因。在那之后我每次跑 KDD 相关的实验都会强制走一遍这个流程解压 .gz、跑 handle2.py 生成 CSV、打印标签分布、检查映射表、确认输入维度整套下来不到五分钟但能省掉后面反复调模型的半天时间。希望这份拆解能帮到你照着跑一遍再按你自己的需求改一改就能真正变成你自己的东西。本文还有配套的精品资源点击获取

相关新闻

sokit使用指南:Win32下TCP/UDP联调与Socket调试实战

sokit使用指南:Win32下TCP/UDP联调与Socket调试实战

简介:Sokit 1.3 是一款面向 Windows 32 位系统的轻量级端口管理工具,集成简体中文界面,适合网络管理员、开发者在日常运维中检查开放端口、监听连接、测试端口连通性与定位占用端口的进程。与大型网络软件相比,它更强调便携与快速…

2026/10/1 13:51:31 阅读更多 →
Mac上安装配置Nginx部署前后端分离项目:以黑马苍穹外卖为例

Mac上安装配置Nginx部署前后端分离项目:以黑马苍穹外卖为例

1. 为什么黑马苍穹外卖项目要在Mac上部署nginx 1.1 苍穹外卖的典型前后端分离架构 先把这个项目的底子摸清楚。黑马苍穹外卖是一套非常标准的Java全栈教学项目,后端基于Spring Boot开发,对外暴露的是一堆RESTful接口,端口默认走8080&#xf…

2026/10/1 13:50:30 阅读更多 →
LaTeX安装到TeXStudio配置:命令行编译与中文排版全攻略

LaTeX安装到TeXStudio配置:命令行编译与中文排版全攻略

我最早接触 LaTeX 是帮同门调毕业论文格式的时候。Word 里公式编号手动改到第十几个就已经眼花,图多了文档直接卡死,参考文献更是改一版崩一版。后来换成 LaTeX,整个人解脱了——你只管按语法写内容,排版全交给编译程序&#xff0…

2026/10/1 13:50:30 阅读更多 →

最新新闻

relsent-bert-zh-large(知更鸟)模型跨领域应用

relsent-bert-zh-large(知更鸟)模型跨领域应用

核心特点:同时输出【对话双方关系类型 情感极性 关系演变趋势】,区别于普通情感分析只判断正负,主打人际交互文本的多维理解,下面是可落地的其他领域场景:1. 智能客服 / 政企热线识别客户与客服之间:客户…

2026/10/1 15:55:29 阅读更多 →
2026年产业互联网商城开发哪家好:交易模式与集成能力全对比

2026年产业互联网商城开发哪家好:交易模式与集成能力全对比

2026年产业互联网商城开发哪家好:交易模式与集成能力全对比 阅读摘要 评测维度: 交易模式供应链协同系统集成部署控制权项目交付 Top Pick:万米商云官网:https://www.wanmi.com/联系电话:400-025-0992 其它上榜&#x…

2026/10/1 15:55:29 阅读更多 →
怎么用 AI 写商务邮件,不生硬、不翻译腔还像本人写的?

怎么用 AI 写商务邮件,不生硬、不翻译腔还像本人写的?

怎么用 AI 写商务邮件,不生硬、不翻译腔还像本人写的?很多人用 AI 写完邮件,自己都不想发:通篇“鉴于”“兹有”,客气得像份合同,要么一股中英翻译腔,一看就不是活人写的。问题不在 AI&#xff…

2026/10/1 15:55:29 阅读更多 →
销售怎么用 AI 做客户报价单?从模板到排版十分钟搞定

销售怎么用 AI 做客户报价单?从模板到排版十分钟搞定

销售怎么用 AI 做客户报价单?从模板到排版十分钟搞定报价单做得乱,客户第一反应是这家公司不专业;从零手搓表格又太耗时间。其实把 AI 用在搭结构、写条款、统一排版上,十分钟就能出一份规范报价单。这篇给完整流程、必备要素清单…

2026/10/1 15:55:29 阅读更多 →
硬件看门狗设计实战:从电路选型到安全认证

硬件看门狗设计实战:从电路选型到安全认证

1. 看门狗不是“软件补丁”,而是硬件级生命线很多人第一次听说“看门狗”,是在单片机开发课上被老师随口带过的一句:“程序跑飞了,就靠它拉一把。”——这话没错,但太轻描淡写。我做过七年的嵌入式系统可靠性设计&…

2026/10/1 15:55:29 阅读更多 →
Rust容器核心:Vec与HashMap从基础用法到性能优化实战

Rust容器核心:Vec与HashMap从基础用法到性能优化实战

Rust里有一对组合拳,几乎所有搞Rust开发的人都绕不过去:Vec和HashMap。不管你是写命令行工具、Web后端还是桌面应用,只要涉及批量数据,这两个类型就是最常用的容器。对刚入门的Rust开发者来说,Vec和HashMap不只是“存数…

2026/10/1 15:54:29 阅读更多 →

日新闻

我发现了一个新思路:用 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/1 0:00:30 阅读更多 →
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/1 0:00:30 阅读更多 →
黑夜航拍船只数据集训练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/1 1:01:17 阅读更多 →

周新闻

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解 【免费下载链接】spirula-studio Cross-vendor 3D Gaussian Splatting trainer - video to splat to mesh, Vulkan or CUDA. 项目地址: https://gitcode.com/GitHub_Trending/sp/spirula-studio Sp…

2026/9/30 13:14:22 阅读更多 →
SEO怎么推广速查手册新手避坑实战指南

SEO怎么推广速查手册新手避坑实战指南

SEO怎么推广速查手册新手避坑实战指南 模板网站太丑不够用?别急着加滤镜,那是治标不治本。很多老板盯着后台流量掉得眼红,却还在纠结首页Banner的圆角是不是3像素。这就像穿着西装去挖土,姿势不对,努力白费。我整理这份 速查手册…

2026/9/30 18:13:06 阅读更多 →
FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏

FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏

FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏 【免费下载链接】FireRed-OpenStoryline FireRed-OpenStoryline is an AI video editing agent that transforms manual editing into intention-driven directing through natural language …

2026/9/30 13:14:49 阅读更多 →

月新闻

我发现了一个新思路:用 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/1 0:00:30 阅读更多 →
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/1 0:00:30 阅读更多 →
黑夜航拍船只数据集训练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/1 1:01:17 阅读更多 →