深度学习21个工程级项目实战:从训练到部署闭环
简介本资源是面向深度学习初学者与进阶实践者的21个完整项目实战合集聚焦DNN、CNN、RNN/LSTM、VAE、GAN等主流模型的端到端实现覆盖图像识别、文本处理、时序预测、生成任务等典型应用场景。资源包共911个文件以511个Python脚本含模型构建、训练、评估全流程代码、104张JPG/PNG格式示例图像、66个Markdown文档含原理说明与实验步骤、55个配置与说明文件为主辅以Shell脚本、Protobuf定义、Dockerfile及Jupyter Notebook等工程化支持文件整体压缩后仅55.81MB结构清晰、开箱即用。已有6700人下载学习每个项目均包含数据预处理、模型搭建、超参调优、可视化分析及部署提示部分案例还提供Flask轻量服务封装与TensorFlow Serving转换示例切实助力读者打通从理论理解到工程落地的关键链路。1. 为什么“深度学习21个项目实例”不是书单或课件而是你工程能力的分水岭如果你翻过《动手深度学习》《深度学习入门》《鱼书》甚至刷完吴恩达深度学习课后题却 still 在面试时被问“你做过什么项目”就卡壳——那不是你学得不够而是你缺一套可验证、可调试、可拆解、可复现的最小闭环项目集。这21个实例不是玩具级MNIST手写识别堆叠也不是调包跑通就交差的Notebook流水账它们覆盖图像分类含夜间/低光照场景、目标检测YOLOv5/v8轻量部署、语义分割Cityscapes子集精简训练、时间序列预测电力负荷设备振动双模态、文本分类中文短文本领域迁移、语音关键词唤醒TinyML级模型压缩、多模态检索图文对齐微调等真实产线高频需求。每个项目都强制要求数据加载→预处理→模型定义→训练调度→指标可视化→ONNX导出→推理验证缺一不可。它不教“什么是反向传播”但会告诉你当val_loss突然跳变时先查torch.cuda.memory_summary()再看DataLoader的num_workers是否超限当mAP卡在0.3不动大概率是anchor匹配策略和标签归一化没对齐。适合刚跑通PyTorch官方教程、想用项目说话的中级开发者也适合带新人的TL用来建模规范checklist。2. 从零启动用最小依赖跑通第一个项目CIFAR-10图像分类2.1 为什么选CIFAR-10作为起点不是MNIST也不是ImageNetMNIST太简单梯度几乎不衰减掩盖了batch norm初始化、学习率warmup、label smoothing等关键细节ImageNet太大单卡训不动容易陷入环境配置泥潭。CIFAR-10是黄金平衡点32×32分辨率足够暴露CNN结构缺陷如小感受野导致边缘丢失10类标签让top-1准确率有明确阈值92%才算baseline达标且官方提供torchvision.datasets.CIFAR10直接加载无需手动解压/校验/路径拼接。更重要的是它能快速验证你的数据管道健壮性——比如transforms.RandomHorizontalFlip(p0.5)在训练集生效但在测试集必须禁用这个细节在21个项目里反复出现而CIFAR-10是最小代价暴露它的场景。2.2 三行命令搭起可复现环境conda requirements.txt不要用pip install -r requirements.txt硬装——版本冲突会让你在第3个项目就放弃。我坚持用conda隔离pip精准补位# 创建干净环境Python 3.9是当前PyTorch 2.0最稳版本 conda create -n dl21 python3.9 conda activate dl21 # 安装核心框架指定CUDA版本避免自动降级 conda install pytorch torchvision torchaudio pytorch-cuda11.8 -c pytorch -c nvidia # 补装工具链注意tqdm必须4.65否则进度条在Jupyter里乱码 pip install tqdm opencv-python scikit-learn matplotlib onnx onnxruntime-gpu1.16.3提示onnxruntime-gpu1.16.3是关键。新版1.17在某些NVIDIA驱动如515.65.01下会触发cudaErrorLaunchFailure但报错信息只显示ORT fail根本看不出是GPU驱动兼容问题。这个版本经RTX 3090/4090实测稳定。2.3 一个函数封装完整训练流程含早停与权重保存别写几百行train.py。把训练逻辑压进train_one_epoch()和validate()两个函数主循环只做调度def train_one_epoch(model, dataloader, optimizer, criterion, device): model.train() running_loss 0.0 for batch_idx, (data, target) in enumerate(dataloader): data, target data.to(device), target.to(device) optimizer.zero_grad() output model(data) loss criterion(output, target) loss.backward() # 梯度裁剪防爆炸ResNet类网络必备 torch.nn.utils.clip_grad_norm_(model.parameters(), max_norm1.0) optimizer.step() running_loss loss.item() return running_loss / len(dataloader) def validate(model, dataloader, criterion, device): model.eval() correct, total 0, 0 with torch.no_grad(): for data, target in dataloader: data, target data.to(device), target.to(device) output model(data) _, pred output.max(1) correct pred.eq(target).sum().item() total target.size(0) acc 100. * correct / total return acc # 主训练循环早停逻辑内嵌非外部callback best_acc 0.0 patience_counter 0 for epoch in range(100): # CIFAR-10通常50轮收敛设100防意外 train_loss train_one_epoch(model, train_loader, optimizer, criterion, device) val_acc validate(model, val_loader, criterion, device) if val_acc best_acc: best_acc val_acc torch.save(model.state_dict(), cifar10_best.pth) patience_counter 0 else: patience_counter 1 if patience_counter 15: # 连续15轮无提升则停 print(fEarly stopping at epoch {epoch}) break这段代码的价值不在功能而在显式暴露三个决策点clip_grad_norm_的max_norm1.0太小0.1导致收敛慢太大5.0易梯度爆炸1.0是CIFAR-10 ResNet18的实测甜点patience_counter 15比常规10更激进因为CIFAR-10验证集小1w样本acc波动大需更严格判定过拟合torch.save(model.state_dict())而非torch.save(model)前者只存参数后者存整个模型对象含冗余graph体积大且跨PyTorch版本易失效。3. 模型轻量化实战把ResNet18压到3MB以内并保持91%准确率3.1 为什么必须做模型压缩不是为了炫技而是部署刚需你在本地用RTX 4090训完模型但客户现场只有Jetson Nano4GB RAM或树莓派CM42GB RAM。ResNet18原始权重约45MBONNX导出后仍32MB远超嵌入式设备内存上限。21个项目中第7个“边缘端口罩检测”明确要求模型5MB、推理延迟80ms1080p输入。这不是理论题是硬件限制倒逼的工程动作。压缩不是简单删层而是精度-体积-速度三维博弈剪枝牺牲精度换体积量化牺牲动态范围换速度知识蒸馏用大模型指导小模型保精度——本节聚焦最落地的INT8量化通道剪枝组合。3.2 PyTorch原生量化四步法避坑版别信torch.quantization.quantize_dynamic()——它只对Linear/Conv2d做动态量化对ReLU6、AdaptiveAvgPool2d等模块无效导出ONNX后会报错。必须用静态量化Static Quantization且校准数据必须独立于训练集# 1. 插入观察器仅对需要量化的模块 model.eval() quantized_model copy.deepcopy(model) quantized_model.qconfig torch.quantization.get_default_qconfig(fbgemm) # x86用fbgemmARM用qnnpack torch.quantization.prepare(quantized_model, inplaceTrue) # 2. 用校准数据集非训练集跑前向收集统计分布 calibration_loader torch.utils.data.DataLoader( cifar10_val_dataset, # 注意必须用验证集子集不能用训练集 batch_size32, shuffleFalse, num_workers2 ) with torch.no_grad(): for data, _ in calibration_loader: quantized_model(data) # 3. 转换为量化模型此时weight已转INT8activation仍float quantized_model torch.quantization.convert(quantized_model, inplaceTrue) # 4. 导出ONNX关键指定opset13否则量化算子不支持 dummy_input torch.randn(1, 3, 32, 32) torch.onnx.export( quantized_model, dummy_input, resnet18_int8.onnx, opset_version13, input_names[input], output_names[output], dynamic_axes{input: {0: batch_size}} )注意opset_version13是硬性要求。ONNX opset 12不支持QuantizeLinear/DequantizeLinear算子导出后用Netron打开会看到一堆Unknown节点。很多教程写opset11那是2021年的旧方案现在必踩坑。3.3 通道剪枝用L1NormPruner剪掉20%通道精度仅降0.3%量化解决体积剪枝解决冗余计算。我们不用复杂稀疏训练而用结构化剪枝Structured Pruning——直接删整组卷积通道保证推理引擎TensorRT/TVM能优化from torch.nn.utils import prune # 对每个Conv2d层按L1范数剪枝保留80%通道 for name, module in quantized_model.named_modules(): if isinstance(module, torch.nn.Conv2d): # 计算每通道L1范数对weight维度[0]求和 l1_norm torch.norm(module.weight.data, p1, dim[1,2,3]) # 剪枝比例0.2 → 保留top 80% num_keep int(l1_norm.shape[0] * 0.8) topk_channels torch.topk(l1_norm, num_keep, largestTrue).indices # 构造mask保留通道置1剪掉置0 mask torch.zeros_like(l1_norm) mask[topk_channels] 1 # 应用结构化剪枝 prune.CustomFromMask.apply(module, weight, maskmask.unsqueeze(1).unsqueeze(2).unsqueeze(3)) # 剪枝后移除冗余参数否则体积不减 for module in quantized_model.modules(): if hasattr(module, weight_orig): prune.remove(module, weight)剪枝后模型体积从32MB→2.8MB实测Jetson Nano上推理速度从120ms→68ms精度从91.2%→90.9%。血泪经验剪枝必须在量化后进行如果先剪枝再量化被剪掉的通道权重仍参与量化统计导致校准偏差。4. 避坑指南21个项目里高频翻车的5个硬核陷阱4.1 现象验证集准确率虚高10%但实际部署效果差原因transforms.Normalize的mean/std参数在训练/验证时用了不同数值。常见错误是训练用ImageNet统计值[0.485,0.456,0.406]但CIFAR-10真实分布均值是[0.491,0.482,0.447]。标准化失配导致模型学到虚假特征。解决为每个数据集单独计算统计值。CIFAR-10正确做法# 计算CIFAR-10真实mean/std运行一次即可 train_dataset datasets.CIFAR10(root./data, trainTrue, downloadTrue) loader DataLoader(train_dataset, batch_size1000, shuffleFalse) mean torch.zeros(3) std torch.zeros(3) for data, _ in loader: mean data.mean(dim[0,2,3]) std data.std(dim[0,2,3]) mean / len(loader) std / len(loader) # 得到mean[0.491,0.482,0.447], std[0.247,0.243,0.261]4.2 现象ONNX模型在OpenVINO推理结果全为0原因PyTorch导出时未冻结BN层。model.eval()只关闭dropout但BN的running_mean/running_var仍在更新导出ONNX时这些buffer未固化。解决导出前强制冻结BNfor m in model.modules(): if isinstance(m, torch.nn.BatchNorm2d): m.eval() # 确保BN用running统计量 # 再执行torch.onnx.export(...)4.3 现象多GPU训练loss下降极慢GPU利用率不足30%原因DistributedDataParallel未正确设置find_unused_parametersTrue当模型含条件分支如某些层只在特定batch启用时未用梯度的参数被误判为错误。解决在DDP包装时显式声明model torch.nn.parallel.DistributedDataParallel( model, find_unused_parametersTrue, # 关键 device_ids[local_rank] )4.4 现象YOLOv5检测框全部偏移右下角原因标签坐标归一化错误。YOLO要求x_center, y_center, width, height全部除以图像宽高但有人误用x_min, y_min, x_max, y_max归一化。解决检查数据加载器输出# 正确标签格式YOLO标准 # [class_id, x_center_norm, y_center_norm, w_norm, h_norm] # 其中x_center_norm (x_min x_max) / 2 / img_width # 错误写法label[:, 1:] label[:, 1:] / img_shape # img_shape[h,w]但YOLO需[w,h] # 正确写法 label[:, 1] (label[:, 1] label[:, 3]) / 2 / img_width # x_center label[:, 2] (label[:, 2] label[:, 4]) / 2 / img_height # y_center label[:, 3] (label[:, 3] - label[:, 1]) / img_width # width label[:, 4] (label[:, 4] - label[:, 2]) / img_height # height4.5 现象TensorRT引擎构建耗时2小时且显存爆掉原因builder.max_workspace_size设得过大如1301GBTRT尝试穷举所有优化策略反而降低效率。解决按设备显存设合理值# RTX 309024GB设512MBJetson AGX Orin32GB设1GB config.max_workspace_size 1 29 # 512MB # 并开启FP16精度比INT8更稳精度损失0.5% config.set_flag(trt.BuilderFlag.FP16)5. 多模态项目落地用CLIP微调实现跨模态图文检索第18个项目5.1 为什么不用纯视觉或纯文本模型真实场景要解决“搜图找文案”电商客服要根据用户上传的瑕疵图检索知识库中相似故障描述工业质检需用文字指令如“检测螺丝缺失”驱动视觉模型定位。这要求模型理解图文语义对齐而非各自编码。21个项目中第18个“工业文档图文检索”正是此场景——用CLIP ViT-B/32 backbone在自建的5万张设备图对应维修手册片段数据集上微调。重点不是SOTA指标而是如何让小数据集上CLIP不退化。5.2 CLIP微调的三个反直觉操作CLIP预训练用400M图文对微调时若直接finetune全部参数小数据集10k对会灾难性遗忘。必须做三件事① 冻结ViT的前10层只微调最后2层text encoder全部层ViT浅层学通用纹理深层学语义组合。冻结前10层保特征提取鲁棒性放开后2层适配新域。Text encoder因领域词少维修术语有限需全放开。② 图像侧用RandAugment而非AutoAugmentAutoAugment搜索策略针对ImageNet对工业图噪声划痕、油污过强。RandAugment的N2, M102种变换强度10更温和train_transform transforms.Compose([ transforms.Resize((224, 224)), transforms.RandAugment(num_ops2, magnitude10), # 关键参数 transforms.ToTensor(), transforms.Normalize(mean[0.485, 0.456, 0.406], std[0.229, 0.224, 0.225]) ])③ 损失函数用InfoNCEHard Negative Mining原始CLIP用global contrastive loss但小数据集负样本难挖掘。我们在batch内做hard negative miningdef hard_negative_loss(logits_per_image, logits_per_text, temperature0.01): # logits_per_image: [B, B]i行j列图i与文j相似度 # 找每行最难负样本除对角线外最大logit hard_neg_img torch.max( logits_per_image torch.diag_embed(torch.full((logits_per_image.size(0),), float(-inf))), dim1 ).values # 找每列最难负样本 hard_neg_txt torch.max( logits_per_text torch.diag_embed(torch.full((logits_per_text.size(0),), float(-inf))), dim0 ).values # InfoNCE with hard negatives loss_img -torch.mean(torch.log_softmax(logits_per_image / temperature, dim1).diag()) loss_txt -torch.mean(torch.log_softmax(logits_per_text / temperature, dim0).diag()) return (loss_img loss_txt) / 2 # 训练时传入logits_per_image, logits_per_text loss hard_negative_loss(logits_per_image, logits_per_text)5.3 检索效果验证不用top-k用Mean Average PrecisionmAPTop-1准确率对图文检索意义不大——用户容忍看前10结果。mAP计算所有相关文档的平均精度更反映真实体验。我们用sklearn.metrics.average_precision_score实现def compute_map(retrieval_scores, labels): # retrieval_scores: [N_query, N_gallery]每行是某查询对所有图的相似度 # labels: [N_query, N_gallery]1相关0不相关 aps [] for i in range(len(labels)): # sklearn要求y_true为二值y_score为分数 ap average_precision_score(labels[i], retrieval_scores[i]) aps.append(ap) return np.mean(aps) # 示例mAP10只算前10个结果 retrieval_scores_top10 retrieval_scores[:, :10] labels_top10 labels[:, :10] map10 compute_map(retrieval_scores_top10, labels_top10)在5万对数据上微调后mAP10达0.68基线CLIP零样本为0.32且推理时用ONNX Runtime CPU模式单次检索200ms。关键技巧检索前对text embedding做L2归一化图像embedding同理余弦相似度即点积——这步省去开方运算加速30%。6. 终极验证用“项目交付清单”倒逼工程闭环附Checklist表格21个项目不是练手玩具而是交付物。我给自己定死规矩每个项目完成必须产出一份交付清单Delivery Checklist否则不算结束。这张表不是形式主义而是把模糊的“做完”变成可审计的原子动作。以下是我第21个项目“声纹活体检测”的实际清单你可直接套用检查项验证方式通过标准实际结果数据合规检查data/LICENSE及README.md声明音频数据标注为CC BY-NC 4.0无商用限制✅ 已签署数据授权书环境可复现新建conda env运行pip install -r requirements.txtpython train.py --epochs 10无import error✅ 依赖全满足训练可中断CtrlC中断训练重启后--resume加载loss从断点继续下降不重置optimizer state✅ epoch 7中断恢复后epoch 8 loss↓推理一致性PyTorch模型 vs ONNX模型 vs TensorRT引擎同一音频输入三者输出top-1 class完全一致✅ 100% match性能达标Jetson Xavier NX实测单音频推理150ms内存占用1.2GB✅ 138ms1.18GB文档完备检查docs/目录含数据说明、训练命令、部署步骤、FAQ✅ 7个.md文件含3个典型报错解决方案这张表最狠的地方在于第3项“训练可中断”。很多项目看似跑通但--resume功能没做——这意味着一旦断电或集群调度失败就得重头来。我在第12个项目“风电设备振动预测”就栽过没保存optimizer state重训后learning rate从初始值开始导致收敛慢3倍。现在所有项目都强制实现torch.save({epoch: epoch, model_state: model.state_dict(), optimizer_state: optimizer.state_dict(), scheduler_state: scheduler.state_dict()}, ckpt_path)。最后一句实在话这21个项目我带过3届实习生没人能在2个月内全做完。但只要坚持用交付清单卡每个项目6个月后你会自然形成肌肉记忆——看到新需求第一反应不是“用什么模型”而是“数据在哪、怎么标、怎么验、怎么压、怎么交”。这种能力比任何SOTA论文都值钱。希望帮到你。本文还有配套的精品资源点击获取

相关新闻

rea:一个只读离线的项目资源效率分析命令行工具

rea:一个只读离线的项目资源效率分析命令行工具

1. 为什么我最终决定自己写 rea 这个命令行工具1.1 一次让人头皮发麻的上线前排查上个月我接手了一个半年没人维护的老项目,场景很典型:客户临时要上线一个小版本,要求先解决构建慢和接口超时的问题。我把代码拉下来,在临时机器上…

2026/10/11 14:30:34 阅读更多 →
从零实现2D俯视角射击游戏:Canvas渲染与碰撞检测实战

从零实现2D俯视角射击游戏:Canvas渲染与碰撞检测实战

简介:一个用C编写的自上而下二维射击游戏完整工程,核心是带有视野阴影的俯视角战斗玩法。该项目将SFML图形库与Box2D物理引擎结合,适合对游戏开发感兴趣的中高级编程学习者,尤其是想了解游戏循环、碰撞处理与渲染管线的读者。整个…

2026/10/11 14:30:34 阅读更多 →
设置开关、限制密钥、第三方工具:关掉苹果 AI 的 N 种姿势横评

设置开关、限制密钥、第三方工具:关掉苹果 AI 的 N 种姿势横评

设置开关、限制密钥、第三方工具:关掉苹果 AI 的 N 种姿势横评 【免费下载链接】RemoveMacAI Debloat macOS: turn off Apple Intelligence, analytics, ads and pop-ups. A native app and CLI, and every change can be undone. 项目地址: https://gitcode.com/…

2026/10/11 14:30:34 阅读更多 →

最新新闻

Cursor/IDEA/Android Studio 方法定义与类定义快捷键

Cursor/IDEA/Android Studio 方法定义与类定义快捷键

Cursor / IDEA / Android Studio【方法/类定义】全套快捷键 之前接了个维护老项目的活,代码量大得吓人,光一个业务模块的调用链就套了七八层。我每天干得最多的一件事,就是按住Ctrl键用鼠标点方法名,从Controller一路追到Service实…

2026/10/11 15:20:01 阅读更多 →
ClaudeCode终极指南:从安装到跑通第一个代码任务

ClaudeCode终极指南:从安装到跑通第一个代码任务

简介:这份资源是面向开发者与AI编程爱好者的ClaudeCode实战指南配套代码包,聚焦于借助AI编程工具提升编码效率这一核心诉求。内容覆盖从安装配置到高级用法的完整链路,包括国内环境使用方案、环境变量设置、智谱GLM4.5与Kimi K2模型接入、Cla…

2026/10/11 15:20:01 阅读更多 →
C#操作SQLite3从入门到工程实践:增删改查、事务与WAL模式详解

C#操作SQLite3从入门到工程实践:增删改查、事务与WAL模式详解

简介:面向.NET初学者的C# SQLite3增删改查Demo,通过完整可运行示例演示轻量级数据库的接入流程,覆盖连接配置、建表操作、数据插入、结果查询、记录更新与删除等增删改查核心环节,适用于桌面应用、工具软件以及移动端的本地离线存…

2026/10/11 15:20:01 阅读更多 →
PACS与DICOM:医学影像存储架构、容量规划与运维排障实战

PACS与DICOM:医学影像存储架构、容量规划与运维排障实战

你在医院做完CT或核磁,留意过那个细节吗:检查刚结束,诊断医生电脑上图像基本同步出现,你还没走出影像科,报告已经开始写了。这个流畅体验的背后,就是PACS系统加DICOM标准这套组合拳在干活。PACS&#xff08…

2026/10/11 15:20:01 阅读更多 →
如何用1条Docker命令部署Rackula:从空仓库到可视化机架的完整教程

如何用1条Docker命令部署Rackula:从空仓库到可视化机架的完整教程

【免费下载链接】Rackula rack layout designer 项目地址: https://gitcode.com/gh_mirrors/ra/Rackula 点击查看 免费下载 Rackula 是一款开源免费的机架布局设计工具(rack layout designer),你可以在浏览器里拖拽真实的服务器、…

2026/10/11 15:20:01 阅读更多 →
递归自我改进 (RSI)思考:脚手架演化 RRSI、训练算法

递归自我改进 (RSI)思考:脚手架演化 RRSI、训练算法

❝先说结论:递归自我改进(Recursive Self-Improvement,RSI)现在不是"AI 自己变强"这一件事,而是四条性质完全不同的回路叠在一起——改输出、改脚手架、改权重、改"什么叫好"。 前三条都在推进&am…

2026/10/11 15:19:00 阅读更多 →

日新闻

流感时间序列预测实战: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/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 阅读更多 →