
30款热门AI模型一站整合DeepSeek/GLM/Qwen 随心用限时 5 折。 点击领海量免费额度如果你正在做目标检测相关的项目、研究或者准备发论文面对 YOLO 和 DETR 这两个主流方向是不是有点选择困难尤其是到了2026年技术迭代飞快选错方向可能意味着几个月的工作白费。这篇文章不绕弯子直接对比 YOLO 和 DETR特别是其实时变体 RT-DETR的核心差异、硬件门槛、训练成本和实际效果并提供一个完整的 DETR 实战教程附带数据集。目标是让你看完就能判断哪个更适合你的场景并快速上手跑通一个端到端的项目。核心问题就三个第一YOLO 和 DETR 到底谁更强第二我的显卡比如 6G 显存的 3060能不能跑得动 DETR第三如果我想基于 DETR 做研究或发论文从环境搭建到训练验证的完整流程是什么本文将围绕这三个问题展开结合最新的 RT-DETRv2 和 YOLO11 的对比数据给出基于实测经验的判断并手把手带你完成一个 DETR 目标检测项目的全流程。1. 核心能力速览YOLO vs. DETR在深入细节之前先用一张表快速看清两大流派的核心特征和适用场景。这里的 DETR 主要指其面向实时检测的改进版本 RT-DETR。特性维度YOLO (以 YOLO11 为代表)DETR/RT-DETR (以 RT-DETRv2 为代表)核心架构卷积神经网络 (CNN)Transformer (注意力机制)检测范式基于锚框 (Anchor-based) 或 Anchor-free需要 NMS 后处理端到端 (End-to-End)无需 NMS 后处理开源主导Ultralytics (社区生态极强)百度 (RT-DETR) / Facebook Research (原始 DETR)硬件门槛较低。模型尺寸选择多n, s, m, l, x小模型可在边缘设备如树莓派运行。较高。Transformer 结构更耗显存训练和推理对 GPU 内存要求更高。训练速度快。CNN 收敛快预训练权重丰富。慢。Transformer 需要更长时间训练才能收敛。推理速度极快。在 TensorRT 等后端上优化程度高。较快。RT-DETR 为实时优化但同等精度下通常仍慢于 YOLO。部署友好度极高。提供统一的 Python API支持导出 ONNX、TensorRT、CoreML 等格式文档和社区支持完善。中等。原始 DETR 部署较复杂RT-DETR 可通过 Ultralytics 接口调用简化了流程。主要优势速度与精度平衡好生态成熟易于使用和部署适合工业级应用。端到端检测避免了 NMS 带来的参数调优和误差全局上下文理解能力更强在目标密集、遮挡严重场景可能有优势。典型场景实时视频分析、移动端部署、工业质检、需要快速迭代的原型开发。学术研究、对检测框质量要求极高、复杂场景理解如拥挤人群、遮挡物体。一句话总结要落地、求快、省资源选 YOLO想探索新架构、发论文、攻克复杂场景深入研究 DETR/RT-DETR。对于大多数应用和初学者从 YOLO 开始是更稳妥高效的选择。2. 适用场景与使用边界选择之前必须明确你的目标。YOLO 是你的首选如果项目需要快速上线YOLO 有现成的、经过大量实战检验的代码库和模型从数据准备到训练、部署的 pipeline 非常顺畅。硬件资源有限你只有消费级显卡如 GTX 1660, RTX 3060 6G/12G或者需要在 Jetson、树莓派等边缘设备上运行。YOLO-n 或 YOLO-s 模型是绝佳选择。追求高帧率FPS例如实时摄像头监控、无人机视频流分析YOLO 经过深度优化的 CNN 架构和丰富的加速工具链TensorRT, OpenVINO能提供极致速度。需要多任务支持你的项目可能不仅需要目标检测还需要实例分割YOLOv8-Seg、姿态估计YOLOv8-Pose、分类等。Ultralytics 框架提供了统一接口。DETR/RT-DETR 值得投入如果研究方向是 Transformer 在 CV 的应用你的论文需要围绕注意力机制、端到端检测、消除 NMS 等主题展开。DETR 系列是很好的切入点。任务场景中目标遮挡非常严重例如交通监控中车辆紧密排队零售货架商品层层叠放。Transformer 的全局注意力机制理论上能更好地建模物体间关系。对检测框的精确度有极致要求NMS 后处理可能会抑制一些正确但置信度不高的预测或者需要精细调整重叠框的阈值。端到端的 DETR 直接输出固定数量的预测避免了这个问题。你有充足的算力和时间训练一个收敛的 DETR 模型需要更多的 epoch 和更大的 batch size意味着需要更好的 GPU如 V100, A100和更长的训练周期。使用边界与合规提醒 无论选择哪个模型用于目标检测时都必须遵守法律法规和伦理准则。数据合规确保使用的训练数据集如自定义数据集已获得合法授权不包含个人隐私、商业秘密或受版权保护的敏感内容。应用合规将模型用于人脸识别、行人跟踪等场景时必须格外注意隐私保护并遵循相关地区的数据安全法规。研究诚信在学术研究中使用公开数据集如 COCO, Pascal VOC并正确引用来源。如果是对比实验需确保对比的公平性。3. 环境准备与前置条件我们将以 RT-DETR 的实战为例因为它相比原始 DETR 更贴近“实用”且能通过 Ultralytics 框架相对容易地运行。原始 DETR 的 PyTorch 官方实现环境配置更复杂。基础环境必须操作系统Linux (Ubuntu 20.04/22.04 推荐) 或 Windows 10/11。本文以 Ubuntu 为例Windows 用户可参考类似步骤。Python3.8 或 3.9。建议使用 conda 或 venv 创建虚拟环境。CUDA 和 cuDNN如果你有 NVIDIA GPU。RTX 3060 对应 CUDA 11.x/12.x。请根据你的显卡驱动版本安装对应的 CUDA 工具包。Git用于克隆代码库。硬件建议GPU强烈推荐使用 GPU 进行训练和推理。RT-DETR 训练建议至少 8GB 显存如 RTX 3070。推理可使用更小的 GPU。如果只有 CPU推理速度会非常慢不适合实时场景。内存至少 16GB RAM。磁盘空间预留 10GB 以上空间用于存放代码、数据集和模型。4. 安装部署与启动方式我们将通过 Ultralytics 框架来使用 RT-DETR这是目前最简洁的方式。步骤 1创建并激活虚拟环境# 使用 conda conda create -n rtdetr_demo python3.9 -y conda activate rtdetr_demo # 或使用 venv python -m venv rtdetr_demo source rtdetr_demo/bin/activate # Linux # rtdetr_demo\Scripts\activate # Windows步骤 2安装 UltralyticsUltralytics 库封装了 YOLO 和 RT-DETR 的接口。pip install ultralytics这个命令会自动安装 PyTorch、torchvision 等依赖。如果网络问题导致 PyTorch 安装失败请先根据 PyTorch 官网 的指令安装对应 CUDA 版本的 PyTorch再安装ultralytics。步骤 3验证安装及 GPU 可用性创建一个 Python 脚本verify_env.pyimport torch from ultralytics import RTDETR print(fPyTorch version: {torch.__version__}) print(fCUDA available: {torch.cuda.is_available()}) if torch.cuda.is_available(): print(fGPU device: {torch.cuda.get_device_name(0)}) print(fCUDA version: {torch.version.cuda}) # 尝试加载一个预训练的 RT-DETR 模型轻量级 try: model RTDETR(rtdetr-l.pt) # 会自动下载模型 print(RT-DETR model loaded successfully.) except Exception as e: print(fError loading model: {e})运行它python verify_env.py如果输出显示 CUDA 可用并且成功加载模型说明环境基本就绪。首次运行会从网上下载rtdetr-l.pt模型文件。5. 功能测试与效果验证环境好了我们直接上手用预训练模型进行推理感受一下 RT-DETR 的效果。5.1 使用预训练模型进行图片推理准备一张测试图片例如test_image.jpg运行以下代码from ultralytics import RTDETR import cv2 # 加载预训练模型这里使用 large 版本你也可以尝试 ‘rtdetr-s.pt’, ‘rtdetr-m.pt’ model RTDETR(rtdetr-l.pt) # 执行推理 results model(test_image.jpg) # 可视化结果并保存 for r in results: im_array r.plot() # 绘制边界框的 numpy 数组 cv2.imwrite(result.jpg, im_array) print(fDetection saved to result.jpg) # 打印检测到的类别和框 boxes r.boxes if boxes is not None: print(fDetected {len(boxes)} objects.) for box in boxes: cls_id int(box.cls) conf float(box.conf) xyxy box.xyxy.tolist()[0] print(f Class: {model.names[cls_id]}, Confidence: {conf:.2f}, Box: {xyxy})这段代码完成了加载模型、推理、结果可视化和信息打印的全过程。观察result.jpg看看检测效果如何。同时在终端可以查看显存占用情况例如用nvidia-smi命令。5.2 视频流实时推理测试RT-DETR 号称“实时”我们来测试一下。以下代码使用摄像头或视频文件进行实时检测。from ultralytics import RTDETR import cv2 model RTDETR(rtdetr-l.pt) # 对于实时性可以考虑使用 ‘rtdetr-s.pt’ 或 ‘rtdetr-m.pt’ # 使用摄像头0 表示默认摄像头 cap cv2.VideoCapture(0) # 或者使用视频文件 # cap cv2.VideoCapture(your_video.mp4) while cap.isOpened(): ret, frame cap.read() if not ret: break # 执行推理设置 streamTrue 以优化连续帧的处理 results model(frame, streamTrue) for r in results: # 在帧上绘制检测结果 annotated_frame r.plot() # 显示 FPS (这里是个简单估算生产环境需更精确计算) cv2.putText(annotated_frame, fRT-DETR Live, (10, 30), cv2.FONT_HERSHEY_SIMPLEX, 1, (0, 255, 0), 2) cv2.imshow(RT-DETR Real-time Detection, annotated_frame) # 按 ‘q’ 退出 if cv2.waitKey(1) 0xFF ord(q): break cap.release() cv2.destroyAllWindows()运行后你应该能看到摄像头画面中的物体被实时检测出来。在 RTX 3060 上使用rtdetr-l.pt可能达到 20-30 FPS使用rtdetr-s.pt会更快。这是验证模型“能否用”最直接的方式。5.3 与 YOLO11 的快速对比测试为了让你对“选择谁”有直观感受我们可以在同一环境下用相似的输入对比一下 RT-DETR 和 YOLO11 的推理速度和显存占用。创建一个对比脚本compare_speed.pyimport time from ultralytics import RTDETR, YOLO import torch # 清空 GPU 缓存 torch.cuda.empty_cache() # 初始化模型 model_rtdetr RTDETR(rtdetr-l.pt) model_yolo YOLO(yolo11l.pt) # 选择与 rtdetr-l 精度相近的 YOLO11l # 准备测试图像 import cv2 image cv2.imread(test_image.jpg) if image is None: # 如果没图创建一个随机图像 image torch.randn(1, 3, 640, 640).cuda() * 255 image image.squeeze().permute(1,2,0).cpu().numpy().astype(uint8) # 预热 _ model_rtdetr(image, verboseFalse) _ model_yolo(image, verboseFalse) # 测试 RT-DETR torch.cuda.synchronize() start_time time.time() for _ in range(10): # 运行10次取平均 results_rtdetr model_rtdetr(image, verboseFalse) torch.cuda.synchronize() rtdetr_time (time.time() - start_time) / 10 print(fRT-DETR-l average inference time: {rtdetr_time*1000:.2f} ms) # 测试 YOLO11 torch.cuda.synchronize() start_time time.time() for _ in range(10): results_yolo model_yolo(image, verboseFalse) torch.cuda.synchronize() yolo_time (time.time() - start_time) / 10 print(fYOLO11-l average inference time: {yolo_time*1000:.2f} ms) # 粗略估算显存占用 (PyTorch 的缓存机制会使这个值不精确仅供参考) print(f\nGPU Memory allocated after RT-DETR: {torch.cuda.memory_allocated() / 1e9:.2f} GB) torch.cuda.empty_cache() print(fGPU Memory allocated after YOLO11: {torch.cuda.memory_allocated() / 1e9:.2f} GB)这个测试虽然简单但能给你一个定性的认识在相同精度级别l 尺寸下YOLO11 的推理速度通常更快显存占用通常更少。这就是 YOLO 在生产部署中的核心优势。6. 训练你自己的 DETR 模型保姆级教程预训练模型很好但想要发论文或解决特定问题你必须会在自己的数据集上训练模型。下面我们使用一个公开的小数据集例如 COCO128它是完整 COCO 数据集的子集来演示 RT-DETR 的训练全流程。6.1 准备数据集Ultralytics 支持 YOLO 格式的数据集。我们以 COCO128 为例。创建项目目录结构rtdetr_project/ ├── datasets/ │ └── coco128/ │ ├── images/ │ │ ├── train2017/ │ │ └── val2017/ │ └── labels/ │ ├── train2017/ │ └── val2017/ ├── runs/ # 训练日志和权重保存位置 └── train.py # 训练脚本下载 COCO128 数据集。Ultralytics 可以自动下载但为了演示我们手动准备数据配置文件coco128.yaml# coco128.yaml path: ./datasets/coco128 # 数据集根目录 train: images/train2017 # 训练图像路径相对于 path val: images/val2017 # 验证图像路径相对于 path # 类别数 nc: 80 # 类别名称列表 (COCO 的 80 个类别) names: [person, bicycle, car, motorcycle, airplane, bus, train, truck, boat, traffic light, fire hydrant, stop sign, parking meter, bench, bird, cat, dog, horse, sheep, cow, elephant, bear, zebra, giraffe, backpack, umbrella, handbag, tie, suitcase, frisbee, skis, snowboard, sports ball, kite, baseball bat, baseball glove, skateboard, surfboard, tennis racket, bottle, wine glass, cup, fork, knife, spoon, bowl, banana, apple, sandwich, orange, broccoli, carrot, hot dog, pizza, donut, cake, chair, couch, potted plant, bed, dining table, toilet, tv, laptop, mouse, remote, keyboard, cell phone, microwave, oven, toaster, sink, refrigerator, book, clock, vase, scissors, teddy bear, hair drier, toothbrush]将coco128.yaml放在项目根目录。6.2 编写训练脚本创建train.pyfrom ultralytics import RTDETR def main(): # 加载模型。可以从预训练权重开始也可以从头开始。 # 方案A使用预训练权重推荐收敛快 model RTDETR(rtdetr-l.pt) # 方案B从头开始训练指定结构例如 rtdetr-l # model RTDETR(rtdetr-l.yaml) # 需要先下载对应的 yaml 配置文件 # 训练模型 results model.train( datacoco128.yaml, # 数据配置文件路径 epochs100, # 训练轮数对于演示可以设小一点如 50 imgsz640, # 输入图像尺寸 batch16, # 批量大小。根据你的 GPU 显存调整8G显存可能只能设 4-8。 workers4, # 数据加载线程数 projectruns/train, # 项目保存目录 namertdetr_coco128, # 实验名称 pretrainedTrue, # 使用预训练权重如果从 .pt 加载此参数可能被忽略 optimizerAdamW, # 优化器Transformer常用AdamW lr00.0001, # 初始学习率 warmup_epochs3, # 学习率预热轮数 box7.5, # 框损失权重 cls0.5, # 分类损失权重 save_period10, # 每多少轮保存一次检查点 device0, # 使用 GPU 0。如果是 CPU 则设为 ‘cpu’ verboseTrue # 打印详细日志 ) print(Training completed!) # 训练完成后最佳模型会自动保存在 ‘runs/train/rtdetr_coco128/weights/best.pt’ if __name__ __main__: main()6.3 启动训练与监控在终端运行python train.py训练开始后你会看到大量的日志输出包括损失值、评估指标等。Ultralytics 会自动在runs/train/rtdetr_coco128目录下生成weights/best.pt验证集上表现最好的模型。weights/last.pt最后一个 epoch 的模型。各种可视化图表损失曲线、精度-召回率曲线、混淆矩阵等。关键观察点显存占用使用nvidia-smi -l 1命令实时监控。如果batch设置过大导致显存溢出OOM需要减小batch值。损失曲线关注train/box_loss,train/cls_loss是否平稳下降val/box_loss,val/cls_loss是否同步下降且没有严重过拟合。评估指标最重要的指标是metrics/mAP50-95(B)即 COCO 标准的 mAP。这是衡量模型性能的核心。6.4 验证训练结果训练完成后使用验证集评估最佳模型from ultralytics import RTDETR # 加载训练得到的最佳模型 model RTDETR(runs/train/rtdetr_coco128/weights/best.pt) # 在验证集上评估 metrics model.val(datacoco128.yaml) print(metrics.box.map) # mAP50-95 print(metrics.box.map50) # mAP50也可以对单张图片进行测试观察在新数据上的表现results model(path/to/your/test_image.jpg, saveTrue)结果会保存在runs/detect/predict目录下。7. 资源占用与性能观察在实际使用中资源管理至关重要。显存占用RT-DETR 的显存占用主要受模型尺寸、输入图像分辨率(imgsz) 和批量大小(batch) 影响。rtdetr-x模型在imgsz640, batch1推理时显存占用可能在 3-4GB训练时batch8可能就需要 10GB 以上显存。建议从小模型 (rtdetr-s) 和小批量开始测试逐步上调。CPU/GPU 利用率训练时使用htop(Linux) 或任务管理器 (Windows) 观察 CPU 利用率。如果 CPU 利用率很低而 GPU 利用率未满可能是数据加载 (workers) 成为瓶颈可以适当增加workers数量但不要超过 CPU 核心数。推理速度 (FPS)使用前面提供的对比脚本进行测试。影响 FPS 的因素包括模型复杂度、输入尺寸、后处理RT-DETR 无 NMS后处理负担轻以及推理框架PyTorch 原生 vs. ONNX/TensorRT 导出。批量推理对于需要处理大量图片的场景可以使用批量推理模式。from ultralytics import RTDETR import glob model RTDETR(rtdetr-l.pt) image_paths glob.glob(./test_images/*.jpg) results model(image_paths) # 传入列表自动批量处理 for i, r in enumerate(results): r.save(filenamefresult_{i}.jpg)8. 接口 API 与批量任务虽然 Ultralytics 主要面向 Python API但你也可以轻松地将其封装成 HTTP API 服务供其他系统调用。8.1 使用 FastAPI 创建推理服务创建一个api_server.py文件from fastapi import FastAPI, File, UploadFile from fastapi.responses import JSONResponse, FileResponse import cv2 import numpy as np from ultralytics import RTDETR import io from PIL import Image import uvicorn app FastAPI(titleRT-DETR Detection API) model RTDETR(rtdetr-l.pt) # 在服务启动时加载模型 app.post(/predict) async def predict(file: UploadFile File(...)): 接收上传的图片返回检测结果和带标注的图片。 try: # 读取上传的图片 contents await file.read() image Image.open(io.BytesIO(contents)).convert(RGB) image_np np.array(image) # 执行推理 results model(image_np) # 准备返回结果 detections [] for r in results: boxes r.boxes if boxes is not None: for box in boxes: cls_id int(box.cls) conf float(box.conf) xyxy box.xyxy.tolist()[0] detections.append({ class: model.names[cls_id], confidence: conf, bbox: xyxy # [x1, y1, x2, y2] }) # 生成带标注的图片并保存 annotated_image results[0].plot() output_path annotated_output.jpg cv2.imwrite(output_path, annotated_image) return JSONResponse(content{ status: success, detections: detections, annotated_image_url: f/download/{output_path} }) except Exception as e: return JSONResponse(content{status: error, message: str(e)}, status_code500) app.get(/download/{filename}) async def download_file(filename: str): return FileResponse(filename) if __name__ __main__: uvicorn.run(app, host0.0.0.0, port8000)安装依赖pip install fastapi uvicorn pillow。运行python api_server.py服务将在http://127.0.0.1:8000启动。你可以使用curl或 Postman 发送图片进行测试。8.2 批量任务处理对于需要处理整个文件夹图片的任务可以编写一个脚本import os from ultralytics import RTDETR import cv2 model RTDETR(rtdetr-l.pt) input_dir ./batch_input output_dir ./batch_output os.makedirs(output_dir, exist_okTrue) for img_name in os.listdir(input_dir): if img_name.lower().endswith((.png, .jpg, .jpeg)): img_path os.path.join(input_dir, img_name) results model(img_path) for r in results: annotated_img r.plot() output_path os.path.join(output_dir, fannotated_{img_name}) cv2.imwrite(output_path, annotated_img) print(fProcessed: {img_name})这个脚本会读取batch_input文件夹下的所有图片检测后把带标注的结果保存到batch_output文件夹。9. 常见问题与排查方法问题现象可能原因排查方式解决方案ImportError: No module named ‘ultralytics’Ultralytics 库未安装或不在当前 Python 环境。pip listgrep ultralyticsCUDA out of memory显存不足。运行nvidia-smi查看显存占用。1. 减小batch_size。2. 减小imgsz(如图片尺寸)。3. 使用更小的模型 (rtdetr-s)。4. 使用--device cpu在 CPU 上运行极慢。训练 loss 为 NaN 或不下降学习率过高、数据有问题、模型未初始化好。检查数据标注格式YOLO格式要求归一化坐标。查看前几个 batch 的损失。1. 大幅降低学习率lr0(如 1e-5)。2. 使用预训练权重 (pretrainedTrue)。3. 检查数据集路径和yaml文件是否正确。推理速度非常慢在 CPU 上运行模型过大图片分辨率过高。确认torch.cuda.is_available()为 True。1. 确保使用 GPU (device0)。2. 换用更小的模型。3. 降低推理时的图片尺寸。检测结果框不准或漏检模型在特定场景下未充分训练数据分布与预训练数据差异大。在验证集上评估 mAP。可视化一些失败案例。1. 在自己的数据上微调模型。2. 增加训练轮数epochs。3. 数据增强可能不够调整augment参数。无法加载预训练模型网络问题导致下载失败模型文件损坏。查看错误信息检查~/.cache/ultralytics目录下是否有.pt文件。1. 手动从 Ultralytics 的 GitHub Release 下载模型文件放到对应目录。2. 设置环境变量代理。端口冲突 (API服务)端口 8000 已被其他程序占用。netstat -tulnpgrep :8000 (Linux)10. 最佳实践与使用建议从小开始迭代验证不要一开始就训练最大的rtdetr-x模型。用rtdetr-s在小批量数据上快速跑通整个 pipeline数据准备 - 训练 - 验证 - 推理验证想法可行性。数据质量至上目标检测的性能天花板很大程度上由数据质量决定。确保标注准确、一致并且覆盖了所有重要的场景和变化。善用预训练权重除非你是做全新的架构研究否则永远从预训练权重开始训练。这能节省大量时间并提升最终性能。监控训练过程不要设好参数就走开。定期查看损失曲线和验证指标判断模型是否在正常学习有无过拟合或欠拟合。模型导出与优化训练完成后考虑将模型导出为 ONNX 或 TensorRT 格式以获得更快的推理速度尤其是在生产部署时。Ultralytics 提供了简单的model.export(formatonnx)接口。实验记录使用 Ultralytics 内置的集成如 Weights Biases或自己记录每次实验的超参数、数据集版本和结果。这对于论文复现和项目回溯至关重要。合规与伦理自查在项目公开发布或商用前反复审查你的数据来源、模型应用场景是否符合法律法规和伦理要求特别是涉及人脸、车牌等敏感信息时。11. 总结与下一步回到最初的问题2026年目标检测水论文选 YOLO 还是 DETR答案已经清晰。如果你想快速出一个可用的成果追求速度和部署便利或者资源有限YOLO11乃至未来的YOLO26是你的不二之选。它的生态、文档和社区支持能让你少踩很多坑。如果你的论文核心就是想研究 Transformer 在检测中的应用或者你的场景中目标遮挡、密集问题特别突出并且你有足够的算力支撑那么深入RT-DETR或原始DETR及其变体如 Deformable DETR会更有价值。它的“端到端”和“无 NMS”特性本身就是很好的创新点。本文提供的 RT-DETR 实战教程从环境搭建、功能测试、模型训练到 API 部署已经形成了一个完整的闭环。你可以基于这个流程更换成自己的数据集开始你的研究或项目。下一步可以探索的方向尝试不同的 DETR 变体如 Conditional DETR、DAB-DETR、DN-DETR它们在训练收敛速度和性能上各有改进。深入模型改进在你的论文中可以针对 RT-DETR 的某个模块如特征融合、查询设计、损失函数进行改进并在自己的数据集上验证效果。模型轻量化与部署研究如何将训练好的 RT-DETR 模型量化、剪枝并部署到手机或嵌入式设备上这是一个非常有实用价值的方向。多模态检测结合 CLIP 等视觉-语言模型尝试开放词汇目标检测这是当前的前沿热点。无论选择哪条路动手实践永远是突破迷茫的最好方法。建议你立即按照本文的步骤在 COCO128 或你自己的一个小数据集上跑一遍流程切身感受一下两者的差异。代码和数据集都准备好了剩下的就是开始行动。 30款热门AI模型一站整合DeepSeek/GLM/Qwen 随心用限时 5 折。 点击领海量免费额度