用自选数据集重跑 RNN 文本分类 Notebook:AI-For-Beginners 第 16 课「循环神经网络」作业实战指南
教程人工智能机器学习深度学习【免费下载链接】AI-For-Beginners12 Weeks, 24 Lessons, AI for All!项目地址https://gitcode.com/GitHub_Trending/ai/AI-For-Beginners点击查看免费下载循环神经网络Recurrent Neural Network, RNN是 AI-For-Beginners 课程第 5 单元NLP第 16 课的核心主题而本课的课后作业作业说明要求学习者脱离内置的 AG_NEWS 新闻数据集用自己的数据集例如来自 Kaggle 的竞赛数据并注明出处重跑 PyTorch 或 TensorFlow 版本的 Notebook改写 Notebook 以突出自己的发现。本文将以这份作业为骨架先拆解作业要求再结合课程讲义、PyTorch Notebook、TensorFlow Notebook 与配套工具模块 torchnlp.py 的源码实现给出一条可以完整落地、可复现、可评估的作业完成路线。读完本文你将掌握如何把「通用文本分类 Notebook」迁移到任意自己的数据集上如何正确选择与标注数据、替换数据加载与预处理管线、改写模型结构以及如何把实验结果系统性地文档化。作业要求解读三件事必须全部做到原版英文作业assignment.md的完整要求如下Using the notebooks associated to this lesson (either the PyTorch or the TensorFlow version), rerun them using your own dataset, perhaps one from Kaggle, used with attribution. Rewrite the notebook to underline your own findings. Try a different kind of dataset and document your findings, using text such as this Kaggle competition dataset about weather tweets.西班牙语翻译版本与之等价可以拆解为三个明确的交付物用自己的数据集重跑 Notebook选择 PyTorch 版RNNPyTorch.ipynb或 TensorFlow 版RNNTF.ipynb中的任意一个作为起点把内置数据集替换为自选数据集改写 Notebook 以突出自己的发现不是简单换数据而是针对新数据的特点重写数据处理、模型结构与训练配置并在 Notebook 中记录新的结论尝试一种不同类型的数据集并文档化发现作业示例给出的是「天气推文」weather tweets类竞赛数据——这类数据与课程内置的 AG_NEWS 新闻标题/正文数据在文本长度、标签体系、噪声水平上都有明显差异正好用来检验模型迁移能力。值得注意的是作业示例中的天气推文数据集结构推文文本 是否与天气相关的相关性标签天然适合做二分类或多标签分类实验与 Notebook 中 AG_NEWS 的四分类World / Sports / Business / Sci/Tech形成对照这也是作业强调「换一种数据集类型」的原因——不同的标签空间、序列长度分布会直接暴露 RNN 模型在不同任务上的行为差异。原理骨架这个作业建立在什么技术之上在动手改代码之前必须先把课程讲义中的 RNN 原理骨架吃透因为 Notebook 里的每一行模型代码都是这套原理的直接映射。为什么需要 RNN嵌入聚合丢了词序讲义开篇点明了动机此前课程使用「词嵌入 顶部线性分类器」的架构它只能捕获句子中词语的聚合语义却无法建模词序——因为嵌入层之上的聚合操作如取平均把原始文本中的顺序信息抹掉了。没有词序建模能力模型就无法处理文本生成、问答这类更复杂或更含混的任务。这正是 RNN 登场的理由把句子逐符号token送入网络网络每步产出一个状态state状态随下一个符号再次送入网络。对于输入序列 X₀,…,XₙRNN 会展开成一串共享权重的网络块每个块接收 (Xᵢ, Sᵢ) 并产出 Sᵢ₊₁最终状态 Sₙ或输出 Yₙ送入线性分类器得到结果所有块共享同一套权重通过一次反向传播端到端训练。因为状态向量 S₀,…,Sₙ 在网络中传递RNN 能学到词与词之间的顺序依赖——例如序列中出现not一词时网络可以学会在状态向量的某些分量上执行「取反」从而实现否定语义。讲义中特别强调由于所有块的权重共享展开图可以等价地画成一个带循环反馈回路的紧凑单元。RNN 单元的内部结构两个权重矩阵一个简单 RNN 单元接收上一状态 Sᵢ₋₁ 与当前符号 Xᵢ输出状态 Sᵢ生成式任务中还会输出 Yᵢ。其内部只有两个权重矩阵一个变换输入符号记为 W另一个变换输入状态记为 H。输出状态的计算式为Sᵢ σ(W × Xᵢ H × Sᵢ₋₁ b)其中 σ 是激活函数b 是偏置。讲义还给出了维度规则输入 token 通常先经过嵌入层降维若输入向量维度为emb_size、状态向量维度为hid_size则 W 的尺寸是emb_size × hid_sizeH 的尺寸是hid_size × hid_size。这个维度规则直接决定了你在改写模型时Embedding、RNN/LSTM、Linear三层的参数如何衔接。从 RNN 到 LSTM用门控解决梯度消失经典 RNN 最著名的缺陷是梯度消失vanishing gradientsRNN 以一次反向传播端到端训练展开后的层数极多误差难以传播到网络前部导致模型学不到相距较远的 token 之间的关系。对策是引入显式状态管理——即门控gates代表作就是LSTMLong Short Term Memory与GRUGated Recurrent UnitNotebook 与讲义都以 LSTM 为例。LSTM 与 RNN 结构相似但层与层之间传递两个状态真正的状态 C 与隐藏向量 H。在每个单元中Hᵢ 与输入 Xᵢ 拼接后通过三个门控制状态 C 的更新每个门都是 sigmoid 激活输出在 [0,1]的神经网络乘到状态向量上时相当于一个「按位掩码」遗忘门forget gate根据隐藏向量决定状态 C 的哪些分量需要遗忘、哪些保留输入门input gate从输入向量与隐藏向量中取信息写入状态输出门output gate先经tanh激活的线性层变换状态再借助隐藏向量 Hᵢ 挑选部分分量生成新状态 Cᵢ₊₁。状态 C 的分量可以被理解为可开可关的「标志位」例如遇到名字Alice时抬起「句中有阴性名词」的旗标随后读到and Tom时再抬起「复数名词」的旗标——通过操控状态网络可以持续追踪句子的语法属性。理解 LSTM 内部机理的经典读物是 Christopher Olah 的《Understanding LSTM Networks》一文讲义中已给出推荐。双向与多层 RNN单向 RNN 从序列开头读到结尾符合人类阅读习惯但当模型对输入序列有随机访问能力时双向bidirectional计算往往更合理——双向 RNN 需要为两个方向各维护一份隐藏状态向量。另一方面如同卷积网络可以堆叠把另一个循环层叠在第一个之上可以让高层捕获由低层特征组合出的更抽象模式这就是多层 RNNmulti-layer RNN。这两点在两个 Notebook 中都有对应的落地写法详见下文模型改写部分是作业里「改写 Notebook」最容易做出差异化效果的切入点。两个 Notebook 的源码结构PyTorch 版从 AG_NEWS 到四分类器RNNPyTorch.ipynb 以torchtext内置的 AG_NEWS 数据集为起点from torchnlp import * train_dataset, test_dataset, classes, vocab load_dataset() vocab_size len(vocab)load_dataset在 torchnlp.py 中实现通过torchtext.datasets.AG_NEWS(root./data)加载数据类别固定为[World, Sports, Business, Sci/Tech]用collections.Counter统计 token 频次再以torchtext.vocab.vocab(counter, min_freqmin_freq)构建词表——min_freq参数决定低频词是否被剔除是控制词表大小的关键旋钮。encode函数利用stoi映射把文本转为索引序列未登录词统一映射到unk0。Notebook 依次演示了三种模型复杂度递增简单 RNN 分类器Embedding(vocab_size, embed_dim) → RNN(embed_dim, hidden_dim, batch_firstTrue) → Linear(hidden_dim, num_class)前向时用x.mean(dim1)对 RNN 各步输出取平均再分类LSTM 分类器结构几乎相同只是把RNN换成LSTM并用h[-1]末步隐藏状态替代平均池化Packed sequences 版 LSTM改用torch.nn.utils.rnn.pack_padded_sequence打包变长序列避免对 padding 位置做无效计算。数据批处理层面提供了三种 collate 函数padify批次内 padding 到等长、offsetify用 offset 累积序列长度、pad_length同时返回长度向量供 packed 序列使用。其中offsetify通过torch.tensor(o[:-1]).cumsum(dim0)生成累积偏移——这是后续课程文本生成任务也会复用的数据结构。TensorFlow 版从 tfds 到四分类器RNNTF.ipynb 使用tensorflow_datasets的ag_news_subsetds_train, ds_test tfds.load(ag_news_subset).values()预处理核心是keras.layers.experimental.preprocessing.TextVectorizationvocab_size 20000 vectorizer keras.layers.experimental.preprocessing.TextVectorization( max_tokensvocab_size, input_shape(1,))TF 版的模型序列Sequential写法为TextVectorization → Embedding → SimpleRNN(16) → Dense(4, activationsoftmax)随后依次演示了mask_zeroTrue掩码、LSTM(8)、以及Bidirectional双层 LSTM每层 64 单元前一层的return_sequencesTrue。Notebook 中还包含两个 GPU 实操经验一是用tf.config.experimental.set_memory_growth让显存按需增长避免多模型连续训练时显存耗尽二是部分 NVIDIA 驱动训练后不释放显存遇到诡异报错时优先考虑重启 Notebook kernel。配套工具模块 torchnlp.py 的可复用价值PyTorch 版作业的核心代码都收敛在 torchnlp.py 中这是作业迁移最省力的抓手。它提供了load_dataset数据加载 词表构建、encode文本编码、padify/offsetify/pad_length三种批处理策略、train_epoch/train_epoch_emb两个训练循环。你完成作业时只需要重写load_dataset这一个函数让它返回与 AG_NEWS 同构的(label, text)列表其余管线全部可以原样复用——这就是「重跑」二字最经济的实现方式。完成作业的四个步骤第 1 步选择数据集并注明出处作业明确指出可以用 Kaggle 竞赛数据集但「used with attribution」注明出处是不可省略的前提。作业示例提及的是 CrowdFlower 天气推文weather tweets类竞赛数据这类数据典型的字段是推文文本与是否与天气相关的相关性标签天然适合做二分类实验。选择数据集时建议考虑三点以便与课程内置数据形成对比、满足「换一种数据集类型」的要求标签空间不同内置 AG_NEWS 是四分类你可以选二分类如推文相关性或多标签任务检验Dense(num_class)与CrossEntropyLoss的适配序列长度分布不同新闻标题短而正文长推文天然 ≤ 280 字符换成长文本数据会显著影响 padding 与 packed sequence 的效率对比文本噪声不同推文含 提及、链接、表情符号需要额外的清洗步骤——这本身就是值得写进 Notebook 的「自己的发现」。任何外部数据集都必须以可核查的方式注明来源与许可例如 Kaggle 数据集的出处页与授权条款这是作业的硬性要求。第 2 步替换数据加载与预处理管线PyTorch 侧修改 torchnlp.py 中的load_dataset把torchtext.datasets.AG_NEWS换成你自己的数据集读取逻辑同时保持返回结构(train_dataset, test_dataset, classes, vocab)不变def load_dataset(ngrams1, min_freq1): # 例如从本地 CSV 读取自己的数据组装成 (label, text) 列表 # train_dataset [(label, text), ...] # label 从 1 开始编号 # classes [weather-related, not-weather-related] counter collections.Counter() for (label, line) in train_dataset: counter.update(torchtext.data.utils.ngrams_iterator(tokenizer(line), ngramsngrams)) vocab torchtext.vocab.vocab(counter, min_freqmin_freq) return train_dataset, test_dataset, classes, vocab注意两个细节其一torchnlp.py中encode的标签处理是t[0]-1把 1-based 标签转为 0-based你自己的数据集也要遵循同样的编号约定其二ngrams1时ngrams_iterator等价于普通 token 流如果你的数据需要字符级或 n-gram 级特征可以调整该参数。TensorFlow 侧把tfds.load(ag_news_subset)替换为自定义数据集的加载代码如从 CSV 用tf.data读取然后重新对vectorizer做adapt。注意 RNNTF.ipynb 中 vectorizer 只对训练集前 2000 条做了adapt且全文title description实验时并未重新训练 vectorizer——Notebook 明确提醒这可能让部分 token 被忽略你在自己的数据上应当避免这个简化。第 3 步改写 Notebook 中的模型以 PyTorch 版为例最简单且最能突出「自己的发现」的做法是保留三种模型并全部替换输出层class RNNClassifier(torch.nn.Module): def __init__(self, vocab_size, embed_dim, hidden_dim, num_class): super().__init__() self.hidden_dim hidden_dim self.embedding torch.nn.Embedding(vocab_size, embed_dim) self.rnn torch.nn.RNN(embed_dim, hidden_dim, batch_firstTrue) self.fc torch.nn.Linear(hidden_dim, num_class) def forward(self, x): x self.embedding(x) x, h self.rnn(x) return self.fc(x.mean(dim1))在原有结构基础上把num_class从len(classes)改为你数据集的类别数即可。若你的数据是二分类还可以顺手实验num_class1 Sigmoid的替代方案并在 Notebook 中对比两种输出层的行为差异——这类对比就是「突出自己的发现」的素材。如果你想更进一步改写模型两个 Notebook 都给出了现成的扩展点双向 RNNPyTorch 只需给构造器传bidirectionalTrue注意此时隐藏向量尺寸翻倍Linear输入维度要相应调整TensorFlow 用keras.layers.Bidirectional(...)包装循环层多层 RNNPyTorch 传num_layers参数自动堆叠TensorFlow 逐层添加且除最后一层外都要设return_sequencesTruePacked sequencesPyTorch 中在forward里用pack_padded_sequence打包、pad_packed_sequence解包RNNPyTorch.ipynb 的LSTMPackClassifier是完整范例。第 4 步训练并记录你的发现训练循环无需自己写torchnlp.py 的train_epoch与train_epoch_emb已经实现了 Adam 优化、交叉熵损失、每 200 个 batch 打印一次累计准确率并通过epoch_size支持限制每轮样本数。PyTorch Notebook 中的默认配置是batch_size16, lr0.001RNNPyTorch.ipynb 特别提醒RNN 展开后反向传播涉及的层数极多必须用较小的学习率、较大的数据集且训练很慢优先使用 GPU。TensorFlow 侧对应model.compile(losssparse_categorical_crossentropy, metrics[acc], optimizeradam)与model.fit(..., validation_data...)同样可以借助.take(...)限制训练数据量来快速验证管线。「文档化发现」建议在改写后的 Notebook 中用 Markdown cell 记录以下内容全部是可在你自己的机器上验证的事实数据清洗与预处理决策如推文中的链接、提及如何处理及其影响三种模型RNN / LSTM / Packed-LSTM在你数据集上的准确率与训练耗时对比长文本 vs 短文本对 padding 开销、packed sequence 收益的影响如果实验了双向/多层变体记录其相对单层单向模型的提升幅度。从源码中可复用的训练与评估细节完成作业时有几个藏在源码里的细节值得注意它们直接影响实验的成败use_pack_sequence的 CPU/GPU 约束在train_epoch_emb中当use_pack_sequenceTrue时长度向量被显式留在 CPUoff off.to(cpu)因为pack_padded_sequence要求长度张量在 CPU 上。如果你自己写训练循环必须保留这个细节否则会在 GPU 环境下直接报错——torchnlp.py 中已用注释明确说明。embedding 初始化PyTorch 版 LSTM 分类器在 RNNPyTorch.ipynb 中手动把 embedding 权重初始化为randn_like - 0.5零中心初始化而简单 RNN 分类器未做处理——这种「同数据下不同初始化策略」的对比同样可以写进你的发现。「只训练标题」vs「标题正文」TF Notebook 明确演示了只训练新闻标题会降低准确率RNNTF.ipynb 中已注明。迁移到自己的数据集时如果你有「短字段 长字段」两类特征完全可以复刻这个对照实验。掩码与分桶TF Notebook 指出TextVectorization自动 padding 的 token 会参与训练并干扰收敛给出了两条对策——mask_zeroTrue掩码或tf.data.experimental.bucket_by_sequence_length按序列长度分桶。这两条在自选数据集上同样适用。换一种数据集类型差异带来的坑与对策作业特意要求「换一种不同类型的数据集」本质上是逼你在迁移中遇到并解决新问题。结合两个 Notebook 的既有经验最常见的坑有类别数变化修改num_class后别忘了同步调整classes列表与输出层PyTorch 版的标签还需保持 1-based 编码t[0]-1转换序列长度分布变化长文本数据会让 padding 浪费剧增此时 Packed-LSTMPyTorch或bucket_by_sequence_lengthTF的收益会更明显值得在 Notebook 中做定量对比词表规模变化推文类数据口语化、噪声词多min_freqPyTorch与max_tokensTF需要重新调参否则词表被低频噪声词挤占训练时间两个 Notebook 都反复强调 RNN/LSTM 训练缓慢建议先用.take(...)或epoch_size做小规模冒烟测试确认管线无误后再全量训练。作业自检清单在提交或展示你的作业前对照以下清单逐项确认✅ 使用了自己的数据集而非课程内置的 AG_NEWS✅ 数据集出处与许可attribution已在 Notebook 中注明✅ 完整重跑了 PyTorch 或 TensorFlow 版 Notebook代码可运行✅ 改写后的 Notebook 突出记录了自己的发现预处理决策、模型对比、性能数据✅ 数据集类型与内置数据存在实质差异标签体系、文本长度或噪声水平至少一项不同✅ 相关结论均来自你自己机器上的实际运行结果未编造任何性能数字。完成以上步骤你提交的将不仅是一份「换了个数据集的 Notebook」而是一份包含数据决策、模型迁移、实验对比与结论分析的完整技术报告——这正是本课作业设计作业说明想要培养的实战能力。赞分享教程人工智能机器学习深度学习【免费下载链接】AI-For-Beginners12 Weeks, 24 Lessons, AI for All!项目地址https://gitcode.com/GitHub_Trending/ai/AI-For-Beginners点击查看免费下载相关推荐用你自己的数据集复跑 RNN NotebookAI-For-Beginners 第 16 课实践作业完整指南用你自己的数据集复跑 RNN NotebookAI For Beginners 第 16 课实践作业完整指南 本指南围绕 AI For Beginners 第教程人工智能机器学习深度学习AI-For-Beginners RNN 课程作业实战用自定义数据集重跑 PyTorch / TensorFlow 循环神经网络 NotebookAI For Beginners RNN 课程作业实战用自定义数据集重跑 PyTorch / TensorFlow 循环神经网络 Notebook 导读 本篇教程人工智能机器学习深度学习AI-For-Beginners RNN 作业实战指南用自定义数据集重跑 PyTorch 与 TensorFlow 循环神经网络 NotebookAI For Beginners RNN 作业实战指南用自定义数据集重跑 PyTorch 与 TensorFlow 循环神经网络 Notebook 本课Re教程人工智能机器学习深度学习创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

Windows和Mac的小白教程(二)

Windows和Mac的小白教程(二)

1. 引言 承接上回,无论你使用的是 Windows 还是 macOS 电脑,日常使用中总会遇到各种需要掌握的基础技能——从连接网络、使用浏览器,到安装软件、处理办公文档,再到连接打印机和投影仪。本教程面向普通电脑用户,系统性…

2026/10/11 7:52:04 阅读更多 →
JavaSE拓展:可变参数

JavaSE拓展:可变参数

一、什么是可变参数可变参数(Varargs):方法的形参个数不固定,可以传 0 个、1 个或者多个同类型的参数。 底层原理:可变参数本质就是一个数组,编译器在编译阶段,自动把传入的多个参数封装成数组。…

2026/10/10 11:20:56 阅读更多 →
外卖平台高比例分账如何技术落地?拆解原生接口瓶颈与第三方合规实现方案

外卖平台高比例分账如何技术落地?拆解原生接口瓶颈与第三方合规实现方案

前言:为什么外卖平台会被 30% 分账上限卡住 很多后端同学初次做外卖小程序,会直接复用微信支付分账 API,开发时才遇到报错:分账金额超过特约商户设置最大分账比例微信支付。 这里先澄清一个很关键认知:30% 是微信支付…

2026/10/10 13:07:12 阅读更多 →

最新新闻

告别语义漂移:用 BM25 与向量检索打造个人日记的混合召回(Hybrid Search)

告别语义漂移:用 BM25 与向量检索打造个人日记的混合召回(Hybrid Search)

秋雨淅淅沥沥下了一整天,空气里泛着潮湿的泥土香气。我坐在书房里,试图从这几年积攒的上千篇日记与手账随笔中,找出一年前在某家咖啡馆尝过的“桂花乌龙生椰拿铁”。 我在私有 RAG 助手里键入了这几个字,屏幕很快吐出了一堆相关记…

2026/10/11 7:52:03 阅读更多 →
轻薄笔记本上的显存天平:Q4_K_M 与 Q8_0 量化实测与生活化选型指南

轻薄笔记本上的显存天平:Q4_K_M 与 Q8_0 量化实测与生活化选型指南

秋风吹得窗台上的绿植沙沙作响,泡上一壶热白茶,把轻薄笔记本放在膝头,是在这个季节里最舒适的姿势。对于喜欢在本地掌控一切数据的开发者来说,轻薄本的安静与便携是一种难得的惬意。但这份惬意往往在打开模型下载列表的一瞬间&…

2026/10/11 7:52:03 阅读更多 →
【计算机毕业设计单片机案例】基于WIFI的自行车骑行速度里程定位远程监测装置设计 基于单片机的骑行速度里程与GPS定位联合采集系统设计(030205)

【计算机毕业设计单片机案例】基于WIFI的自行车骑行速度里程定位远程监测装置设计 基于单片机的骑行速度里程与GPS定位联合采集系统设计(030205)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于嵌入式单片机,Java、小程序技术领域和毕业项目实战 ✌️…

2026/10/11 7:52:03 阅读更多 →
WorkBuddy FDE:90天从需求到真实用户交付路径

WorkBuddy FDE:90天从需求到真实用户交付路径

1. 这不是“从0到1”,而是“从一句话到真用户”的真实压缩路径“WorkBuddy FDE”这个名称本身就很说明问题——它不叫“WorkBuddy Pro”或“WorkBuddy AI”,而是一个带明确角色后缀的缩写。FDE,即 Frontend Developer(前端开发者&…

2026/10/11 7:52:03 阅读更多 →
从模糊需求到90天上线:WorkBuddy FDE方法论实战手册

从模糊需求到90天上线:WorkBuddy FDE方法论实战手册

我接到 WorkBuddy 这个项目时,需求文档只有一句话:做一个能帮团队把任务理清楚的 App。没有用户画像,没有流程图,没有竞品分析,甚至没人说清楚要先做手机版还是网页版。我当时的反应是:这个项目如果直接动手…

2026/10/11 7:52:03 阅读更多 →
NMODBUS 工业通信实战:.NET 下 Modbus TCP/RTU 开发与避坑指南

NMODBUS 工业通信实战:.NET 下 Modbus TCP/RTU 开发与避坑指南

简介:NMODBUS.zip 是一套面向 C# 开发者的 MODBUS TCP/IP 通信库资源,适合刚接触工业自动化协议、需要快速与 PLC 建立数据交互的新手与中级开发者。它封装了 ModbusTcpMaster 等核心类,提供读写保持寄存器、线圈以及数据转换、异常处理等常用…

2026/10/11 7:51:03 阅读更多 →

日新闻

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

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

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

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

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

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

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

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

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

2026/10/11 0:00:27 阅读更多 →

周新闻

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

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

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

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

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

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

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

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

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

2026/10/11 0:00:27 阅读更多 →

月新闻

我发现了一个新思路:用 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/10 5:23:50 阅读更多 →
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/9 21:32:20 阅读更多 →
黑夜航拍船只数据集训练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/10 10:38:42 阅读更多 →