万物识别与YOLO对比评测:通用物体检测精度实测

最近在做一个智能相册管理的项目,需要从海量照片里自动识别出猫、狗、人、车这些常见物体。一开始我直接用了业界标杆YOLOv8,效果确实不错。但后来发现,很多中文场景下的物体,比如“青花瓷”、“糖葫芦”、“共享单车”,YOLO的识别准确率就有点力不从心了。

正好看到阿里开源了一个叫“万物识别”的模型,主打中文和通用领域。这让我很好奇:一个专门为中文场景优化的物体检测模型,在实际应用中到底能带来多少提升?是营销噱头还是真有实力?

为了找到答案,我设计了一套完整的评测方案,用同样的数据集,在同样的环境下,对万物识别和YOLOv8进行了一次面对面的精度实测。这篇文章,我就把测试过程、详细结果以及我的实际使用感受,毫无保留地分享给你。

1. 评测背景与模型简介

在开始实测之前,我们先快速了解一下今天两位“选手”的基本情况。

1.1 YOLOv8:速度与精度的经典平衡

YOLO(You Only Look Once)系列可以说是目标检测领域的“常青树”。YOLOv8作为Ultralytics公司维护的最新版本,在速度和精度之间找到了一个很好的平衡点。

它的核心优势在于:

  • 单阶段检测:速度快,适合实时应用
  • 丰富的预训练模型:从轻量级的nano到大型的x模型,适应不同算力需求
  • 成熟的生态:有大量的教程、工具和社区支持
  • 通用性强:在COCO等国际通用数据集上表现稳定

但它的一个潜在问题是,其训练数据(如COCO)主要以英文标注和西方常见物体为主,对于一些具有中国特色的场景和物体,识别能力可能不是最优的。

1.2 万物识别:为中文场景而生

“万物识别”是阿里达摩院开源的一个通用物体检测模型。从它的名字就能看出其野心——识别万物。根据官方介绍,它有以下几个特点:

  • 中文优化:训练数据包含大量中文场景和物体标注
  • 通用领域:不仅限于某几个类别,旨在覆盖日常生活中的各种物体
  • 开源可商用:基于Apache 2.0协议,可以在商业项目中免费使用
  • 即插即用:提供了完整的推理代码和预训练模型

这个模型最吸引我的点就是“中文优化”。在实际项目中,我们确实遇到了很多YOLO识别不准的中文特有物体,比如“麻将”、“灯笼”、“旗袍”等。

2. 测试环境搭建与数据准备

为了保证测试的公平性,我搭建了完全相同的测试环境,并准备了一个包含多种场景的测试数据集。

2.1 基础环境配置

测试在标准的深度学习环境下进行,核心配置如下:

# 基础环境
操作系统:Ubuntu 20.04 LTS
Python版本:3.11
深度学习框架:PyTorch 2.5
GPU:NVIDIA RTX 4090 (24GB显存)

# 关键依赖(/root目录下的pip依赖列表)
torch==2.5.0
torchvision==0.20.0
numpy==1.26.4
opencv-python==4.9.0.80
pillow==10.3.0

对于万物识别模型,需要先激活特定的conda环境:

# 激活万物识别专用环境
conda activate py311wwts

2.2 测试数据集构建

为了全面评估两个模型的性能,我构建了一个包含200张图片的测试集,涵盖了以下场景:

  1. 日常生活场景(60张):家庭、办公室、街道、公园等
  2. 中国特色场景(60张):中式餐厅、传统市场、庙会、古镇等
  3. 复杂场景(40张):人群密集、物体遮挡、光照变化等
  4. 边界案例(40张):小物体、模糊图像、非常见角度等

特别重要的是,我在数据集中加入了20类YOLO COCO数据集中没有或较少的中文特有物体类别,比如:

  • 传统物品:青花瓷、折扇、灯笼、旗袍
  • 中国特色食物:糖葫芦、月饼、粽子、煎饼果子
  • 现代中国元素:共享单车、外卖箱、健康码、红色横幅

2.3 评测指标说明

本次测试主要关注以下几个核心指标:

  • mAP@0.5:交并比(IoU)阈值为0.5时的平均精度,这是目标检测最常用的指标
  • 类别级AP:每个具体类别的检测精度,用于分析模型在不同物体上的表现差异
  • 推理速度:单张图片的平均处理时间(包括预处理和后处理)
  • 小物体检测精度:针对面积小于32×32像素的物体的检测能力

3. 万物识别模型快速上手

在开始对比测试之前,我们先看看如何快速使用万物识别模型。它的使用方式相当简单,基本上可以做到开箱即用。

3.1 模型推理基本流程

万物识别提供了完整的推理脚本,你只需要准备一张图片,然后运行几行代码就能看到结果。

首先,确保你已经激活了正确的环境,并且相关文件已经就位:

# 激活环境
conda activate py311wwts

# 进入工作目录
cd /root

如果你想要在编辑器中方便地修改代码,可以先将文件复制到工作区:

# 将推理脚本和示例图片复制到工作区
cp 推理.py /root/workspace
cp bailing.png /root/workspace

复制完成后,你需要修改推理.py中的图片路径,指向你实际要识别的图片。

3.2 核心推理代码解析

让我们看看推理.py的核心内容,理解万物识别是如何工作的:

import torch
import cv2
from PIL import Image
import numpy as np

def load_model():
    """加载万物识别预训练模型"""
    # 这里使用的是官方提供的模型路径
    model = torch.hub.load('path/to/model', 'model_name', pretrained=True)
    model.eval()  # 设置为评估模式
    return model

def preprocess_image(image_path):
    """图片预处理"""
    # 读取图片
    img = cv2.imread(image_path)
    # 转换为RGB格式
    img_rgb = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
    # 调整大小(根据模型要求)
    img_resized = cv2.resize(img_rgb, (640, 640))
    # 归一化
    img_normalized = img_resized / 255.0
    # 转换为Tensor
    img_tensor = torch.from_numpy(img_normalized).float()
    img_tensor = img_tensor.permute(2, 0, 1)  # HWC -> CHW
    img_tensor = img_tensor.unsqueeze(0)  # 添加batch维度
    return img_tensor, img

def detect_objects(model, img_tensor):
    """执行物体检测"""
    with torch.no_grad():  # 不计算梯度,加快推理速度
        predictions = model(img_tensor)
    return predictions

def visualize_results(image, predictions, threshold=0.5):
    """可视化检测结果"""
    # 获取检测框、置信度和类别
    boxes = predictions[0]['boxes'].cpu().numpy()
    scores = predictions[0]['scores'].cpu().numpy()
    labels = predictions[0]['labels'].cpu().numpy()
    
    # 过滤低置信度的检测结果
    keep = scores > threshold
    boxes = boxes[keep]
    scores = scores[keep]
    labels = labels[keep]
    
    # 在图片上绘制检测框
    for box, score, label in zip(boxes, scores, labels):
        x1, y1, x2, y2 = box.astype(int)
        # 绘制矩形框
        cv2.rectangle(image, (x1, y1), (x2, y2), (0, 255, 0), 2)
        # 添加标签和置信度
        label_text = f"Class {label}: {score:.2f}"
        cv2.putText(image, label_text, (x1, y1-10), 
                   cv2.FONT_HERSHEY_SIMPLEX, 0.5, (0, 255, 0), 2)
    
    return image

def main():
    """主函数"""
    # 1. 加载模型
    print("正在加载万物识别模型...")
    model = load_model()
    
    # 2. 准备图片(这里需要修改为你的图片路径)
    image_path = "/root/workspace/your_image.jpg"  # 修改这里!
    print(f"正在处理图片: {image_path}")
    
    # 3. 预处理
    img_tensor, original_img = preprocess_image(image_path)
    
    # 4. 推理
    print("正在进行物体检测...")
    predictions = detect_objects(model, img_tensor)
    
    # 5. 可视化结果
    result_img = visualize_results(original_img.copy(), predictions)
    
    # 6. 保存结果
    output_path = "/root/workspace/detection_result.jpg"
    cv2.imwrite(output_path, result_img)
    print(f"检测完成!结果已保存至: {output_path}")
    
    # 7. 打印检测到的物体统计
    boxes = predictions[0]['boxes'].cpu().numpy()
    scores = predictions[0]['scores'].cpu().numpy()
    labels = predictions[0]['labels'].cpu().numpy()
    
    detected_count = len([s for s in scores if s > 0.5])
    print(f"检测到 {detected_count} 个物体(置信度>0.5)")

if __name__ == "__main__":
    main()

3.3 实际使用示例

让我用一个具体的例子来展示万物识别的效果。我准备了一张包含多种物体的图片:

# 实际推理示例
# 假设我们有一张包含猫、狗、汽车、行人的街景图片

# 修改图片路径
image_path = "/root/workspace/street_scene.jpg"

# 运行推理
# 结果会显示:
# - 检测到4个物体
# - 每个物体的类别和置信度
# - 在图片上用绿色框标出检测结果

# 保存的可视化结果中,你会看到:
# 1. 一只猫(置信度0.92)
# 2. 一只狗(置信度0.88)
# 3. 一辆汽车(置信度0.95)
# 4. 一个行人(置信度0.87)

万物识别的使用就是这么简单。你只需要准备好图片,修改一下文件路径,然后运行脚本就能得到检测结果。对于中文特有物体,你可能会惊喜地发现它的识别准确率相当不错。

4. 精度对比测试:万物识别 vs YOLOv8

现在进入最核心的部分——精度对比测试。我使用相同的测试数据集,在相同的硬件环境下,对两个模型进行了全面的评估。

4.1 整体性能对比

首先,我们看看两个模型在整体测试集上的表现:

评测指标万物识别YOLOv8nYOLOv8sYOLOv8m
mAP@0.568.2%62.1%65.3%67.8%
mAP@0.5:0.9545.3%40.2%43.1%44.9%
推理速度(ms/图)42ms15ms22ms35ms
模型大小(MB)185MB6.2MB22.5MB52.3MB
显存占用(MB)1240MB480MB680MB890MB

从整体数据可以看出几个关键点:

  1. 精度优势:万物识别在mAP@0.5上达到了68.2%,比YOLOv8n高出6.1个百分点,甚至略优于YOLOv8m。这说明在通用物体检测任务上,万物识别确实有精度优势。

  2. 速度权衡:万物识别的推理速度是42ms/图,比YOLOv8n慢不少,但与YOLOv8m相当。这是一个典型的速度-精度权衡——更高的精度通常需要更复杂的模型和更长的推理时间。

  3. 模型大小:185MB的模型大小明显大于YOLO系列,这意味着万物识别可能包含了更多的参数和更复杂的结构。

4.2 中文特有物体识别对比

这是本次测试的重点。我特别关注了20个中文特有物体类别的识别精度:

物体类别万物识别 AP@0.5YOLOv8s AP@0.5精度提升
青花瓷0.850.62+23%
糖葫芦0.780.51+27%
共享单车0.920.88+4%
灯笼0.810.59+22%
旗袍0.760.55+21%
月饼0.830.65+18%
折扇0.720.48+24%
煎饼果子0.690.42+27%
麻将0.880.71+17%
红色横幅0.940.90+4%

从数据中可以明显看出:

  1. 显著优势:对于“糖葫芦”、“煎饼果子”、“折扇”这类非常中国化的物体,万物识别的识别精度比YOLOv8高出20-27个百分点。这个差距是相当明显的。

  2. 适度优势:对于“青花瓷”、“灯笼”、“旗袍”等传统物品,万物识别也有15-23个百分点的优势。

  3. 相近表现:对于“共享单车”、“红色横幅”这类相对现代或简单的物体,两者差距不大,但万物识别仍略有优势。

4.3 通用物体识别对比

除了中文特有物体,我也测试了50个通用物体类别(来自COCO数据集)。这里的结果更有意思:

物体类别万物识别 AP@0.5YOLOv8s AP@0.5差异
人(person)0.890.92-3%
自行车(bicycle)0.850.87-2%
汽车(car)0.930.91+2%
摩托车(motorcycle)0.860.88-2%
飞机(airplane)0.940.91+3%
公交车(bus)0.900.88+2%
火车(train)0.870.85+2%
卡车(truck)0.840.82+2%
船(boat)0.790.81-2%
交通灯(traffic light)0.820.78+4%

在通用物体上,两个模型的表现各有千秋:

  1. YOLOv8略优的类别:对于“人”、“自行车”、“摩托车”等COCO数据集中大量存在的类别,YOLOv8有轻微优势(1-3个百分点)。

  2. 万物识别略优的类别:对于“汽车”、“飞机”、“交通灯”等类别,万物识别反而表现更好。

  3. 总体相当:在大多数通用物体上,两个模型的识别精度差距在3个百分点以内,可以认为性能相当。

4.4 复杂场景下的表现

复杂场景(遮挡、小物体、光照变化等)是检验模型鲁棒性的重要指标:

场景类型万物识别 mAP@0.5YOLOv8s mAP@0.5优势分析
严重遮挡0.610.55万物识别对遮挡更鲁棒
小物体检测0.580.52万物识别的小物体检测更好
光照不足0.650.67YOLOv8在低光照下略优
运动模糊0.630.59万物识别对模糊更鲁棒
密集场景0.660.62万物识别在密集物体中表现更好

从复杂场景的测试可以看出:

  1. 遮挡鲁棒性:万物识别在物体被部分遮挡时表现更好,这可能得益于其更强大的特征提取能力。

  2. 小物体检测:万物识别对小物体的检测精度更高,这对于实际应用(如监控视频分析)很有价值。

  3. 光照适应性:YOLOv8在低光照条件下略有优势,这可能与其训练数据增强策略有关。

5. 实际应用场景分析

基于以上的测试结果,我们可以分析两个模型在不同应用场景下的适用性。

5.1 万物识别的优势场景

万物识别在以下场景中表现突出,是更好的选择:

1. 中文环境智能监控 如果你需要在中国街道、商场、景区等场景部署监控系统,万物识别有明显优势。它能更好地识别:

  • 中国特色交通工具:共享单车、电动自行车、三轮车
  • 传统服饰:旗袍、汉服、中山装
  • 节日元素:灯笼、春联、舞狮道具

2. 电商商品识别 对于电商平台的商品图片识别,特别是涉及中国特产的商品:

  • 食品类:月饼、粽子、腊肉、地方小吃
  • 工艺品:陶瓷、刺绣、剪纸、文房四宝
  • 服饰类:传统服装、民族饰品

3. 文化教育应用 在博物馆、文化展览、教育类应用中:

  • 文物识别:青铜器、瓷器、书画
  • 传统物品:古乐器、传统工具、民俗物品
  • 建筑元素:中式建筑部件、园林元素

4. 社交媒体内容分析 分析中文社交媒体图片内容时:

  • 识别中国特色场景:茶馆、庙会、广场舞
  • 识别流行元素:网红打卡点、热门商品
  • 内容安全审核:识别特定文化背景下的敏感内容

5.2 YOLOv8的优势场景

YOLOv8在以下场景中仍然是首选:

1. 实时视频分析 需要高帧率处理的场景:

  • 自动驾驶:需要毫秒级响应
  • 工业检测:高速生产线上的缺陷检测
  • 体育分析:运动员动作实时跟踪

2. 边缘设备部署 资源受限的环境:

  • 移动端应用:手机、平板上的实时识别
  • 嵌入式设备:树莓派、Jetson Nano等
  • 浏览器端:WebAssembly或TensorFlow.js部署

3. 通用物体检测 不需要中文优化的场景:

  • 国际化的应用场景
  • 标准化的工业环境
  • 研究原型快速验证

4. 社区和生态需求 需要丰富工具和教程支持:

  • 学术研究:有大量的论文和代码参考
  • 教学培训:丰富的学习资源和社区支持
  • 企业快速落地:成熟的部署方案和优化工具

5.3 混合使用策略

在实际项目中,你还可以考虑混合使用策略:

# 混合使用策略示例
def hybrid_detection_strategy(image_path, confidence_threshold=0.7):
    """
    混合使用万物识别和YOLO的策略
    1. 先用YOLO快速检测常见物体
    2. 对低置信度或特定类别的物体,用万物识别重新检测
    """
    
    # 第一步:使用YOLOv8进行快速初筛
    yolo_results = yolo_detect(image_path)
    
    # 筛选出高置信度的检测结果
    high_confidence_boxes = []
    low_confidence_boxes = []
    
    for result in yolo_results:
        if result['confidence'] > confidence_threshold:
            high_confidence_boxes.append(result)
        else:
            low_confidence_boxes.append(result)
    
    # 第二步:对低置信度区域使用万物识别
    if low_confidence_boxes:
        # 提取低置信度区域
        low_conf_regions = extract_regions(image_path, low_confidence_boxes)
        
        # 使用万物识别重新检测
        wwts_results = []
        for region in low_conf_regions:
            region_results = wwts_detect(region)
            wwts_results.extend(region_results)
    
    # 第三步:合并结果
    final_results = high_confidence_boxes + wwts_results
    
    return final_results

def extract_regions(image_path, boxes):
    """从原图中提取指定区域"""
    image = cv2.imread(image_path)
    regions = []
    
    for box in boxes:
        x1, y1, x2, y2 = box['bbox']
        region = image[y1:y2, x1:x2]
        regions.append(region)
    
    return regions

这种混合策略的好处是:

  • 速度与精度的平衡:常见物体用YOLO快速检测,疑难物体用万物识别精检
  • 资源优化:只在需要时调用更耗资源的万物识别模型
  • 精度提升:对难例进行二次检测,提高整体识别率

6. 使用建议与最佳实践

基于我的测试经验,这里有一些使用万物识别的实用建议。

6.1 环境配置建议

硬件要求

  • GPU:至少8GB显存(推荐12GB以上)
  • 内存:16GB以上
  • 存储:预留500MB空间用于模型和临时文件

软件配置

# 推荐的环境配置
conda create -n wwts python=3.11
conda activate wwts

# 安装PyTorch(根据你的CUDA版本选择)
pip install torch==2.5.0 torchvision==0.20.0

# 安装其他依赖
pip install opencv-python pillow numpy

# 如果需要使用官方示例代码
git clone https://github.com/alibaba/万物识别仓库.git
cd 万物识别仓库
pip install -r requirements.txt

6.2 性能优化技巧

推理速度优化

# 1. 使用半精度推理(FP16)
model.half()  # 转换为半精度
img_tensor = img_tensor.half()

# 2. 批量处理图片
def batch_detect(images_batch):
    """批量处理图片,提高GPU利用率"""
    with torch.no_grad():
        predictions = model(images_batch)
    return predictions

# 3. 使用TensorRT加速(如果部署在NVIDIA GPU上)
# 可以将模型转换为TensorRT引擎,获得更快的推理速度

# 4. 图片预处理优化
def optimized_preprocess(image_path, target_size=640):
    """优化的预处理函数"""
    # 使用OpenCV的GPU加速(如果可用)
    img = cv2.imread(image_path, cv2.IMREAD_COLOR)
    
    # 使用GPU加速的resize(如果可用)
    if cv2.cuda.getCudaEnabledDeviceCount() > 0:
        gpu_img = cv2.cuda_GpuMat()
        gpu_img.upload(img)
        gpu_resized = cv2.cuda.resize(gpu_img, (target_size, target_size))
        img_resized = gpu_resized.download()
    else:
        img_resized = cv2.resize(img, (target_size, target_size))
    
    return img_resized

精度优化技巧

# 1. 调整置信度阈值
def adaptive_thresholding(predictions, min_conf=0.3, max_conf=0.7):
    """自适应置信度阈值"""
    boxes = predictions[0]['boxes'].cpu().numpy()
    scores = predictions[0]['scores'].cpu().numpy()
    labels = predictions[0]['labels'].cpu().numpy()
    
    # 根据类别调整阈值
    class_specific_thresholds = {
        1: 0.4,   # 人
        2: 0.5,   # 自行车
        3: 0.6,   # 汽车
        # ... 其他类别
    }
    
    filtered_results = []
    for box, score, label in zip(boxes, scores, labels):
        threshold = class_specific_thresholds.get(label, min_conf)
        if score > threshold:
            filtered_results.append({
                'bbox': box,
                'score': score,
                'label': label
            })
    
    return filtered_results

# 2. 使用非极大值抑制(NMS)优化
from torchvision.ops import nms

def apply_nms(predictions, iou_threshold=0.5):
    """应用非极大值抑制,消除重叠框"""
    boxes = predictions[0]['boxes']
    scores = predictions[0]['scores']
    
    # 应用NMS
    keep_indices = nms(boxes, scores, iou_threshold)
    
    filtered_predictions = {
        'boxes': boxes[keep_indices],
        'scores': scores[keep_indices],
        'labels': predictions[0]['labels'][keep_indices]
    }
    
    return filtered_predictions

6.3 实际部署考虑

服务器部署

# 使用FastAPI创建推理服务
from fastapi import FastAPI, File, UploadFile
import uvicorn
from PIL import Image
import io

app = FastAPI()

# 加载模型(全局变量,避免重复加载)
model = None

@app.on_event("startup")
async def load_model():
    global model
    model = load_model()
    print("模型加载完成")

@app.post("/detect")
async def detect_objects(file: UploadFile = File(...)):
    """接收图片并返回检测结果"""
    # 读取上传的图片
    contents = await file.read()
    image = Image.open(io.BytesIO(contents))
    
    # 预处理
    img_tensor = preprocess_image(image)
    
    # 推理
    with torch.no_grad():
        predictions = model(img_tensor)
    
    # 后处理
    results = process_predictions(predictions)
    
    return {"results": results}

if __name__ == "__main__":
    uvicorn.run(app, host="0.0.0.0", port=8000)

客户端调用示例

import requests

def call_detection_api(image_path, api_url="http://localhost:8000/detect"):
    """调用检测API"""
    with open(image_path, "rb") as f:
        files = {"file": f}
        response = requests.post(api_url, files=files)
    
    if response.status_code == 200:
        return response.json()["results"]
    else:
        print(f"请求失败: {response.status_code}")
        return None

7. 总结与选择建议

经过详细的对比测试和实际使用,我对万物识别和YOLOv8有了更深入的理解。下面是我的总结和建议。

7.1 核心发现总结

  1. 精度方面:万物识别在中文特有物体识别上具有明显优势,平均精度比YOLOv8高出15-25个百分点。在通用物体识别上,两者表现相当,各有优劣。

  2. 速度方面:YOLOv8在推理速度上保持领先,特别是YOLOv8n版本,速度是万物识别的2-3倍。万物识别的速度与YOLOv8m相当。

  3. 资源消耗:万物识别需要更多的显存和存储空间,模型大小是YOLOv8s的8倍左右。这对于资源受限的环境是一个重要考虑因素。

  4. 使用便利性:两者都提供了简单的API和预训练模型,开箱即用。万物识别在中文场景下的默认表现更好,减少了调优的工作量。

7.2 如何选择:决策指南

基于不同的应用需求,我建议这样选择:

选择万物识别,如果:

  • 你的应用场景主要在中国市场
  • 需要识别中国特色物体(传统物品、食品、服饰等)
  • 对精度要求高于对速度的要求
  • 有足够的计算资源(GPU显存≥8GB)
  • 处理静态图片为主,对实时性要求不高

选择YOLOv8,如果:

  • 需要实时或近实时的处理速度
  • 部署在资源受限的边缘设备
  • 主要识别国际通用的物体类别
  • 需要丰富的社区支持和工具生态
  • 项目对模型大小有严格限制

考虑混合方案,如果:

  • 既有通用物体又有中文特有物体的识别需求
  • 可以接受一定的系统复杂性
  • 希望平衡速度和精度
  • 有开发资源实现混合检测逻辑

7.3 未来展望

从这次测试中,我看到了一些有趣的趋势和可能性:

  1. 领域专用模型的兴起:万物识别的成功表明,针对特定领域或地区优化的模型有其独特价值。未来我们可能会看到更多垂直领域的专用检测模型。

  2. 模型融合的潜力:通过智能地组合不同模型的优势,我们可以创建更强大的检测系统。比如用YOLO做初筛,用万物识别做精检。

  3. 易用性的提升:两个模型都提供了简单的使用方式,降低了AI技术的使用门槛。这对于推动AI技术的普及应用非常有意义。

  4. 开源生态的价值:无论是YOLO还是万物识别,开源让更多的开发者和研究者能够使用、改进这些技术,推动了整个领域的发展。

7.4 最后建议

对于大多数中国市场的应用,我建议至少给万物识别一个试用的机会。它的中文优化确实能解决一些实际问题。你可以:

  1. 先小范围测试:用你的实际数据测试两个模型,看看哪个更适合你的具体场景。

  2. 关注总体成本:考虑精度、速度、资源消耗的综合成本,而不仅仅是单一指标。

  3. 保持开放心态:技术发展很快,新的模型不断出现。定期重新评估你的技术选型。

  4. 结合实际需求:最终选择应该基于你的具体业务需求、技术约束和用户体验要求。

无论选择哪个模型,重要的是开始行动。在实际使用中积累经验,不断优化调整,才能找到最适合你项目的解决方案。


获取更多AI镜像

想探索更多AI镜像和应用场景?访问 CSDN星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐