Kaggle免费GPU实战指南:从环境配置到模型训练全流程解析
1. 从零开始为什么Kaggle的免费GPU是个人开发者的“宝藏”如果你正在学习深度学习或者手头有个小项目想跑个模型试试但一看到动辄几千上万的GPU服务器账单就头疼那你肯定不是一个人。我刚开始接触模型训练时也经历过用自己那台老笔记本跑一个简单的ResNet结果一晚上过去进度条才走了10%的绝望。后来我几乎试遍了所有主流的免费云资源从Google Colab到国内的某些平台最后发现Kaggle Notebooks里每周30小时的免费T4 GPU额度对于绝大多数个人学习和小型实验来说简直是个被严重低估的“宝藏”。很多人知道Kaggle是个数据科学竞赛平台但它的Notebook环境以前叫Kernels其实是一个功能极其完整的云端Jupyter Lab。最关键的是它免费提供GPU和TPU加速器。你不需要操心驱动安装、CUDA版本冲突、或者环境配置这些令人头大的问题。开箱即用专注于你的数据和模型本身。这对于想快速验证一个想法、复现一篇论文的代码、或者单纯想学习PyTorch/TensorFlow GPU编程的人来说门槛降到了最低。当然天下没有完美的免费午餐。Kaggle的GPU环境有一些限制比如每周总时长的限制、运行时长的单次限制、以及网络环境可能存在的访问问题。但以我多年的使用经验来看只要你掌握正确的“姿势”这些限制完全可以通过合理的项目规划和一些技巧来规避。这篇文章我就来手把手带你把Kaggle这个免费GPU资源彻底“榨干”从环境准备、数据上传、模型训练到结果保存走完一个完整的流程并分享那些官方文档里不会写的实战经验和避坑指南。2. 环境准备与核心配置避开第一个大坑在Kaggle上使用GPU第一步不是写代码而是正确配置你的Notebook环境。很多新手在这里就会踩坑导致GPU明明显示可用代码却跑在CPU上或者各种库版本冲突。2.1 创建并正确设置Notebook首先你需要一个Kaggle账号。注册过程可能需要手机验证按照提示操作即可。登录后在主页点击“Code”进入Notebooks页面然后点击“New Notebook”。这时你会进入一个类似Jupyter Lab的界面。第一个关键操作在右上角。找到“Settings”设置按钮一个齿轮图标。点击后会弹出环境设置面板。在这里你需要关注三个核心选项Accelerator加速器务必选择“GPU T4 x2”。这是Kaggle目前提供的免费GPU型号拥有16GB显存对于训练大多数视觉模型如YOLO系列、ResNet或中等规模的文本模型如微调一个Roberta来说已经绰绰有余。选择后你的Notebook运行时就会附带GPU资源。Internet网络这个选项默认是“Off”。对于绝大多数需要安装额外Python包或下载预训练模型的情况你必须把它切换到“On”。否则pip install或从Hugging Face下载模型都会失败。这是最容易被忽略的一点。Environment环境这里保持默认的“Standard”即可。它预装了主流的深度学习框架如PyTorch、TensorFlow、Keras以及数据分析必备的pandas、numpy、scikit-learn等。注意开启“Internet”后Notebook在运行时会有一个短暂的“联网”启动过程。如果你的代码不需要访问外部网络所有数据、模型都已上传至Kaggle数据集可以关闭它以获得更快的启动速度。2.2 理解预装环境与包管理Kaggle的Notebook基于一个特定的Docker镜像。你可以通过运行!pip list或!conda list来查看预装的包。通常PyTorch和TensorFlow都是预装好CUDA版本的这意味着你不需要再手动执行pip install torch torchvision这类命令除非你需要特定版本。那么什么时候需要自己安装包呢你需要一个Kaggle环境没有预装的特定库比如albumentations用于图像增强或者transformers的某个新版本。你需要安装从GitHub上拉取的最新代码。你需要的包版本与预装版本冲突。安装命令和本地一样在代码单元格前加!即可执行Shell命令。例如!pip install -q transformers4.30.0 timm这里-q参数表示安静模式减少冗长的输出。我强烈建议在安装包时指定版本号这样可以确保环境可复现。下次你或别人打开这个Notebook运行结果是一致的。一个重要的经验Kaggle环境在每次Notebook重启后所有通过!pip install安装的包都会被重置。为了解决这个问题你可以将安装命令写在第一个代码单元格里并设置为“仅运行一次”。更好的做法是对于复杂的、依赖众多的项目可以创建自己的Kaggle数据集将依赖包列表requirements.txt和安装脚本一起上传在Notebook启动时自动安装。3. 数据与模型的“搬运”策略高效利用Kaggle生态模型训练离不开数据。Kaggle本身就是一个巨大的数据集仓库比如经典的titanic-machine learning from disaster竞赛数据你可以直接作为公开数据集添加。但对于训练“自己的模型”我们更多时候需要使用自定义数据。3.1 上传和管理自定义数据集Kaggle允许你上传私有数据集大小限制为每个数据集20GB对于免费用户这已经能容纳非常多的图像或文本数据了。上传步骤点击主页“Datasets” - “New Dataset”。将你的数据文件如图片文件夹、CSV文件等拖入上传区域。建议先将数据打包成ZIP文件再上传这样上传速度和后续解压效率都更高。填写数据集标题、描述等信息并设置为“Private”私有以保证数据安全。在Notebook中挂载数据集创建或打开一个Notebook后在右侧边栏找到“Add data”按钮。点击后你可以搜索并添加公开数据集或者在“Your Datasets”下找到你刚刚上传的私有数据集并添加。添加后数据集会被挂载到/kaggle/input/目录下。例如如果你的数据集名叫my-custom-dataset那么数据路径就是/kaggle/input/my-custom-dataset/。高效数据读取技巧对于图像数据避免使用PIL.Image.open逐个读取。Kaggle的磁盘I/O性能不错但为了最大化GPU利用率我推荐使用以下方法使用torchvision.datasets.ImageFolder如果你的图像已经按类别分好了文件夹这是最方便的方式。使用cv2.imreadOpenCV的读取速度通常更快但要注意BGR到RGB的转换。对于超大数据集考虑使用TFRecord或LMDB格式但这需要在上传前就做好转换复杂度较高。对于免费用户通常ZIP压缩包按需解压的策略就足够了。3.2 预训练模型的获取与缓存训练模型时我们常常需要加载预训练权重比如ResNet、BERT等。直接从Hugging Face或PyTorch官网下载在Kaggle上是可行的前提是开启了Internet但可能会受网络波动影响。更稳定的策略是利用Kaggle数据集进行缓存首次下载并保存在一个Notebook中编写代码下载你需要的预训练模型如torchvision.models.resnet50(pretrainedTrue)或from_pretrained(bert-base-uncased)。下载后将这些模型权重文件通常是.bin或.pth文件保存到/kaggle/working/目录。创建模型数据集Notebook运行结束后将/kaggle/working/目录下的模型文件打包上传为一个新的Kaggle数据集命名为例如pretrained-models-cache。后续使用在以后的Notebook中只需添加这个pretrained-models-cache数据集然后直接从/kaggle/input/pretrained-models-cache/路径加载模型权重无需再经过网络下载。这不仅能加速启动还能保证100%的可用性。# 示例从Kaggle数据集加载预训练ResNet权重 import torch import torchvision.models as models # 假设你的权重文件保存在 /kaggle/input/pretrained-models-cache/resnet50.pth model models.resnet50(pretrainedFalse) # 先不下载 state_dict torch.load(/kaggle/input/pretrained-models-cache/resnet50.pth, map_locationcpu) model.load_state_dict(state_dict) model model.cuda() # 转移到GPU4. 模型训练实战以PyTorch图像分类为例现在环境、数据、模型都准备好了我们进入核心环节——编写训练循环。这里我以一个经典的图像分类任务为例使用PyTorch框架演示如何在Kaggle上高效组织代码。4.1 项目结构与代码组织在Kaggle Notebook中虽然只有一个文件但良好的代码结构能极大提升可读性和可维护性。我通常会将代码组织成以下几个逻辑部分# 单元格1导入所有依赖包 import os import numpy as np import pandas as pd from PIL import Image import torch import torch.nn as nn import torch.optim as optim from torch.utils.data import Dataset, DataLoader from torchvision import transforms, models import albumentations as A from albumentations.pytorch import ToTensorV2 import cv2 from tqdm import tqdm import warnings warnings.filterwarnings(ignore) # 检查GPU是否可用 print(fPyTorch版本: {torch.__version__}) print(fCUDA是否可用: {torch.cuda.is_available()}) print(fGPU设备名称: {torch.cuda.get_device_name(0) if torch.cuda.is_available() else None})4.2 构建数据管道Data Pipeline这是影响训练速度的关键之一。目标是让GPU永不“饥饿”即数据加载速度要跟上模型计算速度。# 单元格2定义自定义Dataset类 class CustomImageDataset(Dataset): def __init__(self, image_paths, labels, transformNone, modetrain): self.image_paths image_paths self.labels labels self.mode mode # 使用Albumentations库进行增强它比torchvision的transforms更快且支持更丰富的CV2操作 if transform: self.transform transform else: # 默认转换 if mode train: self.transform A.Compose([ A.RandomResizedCrop(224, 224), A.HorizontalFlip(p0.5), A.RandomBrightnessContrast(p0.2), A.Normalize(mean[0.485, 0.456, 0.406], std[0.229, 0.224, 0.225]), ToTensorV2(), ]) else: # val/test self.transform A.Compose([ A.Resize(256, 256), A.CenterCrop(224, 224), A.Normalize(mean[0.485, 0.456, 0.406], std[0.229, 0.224, 0.225]), ToTensorV2(), ]) def __len__(self): return len(self.image_paths) def __getitem__(self, idx): img_path self.image_paths[idx] # 使用OpenCV读取速度更快 image cv2.imread(img_path) image cv2.cvtColor(image, cv2.COLOR_BGR2RGB) # 转换到RGB if self.transform: augmented self.transform(imageimage) image augmented[image] label self.labels[idx] return image, label # 单元格3准备数据路径和创建DataLoader # 假设你的数据在 /kaggle/input/my-dataset/结构为 train/class1/, train/class2/, ... 和 val/... def prepare_data_loaders(data_root/kaggle/input/my-dataset, batch_size32, num_workers2): train_image_paths [] train_labels [] val_image_paths [] val_labels [] # 遍历目录收集训练集路径和标签这里简化处理实际可能需要更复杂的逻辑 train_root os.path.join(data_root, train) for class_idx, class_name in enumerate(sorted(os.listdir(train_root))): class_dir os.path.join(train_root, class_name) for img_name in os.listdir(class_dir): if img_name.endswith((.jpg, .png, .jpeg)): train_image_paths.append(os.path.join(class_dir, img_name)) train_labels.append(class_idx) # 同理处理验证集... # ... # 创建Dataset和DataLoader train_dataset CustomImageDataset(train_image_paths, train_labels, modetrain) val_dataset CustomImageDataset(val_image_paths, val_labels, modeval) # 关键参数num_workers。在Kaggle上建议设置为2。设置太高可能导致内存不足。 train_loader DataLoader(train_dataset, batch_sizebatch_size, shuffleTrue, num_workersnum_workers, pin_memoryTrue) val_loader DataLoader(val_dataset, batch_sizebatch_size, shuffleFalse, num_workersnum_workers, pin_memoryTrue) return train_loader, val_loader, len(train_dataset.classes) train_loader, val_loader, num_classes prepare_data_loaders(batch_size64) print(f数据加载器准备完毕。类别数: {num_classes})关键点解析num_workers数据加载的子进程数。在Kaggle的CPU核心数限制下设置为2通常是安全和高效的。盲目调高如8可能导致内存溢出OOM错误。pin_memoryTrue当数据从CPU转移到GPU时这个设置可以加速数据传输在搭配GPU训练时务必开启。Albumentations我强烈推荐使用这个库代替torchvision.transforms做图像增强因为它基于OpenCV速度更快且功能更强大。4.3 构建模型、定义训练循环# 单元格4定义模型、损失函数和优化器 device torch.device(cuda if torch.cuda.is_available() else cpu) model models.resnet50(pretrainedTrue) # 加载预训练模型 # 修改最后的全连接层适配我们的分类数 model.fc nn.Linear(model.fc.in_features, num_classes) model model.to(device) criterion nn.CrossEntropyLoss() # 使用AdamW优化器目前被认为是比原始Adam更优的选择 optimizer optim.AdamW(model.parameters(), lr1e-4, weight_decay1e-4) # 使用余弦退火学习率调度器 scheduler optim.lr_scheduler.CosineAnnealingLR(optimizer, T_max10) # 单元格5训练和验证函数 def train_one_epoch(model, loader, optimizer, criterion, device, epoch): model.train() running_loss 0.0 correct 0 total 0 pbar tqdm(loader, descfEpoch {epoch} [Train]) for images, labels in pbar: images, labels images.to(device, non_blockingTrue), labels.to(device, non_blockingTrue) optimizer.zero_grad() outputs model(images) loss criterion(outputs, labels) loss.backward() optimizer.step() running_loss loss.item() * images.size(0) _, predicted outputs.max(1) total labels.size(0) correct predicted.eq(labels).sum().item() pbar.set_postfix({Loss: running_loss/total, Acc: 100.*correct/total}) return running_loss / total, 100. * correct / total torch.no_grad() def validate(model, loader, criterion, device): model.eval() running_loss 0.0 correct 0 total 0 pbar tqdm(loader, desc[Val]) for images, labels in pbar: images, labels images.to(device), labels.to(device) outputs model(images) loss criterion(outputs, labels) running_loss loss.item() * images.size(0) _, predicted outputs.max(1) total labels.size(0) correct predicted.eq(labels).sum().item() pbar.set_postfix({Loss: running_loss/total, Acc: 100.*correct/total}) return running_loss / total, 100. * correct / total # 单元格6主训练循环 num_epochs 10 best_val_acc 0.0 for epoch in range(1, num_epochs1): train_loss, train_acc train_one_epoch(model, train_loader, optimizer, criterion, device, epoch) val_loss, val_acc validate(model, val_loader, criterion, device) print(fEpoch {epoch}: Train Loss: {train_loss:.4f}, Train Acc: {train_acc:.2f}% | Val Loss: {val_loss:.4f}, Val Acc: {val_acc:.2f}%) scheduler.step() # 更新学习率 # 保存最佳模型 if val_acc best_val_acc: best_val_acc val_acc torch.save({ epoch: epoch, model_state_dict: model.state_dict(), optimizer_state_dict: optimizer.state_dict(), val_acc: val_acc, }, /kaggle/working/best_model.pth) print(f 最佳模型已保存验证准确率: {val_acc:.2f}%) print(训练完成)训练过程中的经验之谈监控GPU利用率在代码运行期间你可以点击Notebook右上角的“监控”图标查看CPU、内存、GPU的使用情况。理想状态下GPU利用率应持续在70%以上。如果很低可能是DataLoader的num_workers设置不当或数据预处理部分__getitem__太慢成为了瓶颈。处理“Session Timeout”Kaggle Notebook在无交互一段时间约9分钟后会超时。对于长时间训练务必在代码中定期输出日志如每个epoch的损失和精度或者使用tqdm进度条这会被视为“活动”防止会话中断。善用“Save Version”Kaggle允许你随时保存Notebook的版本。在训练关键节点如调参前后保存一个版本相当于一个快照可以随时回溯。5. 结果保存、版本管理与效率最大化训练完成后模型权重、日志、预测结果等都需要妥善保存并考虑如何最大化利用每周的30小时免费时长。5.1 保存你的工作成果所有在Notebook运行过程中生成的文件都应保存在/kaggle/working/目录下。这个目录是持久化的直到你结束会话并且你可以将其内容下载到本地或者直接打包成新的数据集。标准操作流程模型权重如上例所示使用torch.save保存到/kaggle/working/。训练日志/可视化使用TensorBoard或Matplotlib生成的图表也可以保存到此目录。生成预测结果如果是竞赛或需要提交结果将预测的CSV文件也保存到这里。会话结束后如何获取文件直接下载在Notebook文件浏览器中右键点击/kaggle/working/下的文件选择“Download”。通过数据集持久化推荐这是更优雅的方式。编写一个单元格在训练结束后将/kaggle/working/下的重要文件如模型权重、日志复制到/kaggle/input/下的某个目录不对/kaggle/input/是只读的。正确做法是将工作目录的内容创建为一个新的输出数据集。Kaggle会自动将/kaggle/working/的内容与本次Notebook运行版本关联你可以在Notebook的“Output”选项卡下看到这些文件并选择“Save as Dataset”将其保存为一个可复用的数据集。5.2 管理GPU时间与高效实验策略每周30小时听起来不少但如果不加规划很容易在环境调试和等待中浪费掉。以下是我的策略本地原型开发在本地CPU或小规模数据上完成代码的逻辑调试、数据管道测试。确保代码没有语法错误数据加载正常。这能节省大量宝贵的云端GPU调试时间。Kaggle用于“重活”将调试好的代码复制到Kaggle只进行需要GPU加速的真正训练和评估。使用“Quick Save”进行快速迭代在调整超参数如学习率、批量大小时使用“Quick Save”而不是“Commit”。Quick Save更快适合快速验证想法。确定最佳配置后再做一个完整的“Commit”版本保存所有结果。利用“No GPU”模式进行数据预处理如果你的数据需要复杂的预处理例如生成特征文件可以创建一个不使用GPU加速器的Notebook来专门做这件事处理完的结果保存为数据集。这样在训练Notebook中就可以直接使用处理好的数据节省GPU时间。监控使用情况在Kaggle个人主页的“Settings” - “Account” 里可以查看你本周已使用的GPU/TPU时长做到心中有数。5.3 应对常见错误与限制“GPU Out of Memory”这是最常见的问题。解决方法减小batch_size使用梯度累积gradient accumulation来模拟大批次检查模型是否有内存泄漏简化模型结构。“Internet off” 错误确保在Notebook设置中开启了“Internet”。如果开启后仍无法联网可能是临时网络问题可以尝试重启Notebook。“Session crashed”通常是内存不足OOM导致。除了调整批次大小还可以检查数据加载部分是否一次性加载了过多数据到内存。使用生成器Generator或迭代器的方式加载数据。包版本冲突如果pip install失败或导致环境崩溃尝试使用--no-deps选项安装或者创建一个requirements.txt文件精确指定所有依赖的版本。Kaggle的免费GPU是一个极其强大的工具它将高性能计算的门槛降到了几乎为零。通过合理的环境配置、数据管理、代码组织和时间规划你完全可以依靠它完成从课程作业、毕业设计到小型创业项目原型的大部分深度学习训练任务。关键在于像对待任何稀缺资源一样有策略地、高效地去使用它。希望这篇详细的指南能帮你绕过我当年踩过的那些坑更顺畅地开启你的模型训练之旅。如果在使用中遇到其他具体问题Kaggle活跃的社区论坛通常也能找到解决方案。

相关新闻

三分钟上手DB Browser for SQLite:零SQL基础也能轻松管理数据库

三分钟上手DB Browser for SQLite:零SQL基础也能轻松管理数据库

三分钟上手DB Browser for SQLite:零SQL基础也能轻松管理数据库 【免费下载链接】sqlitebrowser Official home of the DB Browser for SQLite (DB4S) project. Previously known as "SQLite Database Browser" and "Database Browser for SQLite&qu…

2026/10/5 18:42:32 阅读更多 →
SQL Server CDC实战指南:从原理到实时数据同步应用

SQL Server CDC实战指南:从原理到实时数据同步应用

1. 项目概述:为什么我们需要CDC?在数据库的世界里,数据从来都不是静止的。想象一下,你负责维护一个大型电商平台的订单数据库,每天有数百万条订单的增、删、改。业务部门突然提出需求:他们需要一个近乎实时…

2026/10/14 10:12:20 阅读更多 →
Python入门指南:从零搭建环境到核心应用场景解析

Python入门指南:从零搭建环境到核心应用场景解析

1. 从“派森”到Python:这门语言到底能干什么? 如果你在搜索引擎里敲下“派森”或者“python入门教程”,大概率是想搞清楚两件事:第一,这玩意儿到底是什么?第二,我学了它能用来做什么&#xff1…

2026/10/9 13:58:43 阅读更多 →

最新新闻

稳定细胞系构建与高表达克隆筛选:从瞬时转染到稳定株的完整指南

稳定细胞系构建与高表达克隆筛选:从瞬时转染到稳定株的完整指南

上个月接了一个蛋白药物早期研发的需求。对方上来就问:稳定细胞系构建怎么收费,能不能顺便帮筛几个高表达克隆。多聊了几句我才搞清楚,他们刚用瞬时转染跑完一轮预实验,分泌量看着不错,团队内部已经把预算和排期都排到…

2026/10/14 10:11:49 阅读更多 →
PTA C++编程题解题攻略:常见题型与踩坑经验总结

PTA C++编程题解题攻略:常见题型与踩坑经验总结

1. 拿到PTA编程题,先别急着敲代码这些年我在某高校带过好几轮C上机课,也帮着学弟学妹们辅导过不少PTA的作业题,发现大多数人卡住的原因其实不是代码能力不够,而是打心底里没把“编程题”当成一道需要审题、拆解的工程题来做。大一…

2026/10/14 10:11:49 阅读更多 →
自托管PS5游戏库与硬件维护:一个极简Web面板的设计实践

自托管PS5游戏库与硬件维护:一个极简Web面板的设计实践

任何一台PS5,玩久了都会攒出一堆散乱的数字资产:买过的游戏、还没补的DLC、借给朋友的光盘、上次清灰的时间、某个账号里卡在80%的奖杯列表。身边不少人用Excel或者手机备忘录在记,但一旦跨设备、跨主机、跨朋友借还,很快就乱成一…

2026/10/14 10:11:49 阅读更多 →
LiteLLM实战:统一大模型API接入与代理网关部署指南

LiteLLM实战:统一大模型API接入与代理网关部署指南

如果你手上同时要接好几家大模型的 API,估计你早就被“每家一套请求格式、鉴权方式、限流策略”磨到没脾气。litellm就是干这个的:一个 Python 库,也是一个可以独立部署的代理网关,把各家大模型接口统一成一套调用方式&#xff0c…

2026/10/14 10:11:49 阅读更多 →
Excel SUMIFS函数详解:多条件求和高阶技巧

Excel SUMIFS函数详解:多条件求和高阶技巧

1. 为什么需要SUMIFS函数? 刚接触Excel那会儿,我经常被各种销售报表折磨得焦头烂额。记得有次老板让我统计"华东地区手机品类在Q2的销售额",我硬是用了三个辅助列才勉强算出来。直到后来发现了SUMIFS这个神器,才发现原来…

2026/10/14 10:11:49 阅读更多 →
Django+Flask智能营销系统:银行数字化转型实战

Django+Flask智能营销系统:银行数字化转型实战

1. 项目背景与核心价值在金融数字化转型浪潮中,银行业务营销正从传统人工经验驱动转向数据智能驱动。这个基于DjangoFlask的智能营销系统,正是利用爬虫技术获取多维金融数据,通过大数据分析生成客户画像,最终以可视化大屏呈现营销…

2026/10/14 10:10:46 阅读更多 →

日新闻

AnyPS5通用适配层设计:兼容性与性能的工程取舍

AnyPS5通用适配层设计:兼容性与性能的工程取舍

1. 从"AnyPS5"这个名字说起:它到底想解决什么问题第一次看到"AnyPS5"这个标题,我脑子里冒出来的第一个念头是:这大概率是一个围绕"跨平台运行"或者"通用适配"做文章的项目。名字里的"Any"…

2026/10/14 0:00:41 阅读更多 →
Flutter跨平台开发实战:二手交易应用与HarmonyOS适配

Flutter跨平台开发实战:二手交易应用与HarmonyOS适配

1. 项目概述:Flutter跨平台二手交易应用开发作为一名长期从事移动应用开发的工程师,我最近完成了一个基于Flutter框架的二手物品交易平台项目。这个项目最吸引我的地方在于它完美结合了Flutter的跨平台优势与HarmonyOS的生态特性,实现了"…

2026/10/14 0:00:41 阅读更多 →
DFS算法解决飞机降落调度问题实战

DFS算法解决飞机降落调度问题实战

1. 项目背景与核心思路飞机降落问题是一个经典的调度优化场景,也是算法竞赛和面试中的高频题目。这个题目要求我们合理安排多架飞机的降落顺序和时间,确保所有飞机都能安全着陆而不发生冲突。在实际航空管制中,这类问题直接关系到飞行安全和机…

2026/10/14 0:00:41 阅读更多 →

周新闻

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

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

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

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

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

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

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

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

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

2026/10/14 3:29:58 阅读更多 →

月新闻

我发现了一个新思路:用 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/13 22:01:27 阅读更多 →
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/13 14:57:39 阅读更多 →
黑夜航拍船只数据集训练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/14 7:53:34 阅读更多 →