VideoAgentTrek-ScreenFilter开源大模型部署教程:YOLO目标检测镜像实战
VideoAgentTrek-ScreenFilter开源大模型部署教程:YOLO目标检测镜像实战
1. 引言
你有没有遇到过这样的场景?面对一段长达数小时的监控录像,需要快速找出所有出现手机、平板或电脑屏幕的画面;或者,在一大堆产品宣传图片里,需要自动筛选出包含电子设备屏幕的图像。传统的人工筛查方式不仅耗时耗力,还容易因为视觉疲劳而出现遗漏。
今天我要介绍的VideoAgentTrek-ScreenFilter,就是专门为解决这类问题而生的智能工具。它基于YOLO目标检测技术,能够自动识别图像和视频中的屏幕类目标,并输出清晰的可视化结果和结构化数据。无论你是做内容审核、视频分析,还是智能安防,这个工具都能帮你大幅提升工作效率。
本教程将手把手带你完成VideoAgentTrek-ScreenFilter的部署和使用,即使你之前没有接触过YOLO或目标检测,也能快速上手。我们会从环境准备开始,一步步讲解如何通过Web界面完成图片和视频的智能检测,最后还会分享一些实用的调参技巧和问题排查方法。
2. 环境准备与快速部署
2.1 系统要求
在开始之前,我们先确认一下运行环境的基本要求。VideoAgentTrek-ScreenFilter镜像对硬件和软件环境有明确的要求,确保你的环境符合这些条件,可以避免后续出现各种兼容性问题。
硬件要求:
- GPU:推荐使用NVIDIA GPU,显存至少4GB(处理视频时建议8GB以上)
- 内存:系统内存至少8GB,处理大文件时建议16GB
- 存储:至少10GB可用磁盘空间,用于存放模型和临时文件
软件要求:
- 操作系统:Linux系统(Ubuntu 20.04/22.04最佳)
- Python版本:3.8及以上
- CUDA版本:11.7或11.8(如果使用GPU)
如果你使用的是CSDN星图平台,这些环境通常已经预配置好了,可以直接使用。如果是本地部署,需要先安装Docker环境。
2.2 一键部署方法
VideoAgentTrek-ScreenFilter最大的优点就是开箱即用。镜像已经预装了所有依赖,包括YOLO模型、Web界面和后端服务。部署过程非常简单,基本上就是“拉取镜像、运行容器”两个步骤。
步骤一:获取镜像 如果你在CSDN星图平台,可以直接在镜像广场搜索“VideoAgentTrek-ScreenFilter”并一键部署。如果是本地环境,可以通过Docker命令拉取:
# 拉取镜像(请根据实际镜像仓库地址调整)
docker pull your-registry/videoagent-screenfilter:latest
步骤二:运行容器 运行容器的命令需要配置一些必要的参数,特别是端口映射和模型路径:
docker run -d \
--name videoagent-screenfilter \
--gpus all \
-p 7860:7860 \
-v /path/to/models:/root/ai-models \
your-registry/videoagent-screenfilter:latest
这里解释几个关键参数:
--gpus all:让容器可以使用所有GPU资源-p 7860:7860:将容器的7860端口映射到主机,这是Web服务的端口-v /path/to/models:/root/ai-models:将本地的模型目录挂载到容器内
步骤三:验证服务 容器启动后,可以通过以下命令检查服务状态:
# 查看容器运行状态
docker ps | grep videoagent-screenfilter
# 查看服务日志
docker logs videoagent-screenfilter --tail 50
如果一切正常,你会看到服务启动成功的日志信息。现在打开浏览器,访问 http://你的服务器IP:7860,就能看到中文的Web操作界面了。
3. 核心功能快速上手
3.1 界面概览与准备工作
第一次打开VideoAgentTrek-ScreenFilter的Web界面,你会看到一个简洁明了的中文操作面板。整个界面分为几个主要区域,我来带你快速熟悉一下:
左侧功能区:
- 模式切换:在“图片检测”和“视频检测”之间切换
- 文件上传:拖拽或点击选择要检测的文件
- 参数设置:置信度阈值和IOU阈值的调节滑块
- 开始检测按钮:触发检测过程的执行按钮
右侧结果显示区:
- 可视化结果:显示带检测框的图片或视频
- JSON数据:显示检测结果的详细数据
- 下载链接:提供结果文件的下载
在开始检测之前,建议先准备一些测试文件。对于图片检测,可以找一些包含手机、电脑、平板等设备的照片;对于视频检测,建议先用10-30秒的短视频进行测试,确认效果后再处理长视频。
3.2 图片检测实战操作
图片检测是入门的最佳方式,因为处理速度快,结果直观。让我们通过一个实际例子来体验完整的检测流程。
第一步:上传测试图片 点击“选择文件”按钮,上传一张包含电子设备的图片。系统支持JPG和PNG格式,建议图片大小不要超过10MB,分辨率在2000x2000像素以内,这样既能保证检测效果,又能快速得到结果。
第二步:设置检测参数 这里有三个关键参数需要理解:
- 置信度阈值:模型对检测结果的自信程度,值越高要求越严格
- IOU阈值:用于控制检测框的重叠程度,值越高越不允许框重叠
对于第一次使用,建议先用默认值(置信度0.25,IOU 0.45)进行测试,后面我们再根据效果调整。
第三步:开始检测并查看结果 点击“开始图片检测”按钮,等待几秒钟(具体时间取决于图片大小和硬件性能),右侧就会显示检测结果。
让我用一个实际代码示例来说明如何解析检测结果:
# 检测结果JSON示例
{
"model_path": "/root/ai-models/xlangai/VideoAgentTrek-ScreenFilter/best.pt",
"type": "image",
"count": 3,
"class_count": {
"mobile_phone": 2,
"laptop": 1
},
"boxes": [
{
"frame": 0,
"class_id": 0,
"class_name": "mobile_phone",
"confidence": 0.89,
"xyxy": [120, 340, 280, 620]
},
# ... 更多检测框
]
}
结果解读:
count: 3表示总共检测到3个目标class_count显示按类别统计的数量:2个手机,1个笔记本电脑boxes列表包含了每个检测框的详细信息,包括类别、置信度和坐标位置
第四步:结果可视化 系统会自动在图片上绘制检测框,不同类别用不同颜色标注。你可以直接查看带框的图片,直观了解检测效果。如果对结果满意,可以点击下载按钮保存结果图片和JSON数据。
3.3 视频检测完整流程
视频检测的原理是逐帧处理,相当于把视频拆成一帧帧的图片,分别进行检测,然后再把结果合成回来。虽然处理时间比图片长,但流程其实很相似。
第一步:准备测试视频 建议先用一个10-30秒的短视频进行测试。视频格式支持MP4、AVI、MOV等常见格式,分辨率建议在1080p以内,时长不要超过60秒(这是默认限制,可以调整)。
第二步:上传并设置参数 切换到“视频检测”模式,上传视频文件。参数设置与图片检测相同,但视频处理时间较长,建议先用默认参数跑一遍,看看整体效果。
第三步:开始视频检测 点击开始按钮后,系统会显示处理进度。处理时间取决于视频长度、分辨率和硬件性能。一个10秒的1080p视频,在GPU上大概需要20-30秒。
第四步:分析检测结果 视频检测的结果JSON比图片更丰富:
{
"model_path": "/root/ai-models/xlangai/VideoAgentTrek-ScreenFilter/best.pt",
"type": "video",
"total_frames": 300,
"processed_frames": 300,
"count": 45,
"class_count": {
"mobile_phone": 30,
"monitor": 10,
"laptop": 5
},
"frames_summary": [
{
"frame": 0,
"detections": 2,
"classes": ["mobile_phone", "laptop"]
},
# ... 每帧的检测摘要
],
"boxes": [
# ... 所有检测框的详细信息
]
}
关键信息解读:
total_frames和processed_frames显示视频总帧数和实际处理的帧数class_count统计了整个视频中各类别出现的总次数frames_summary提供了每帧的检测概况,方便快速定位目标出现的时刻
第五步:查看结果视频 处理完成后,你可以播放带检测框的视频,直观看到模型在整个视频中的检测效果。如果某个时间段出现了屏幕目标,相应的帧上会有检测框标记。
4. 参数调优与高级技巧
4.1 理解核心参数
要想用好VideoAgentTrek-ScreenFilter,必须理解两个核心参数的作用。这两个参数直接影响检测结果的准确性和质量。
置信度阈值(Confidence Threshold) 这个参数控制模型输出检测结果的严格程度。你可以把它理解为模型的“自信门槛”:
- 值调高(比如0.5):只有非常确定的目标才会被检测出来,漏检可能增加,但误检减少
- 值调低(比如0.1):即使不太确定的目标也会被检测,漏检减少,但可能出现误检
IOU阈值(Intersection over Union) 这个参数控制检测框的重叠处理,主要影响同一个目标被重复检测的情况:
- 值调高(比如0.6):不允许检测框有太多重叠,同一个目标通常只保留一个框
- 值调低(比如0.3):允许更多重叠框存在,可能同一个目标会有多个检测框
4.2 实用调参策略
根据不同的使用场景和遇到的问题,我有一些经过验证的调参建议:
场景一:高精度要求,宁可漏检不要误检 这种情况常见于正式的产品环境,比如内容安全审核:
- 置信度阈值:0.4-0.6
- IOU阈值:0.5-0.6
- 效果:检测结果非常可靠,但可能会漏掉一些模糊或小的目标
场景二:全面筛查,尽量不漏掉任何目标 这种情况常见于初步筛选或数据分析:
- 置信度阈值:0.15-0.25
- IOU阈值:0.3-0.4
- 效果:能检测到大多数目标,但可能会有一些误检
场景三:平衡精度和召回 这是最常用的设置,适合大多数场景:
- 置信度阈值:0.25-0.35
- IOU阈值:0.45-0.55
- 效果:在漏检和误检之间取得较好的平衡
实际调参步骤:
- 先用默认参数(0.25, 0.45)测试一批样本
- 观察是漏检多还是误检多
- 如果是漏检多,适当降低置信度阈值
- 如果是误检多,适当提高置信度阈值
- 如果同一个目标出现多个框,适当提高IOU阈值
4.3 性能优化建议
处理大量图片或长视频时,性能优化很重要。这里分享几个实用的技巧:
批量处理优化: 如果你需要处理大量图片,建议:
- 将图片按大小分组,相似大小的图片一起处理
- 调整图片尺寸到合理范围(比如长边不超过1500像素)
- 使用脚本自动化处理,避免手动一个个上传
视频处理优化: 对于长视频处理:
- 先处理短视频片段测试效果
- 调整
MAX_VIDEO_SECONDS环境变量处理更长视频 - 考虑按场景切割视频,分段处理
- 如果视频中有大量静态画面,可以降低采样率
资源监控: 在处理过程中,可以监控系统资源使用情况:
# 监控GPU使用情况
nvidia-smi -l 1
# 监控内存使用
free -h
# 查看服务日志
tail -f /root/workspace/videoagent-screenfilter.log
5. 结果解析与应用扩展
5.1 深入理解输出数据
VideoAgentTrek-ScreenFilter的输出不仅仅是带框的图片或视频,更重要的是结构化的JSON数据。这些数据可以用于进一步的分析和处理。
检测框坐标系统: JSON中的xyxy字段表示检测框的坐标,格式是[x1, y1, x2, y2]:
x1, y1:框的左上角坐标x2, y2:框的右下角坐标- 坐标值是像素值,原点(0,0)在图片左上角
置信度分数解读: 每个检测框的confidence分数范围是0-1,表示模型对这个检测结果的自信程度。一般来说:
-
0.8:非常确信,通常是清晰明显的目标
- 0.5-0.8:比较确信,目标可能有些模糊或部分遮挡
- <0.5:不太确信,可能是误检或非常模糊的目标
类别信息: 模型能够检测多种屏幕相关目标,常见的包括:
mobile_phone:手机laptop:笔记本电脑monitor:显示器tablet:平板电脑tv:电视机
5.2 实际应用场景
了解了基本用法后,我们来看看VideoAgentTrek-ScreenFilter在实际工作中能解决哪些问题。
场景一:视频内容审核 假设你运营一个视频平台,需要确保用户上传的视频不包含未经授权的商业广告。很多广告都会展示手机或电脑屏幕:
# 自动化审核脚本示例
import json
import requests
def check_video_for_screens(video_path, threshold=0.3):
"""
检查视频中是否包含屏幕内容
"""
# 上传视频到检测服务
files = {'file': open(video_path, 'rb')}
response = requests.post('http://localhost:7860/detect/video', files=files)
# 解析检测结果
result = json.loads(response.text)
# 统计屏幕出现的时间点
screen_frames = []
for box in result['boxes']:
if box['confidence'] > threshold:
frame_num = box['frame']
fps = 30 # 假设视频30帧/秒
timestamp = frame_num / fps
screen_frames.append({
'time': timestamp,
'class': box['class_name'],
'confidence': box['confidence']
})
return screen_frames
# 使用示例
screens = check_video_for_screens('user_upload.mp4')
if screens:
print(f"检测到{len(screens)}处屏幕内容,需要人工复核")
for screen in screens:
print(f" 在{screen['time']:.1f}秒处检测到{screen['class']}")
场景二:智能安防监控 在办公室或实验室环境中,可能需要监控电子设备的使用情况:
def analyze_security_footage(video_results):
"""
分析监控录像中的设备使用情况
"""
analysis = {
'total_devices': 0,
'device_types': {},
'usage_timeline': []
}
# 按时间线分析设备出现情况
timeline = {}
for box in video_results['boxes']:
minute = box['frame'] // (30 * 60) # 按分钟分组
if minute not in timeline:
timeline[minute] = set()
timeline[minute].add(box['class_name'])
# 生成分析报告
for minute, devices in timeline.items():
analysis['usage_timeline'].append({
'time': f"{minute}分钟",
'devices': list(devices)
})
analysis['total_devices'] += len(devices)
for device in devices:
analysis['device_types'][device] = \
analysis['device_types'].get(device, 0) + 1
return analysis
场景三:媒体内容分析 自媒体或市场研究机构需要分析视频内容中的产品出现情况:
def analyze_product_placement(video_path):
"""
分析视频中的产品植入情况
"""
# 检测视频中的电子设备
results = detect_video(video_path)
# 生成分析报告
report = {
'video_duration': results['total_frames'] / 30, # 秒
'device_appearances': results['class_count'],
'detailed_analysis': []
}
# 分析设备出现的时间分布
devices_by_time = {}
for box in results['boxes']:
time_sec = box['frame'] / 30
time_key = f"{int(time_sec // 60)}分{int(time_sec % 60)}秒"
if time_key not in devices_by_time:
devices_by_time[time_key] = []
devices_by_time[time_key].append(
f"{box['class_name']}(置信度:{box['confidence']:.2f})"
)
for time_key, devices in devices_by_time.items():
report['detailed_analysis'].append({
'time': time_key,
'devices': devices
})
return report
5.3 二次开发与集成
VideoAgentTrek-ScreenFilter的JSON输出格式设计得很友好,很容易集成到其他系统中。
与现有系统集成: 你可以通过HTTP API调用检测服务:
import requests
import base64
import json
class ScreenDetector:
def __init__(self, base_url="http://localhost:7860"):
self.base_url = base_url
def detect_image(self, image_path, conf=0.25, iou=0.45):
"""检测单张图片"""
with open(image_path, 'rb') as f:
files = {'file': f}
data = {'conf': conf, 'iou': iou}
response = requests.post(
f"{self.base_url}/detect/image",
files=files,
data=data
)
return response.json()
def detect_video(self, video_path, conf=0.25, iou=0.45):
"""检测视频"""
with open(video_path, 'rb') as f:
files = {'file': f}
data = {'conf': conf, 'iou': iou}
response = requests.post(
f"{self.base_url}/detect/video",
files=files,
data=data
)
return response.json()
# 使用示例
detector = ScreenDetector()
# 检测图片
image_result = detector.detect_image('test.jpg')
print(f"检测到{image_result['count']}个目标")
# 检测视频
video_result = detector.detect_video('test.mp4')
print(f"视频中共检测到{video_result['count']}次屏幕出现")
批量处理脚本: 如果需要处理大量文件,可以编写批量处理脚本:
import os
from concurrent.futures import ThreadPoolExecutor
def batch_process_images(image_folder, output_folder, conf=0.25, iou=0.45):
"""
批量处理图片文件夹
"""
detector = ScreenDetector()
# 确保输出文件夹存在
os.makedirs(output_folder, exist_ok=True)
def process_single_image(image_file):
image_path = os.path.join(image_folder, image_file)
try:
# 检测图片
result = detector.detect_image(image_path, conf, iou)
# 保存结果
output_file = os.path.join(
output_folder,
f"{os.path.splitext(image_file)[0]}_result.json"
)
with open(output_file, 'w') as f:
json.dump(result, f, indent=2)
print(f"处理完成: {image_file} -> 检测到{result['count']}个目标")
return True
except Exception as e:
print(f"处理失败: {image_file} -> {str(e)}")
return False
# 获取所有图片文件
image_files = [f for f in os.listdir(image_folder)
if f.lower().endswith(('.jpg', '.jpeg', '.png'))]
# 使用线程池并行处理
with ThreadPoolExecutor(max_workers=4) as executor:
results = list(executor.map(process_single_image, image_files))
success_count = sum(results)
print(f"\n批量处理完成: 成功{success_count}/{len(image_files)}")
6. 常见问题与解决方案
在实际使用过程中,你可能会遇到一些问题。这里我整理了一些常见问题及其解决方法,希望能帮你快速排障。
6.1 服务启动问题
问题:Web页面打不开 这是最常见的问题,通常有几个原因:
- 服务未启动
# 检查服务状态
supervisorctl status videoagent-screenfilter
# 如果状态不是RUNNING,重启服务
supervisorctl restart videoagent-screenfilter
# 查看详细日志
tail -100 /root/workspace/videoagent-screenfilter.log
- 端口被占用
# 检查7860端口是否被占用
ss -ltnp | grep 7860
# 或
netstat -tlnp | grep 7860
# 如果被占用,可以修改映射端口
# 在启动容器时使用不同的端口,比如 -p 7861:7860
- 防火墙限制
# 检查防火墙设置
sudo ufw status
# 如果需要,开放端口
sudo ufw allow 7860/tcp
问题:检测速度很慢 如果发现处理时间异常长,可以按以下步骤排查:
- 检查GPU是否正常工作
# 查看GPU使用情况
nvidia-smi
# 应该能看到python进程在使用GPU
# 如果没有,可能是CUDA环境问题
- 检查文件大小 过大的图片或视频会导致处理变慢:
- 图片建议压缩到2000x2000像素以内
- 视频建议压缩到1080p分辨率
- 调整处理参数
# 可以通过环境变量调整一些性能参数
# 在启动容器时设置
docker run -e "MAX_WORKERS=2" -e "BATCH_SIZE=8" ...
6.2 检测效果问题
问题:漏检太多(该检测的没检测出来) 这是置信度阈值设置过高导致的:
解决方法:
- 逐步降低置信度阈值,从0.25降到0.15
- 检查目标是否太小或太模糊,考虑预处理图片
- 确保光照条件良好,目标清晰可见
问题:误检太多(不该检测的也检测出来了) 这是置信度阈值设置过低导致的:
解决方法:
- 逐步提高置信度阈值,从0.25升到0.35或更高
- 检查是否有类似屏幕的物体干扰
- 考虑使用后处理过滤明显错误的检测
问题:同一个目标有多个框 这是IOU阈值设置过低导致的:
解决方法:
- 提高IOU阈值,从0.45升到0.55或更高
- 使用非极大值抑制(NMS)后处理
6.3 资源与性能问题
问题:处理长视频时内存不足 视频检测需要加载整个视频到内存,长视频可能导致内存不足:
解决方法:
- 分割视频为小段处理
- 调整
MAX_VIDEO_SECONDS环境变量限制处理时长 - 增加系统内存或使用交换空间
问题:GPU显存不足 处理高分辨率视频或批量处理时可能遇到:
解决方法:
- 降低处理分辨率
- 减少批量大小(batch size)
- 使用CPU模式(速度会慢很多)
# 如果不使用GPU,可以在启动容器时不挂载GPU
docker run -d \
--name videoagent-screenfilter \
-p 7860:7860 \ # 去掉--gpus all
your-registry/videoagent-screenfilter:latest
6.4 其他实用技巧
技巧一:保存和加载配置 如果你找到了一组适合特定场景的参数,可以保存下来:
# 参数配置模板
configs = {
'high_precision': {'conf': 0.5, 'iou': 0.6},
'high_recall': {'conf': 0.15, 'iou': 0.35},
'balanced': {'conf': 0.25, 'iou': 0.45},
'mobile_phones': {'conf': 0.3, 'iou': 0.5}, # 针对手机优化
'monitors': {'conf': 0.4, 'iou': 0.55}, # 针对显示器优化
}
# 根据场景选择配置
current_config = configs['high_precision']
result = detector.detect_image('test.jpg', **current_config)
技巧二:结果可视化增强 除了系统自带的可视化,你还可以自定义显示效果:
import cv2
import json
def visualize_detections(image_path, result_json, output_path):
"""
自定义可视化函数
"""
# 读取图片
image = cv2.imread(image_path)
# 定义颜色映射
colors = {
'mobile_phone': (0, 255, 0), # 绿色
'laptop': (255, 0, 0), # 蓝色
'monitor': (0, 0, 255), # 红色
'tablet': (255, 255, 0), # 青色
'tv': (255, 0, 255) # 紫色
}
# 绘制检测框
for box in result_json['boxes']:
class_name = box['class_name']
confidence = box['confidence']
x1, y1, x2, y2 = map(int, box['xyxy'])
# 选择颜色
color = colors.get(class_name, (128, 128, 128))
# 绘制矩形框
cv2.rectangle(image, (x1, y1), (x2, y2), color, 2)
# 绘制标签
label = f"{class_name} {confidence:.2f}"
cv2.putText(image, label, (x1, y1-10),
cv2.FONT_HERSHEY_SIMPLEX, 0.5, color, 2)
# 保存结果
cv2.imwrite(output_path, image)
print(f"可视化结果已保存到: {output_path}")
# 使用示例
with open('detection_result.json') as f:
result = json.load(f)
visualize_detections('input.jpg', result, 'output_custom.jpg')
技巧三:批量处理与进度跟踪 处理大量文件时,添加进度显示很有帮助:
from tqdm import tqdm
def batch_process_with_progress(image_files, config):
"""
带进度条的批量处理
"""
detector = ScreenDetector()
results = []
# 创建进度条
with tqdm(total=len(image_files), desc="处理进度") as pbar:
for image_file in image_files:
try:
result = detector.detect_image(image_file, **config)
results.append({
'file': image_file,
'result': result,
'success': True
})
except Exception as e:
results.append({
'file': image_file,
'error': str(e),
'success': False
})
# 更新进度
pbar.update(1)
pbar.set_postfix({
'成功': sum(1 for r in results if r['success']),
'失败': sum(1 for r in results if not r['success'])
})
return results
7. 总结
通过这篇教程,我们从零开始完成了VideoAgentTrek-ScreenFilter的部署和使用。现在你应该已经掌握了:
核心技能掌握:
- 环境部署:学会了如何快速部署这个YOLO目标检测镜像,无论是通过CSDN星图平台一键部署,还是本地Docker环境搭建
- 基本操作:掌握了图片和视频检测的完整流程,从文件上传、参数设置到结果查看
- 参数调优:理解了置信度阈值和IOU阈值的作用,能够根据实际场景调整参数获得最佳效果
- 结果解析:学会了如何解读JSON格式的检测结果,并利用这些数据进行进一步分析
- 问题排查:具备了常见问题的解决能力,能够自主排查服务启动、检测效果、性能等方面的问题
实际应用价值: VideoAgentTrek-ScreenFilter的真正价值在于它的实用性。无论是视频内容审核、智能安防监控,还是媒体内容分析,这个工具都能帮你自动化处理大量重复性工作。通过结构化的输出数据,你可以轻松地将检测结果集成到现有系统中,实现工作流的自动化。
下一步学习建议: 如果你对这个工具感兴趣,想要进一步深入:
- 探索更多应用场景:尝试将检测结果与其他系统结合,比如自动生成检测报告、触发报警机制等
- 学习参数优化:针对你的特定数据,进行更细致的参数调优,找到最适合的配置
- 了解技术原理:如果你对背后的YOLO技术感兴趣,可以学习目标检测的基本原理
- 尝试自定义模型:如果需要检测其他类型的物体,可以学习如何训练自己的YOLO模型
最后的小建议: 开始使用时,建议先用少量测试数据熟悉整个流程。找到适合你场景的参数配置后,再处理大批量数据。记得定期检查服务状态和系统资源,确保长时间稳定运行。
技术工具的价值在于解决实际问题。VideoAgentTrek-ScreenFilter提供了一个强大而易用的屏幕检测解决方案,希望它能真正帮到你工作中的实际需求。如果在使用过程中遇到任何问题,或者有新的使用心得,欢迎分享和交流。
获取更多AI镜像
想探索更多AI镜像和应用场景?访问 CSDN星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。
更多推荐


所有评论(0)