更新时间:2025-02-20 GMT+08:00
分享

模型微调

模型微调是在不依赖训练服务的情况下对模型进行二次训练,达到二次调优的效果。调优后的迭代模型可以在智驾模型管理列表中查看。

新建模型微调任务

  1. 完成OBS授权委托,具体操作步骤请参考授权操作步骤
  2. 在服务控制台“总览 > 模型微调”,开通“智驾模型微调”服务。
  3. 在左侧菜单栏中选择“智驾模型服务 > 模型微调”。
  4. 单击“新建任务”。在新建模型微调任务页面,填写基本信息。

    • 名称:只能包含数字、英文、中文、下划线、中划线,输入长度不得超过64个字符。
    • 描述:简要描述任务,不能包含“@^\#$%&*<>'|"/`”,输入长度不能超过256个字符。

  5. 完成模型配置。

    • 模型级别:可选择“初始模型”和“迭代模型”。“初始模型”为Octopus平台提供的内置模型,“迭代模型”是用户二次微调后的模型。
    • 输入模型:选择需要进行微调的模型和版本。初始模型提供的内置模型如下:
      表1 Octopus平台提供的内置模型

      模型名称

      说明

      hw_model_3d_detection

      3D检测模型。

      hw_model_2dgen_weather

      2D图像生成-天气模型。

      hw_model_autolabel

      2D全景分割模型。

      hw_model_4dbev_lane_line_detection

      车道线预标注模型。

      hw_model_4dbev_road_mark_detection

      路面预标识模型。

      hw_model_2d_3d_detection_fusion

      2D3D融合检测模型。

    • 输出模型:模型微调后存储的模型仓库。
    • 模型版本描述:简要描述模型版本,不能包含“@^\#$%&*<>'|"/`”,输入长度不能超过256个字符。

  6. 完成算法配置。

    • 参数列表:选择输入模型及版本后,将自动关联显示参数列表信息。支持自定义value值。
    • 环境变量列表:选择输入模型及版本后,将自动关联显示环境变量列表信息。用户可以自定义value值。

      当预标注模型的key为semantic_categories、instance_categories时,value值是数据集中所有的标注类型名称(允许中文,不允许遗漏某个标注类型),按语义分割和实例分割,分开统计后的值。示例如下:

      • instance_categories:“交通警示物,骑行者,其它车辆,两轮车,消防栓,柱子,地面标识,限位块,行人,车辆,地锁,减速带”
      • semantic_categories:“可行驶区域,路沿,车道线,车位线”
    • 数据集:选择训练的数据集。最多支持选择5个数据集。数据集中的标注数据必须是八爪鱼格式的。格式参考:车道线预标注模型和路面预标识模型数据集格式
    • 资源规格:选择训练使用的资源池和资源规格。当前支持ModelArt资源池的Vnt1、Ant8、pool-octopus-ma-gpu-ant03、octopus-v100规格。

  7. 单击“确认”,下发模型微调任务。

模型微调任务相关操作

在模型微调任务列表页,还可以完成以下操作。

表2 模型微调任务管理相关操作

任务

操作步骤

查看任务详情

单击任务名称,在任务详情页面查看模型微调任务详情,包括任务基本信息、参数详情以及任务日志。

停止任务

当任务状态为“排队中”或“运行中”时,可单击操作栏内的“停止”,进行停止任务操作。

复制任务

单击操作栏内的“复制”,可基于现有任务创建新任务。

单个删除任务

单击操作栏内的“删除”可单个删除任务。模型微调任务删除后无法恢复,请谨慎操作。

批量删除任务

勾选名称前面的复选框,单击列表上方的“删除”,可批量删除任务。模型微调任务删除后无法恢复,请谨慎操作。

查询模型微调任务

在搜索输入框中输入搜索条件,按回车键即可查询目标任务。

车道线预标注模型和路面预标识模型数据集格式

当模型微调选择hw_model_4dbev_road_mark_detection或是hw_model_4dbev_lane_line_detection时的输入数据格式。

|--- TestSet  
    |--- folder_0
		|--- 4DAnnotation  
			|--- timestamps0_timestamps1.json
		|--- pointcloud_fusion  
			|--- timestamps0_timestamps1.pcd
			|--- Metadata.xml
		|--- pose
			|--- lidar_pose.txt
    |--- folder_1
		|--- 4DAnnotation  
			|--- timestamps0_timestamps1.json
		|--- pointcloud_fusion  
			|--- timestamps0_timestamps1.pcd
			|--- Metadata.xml
		|--- pose
			|--- lidar_pose.txt
    |--- ...

|---TrainningSet 
    |--- folder_0
		|--- 4DAnnotation  
			|--- timestamps0_timestamps1.json
		|--- pointcloud_fusion  
			|--- timestamps0_timestamps1.pcd
			|--- Metadata.xml
		|--- pose
			|--- lidar_pose.txt
    |--- folder_1 
		|--- 4DAnnotation  
			|--- timestamps0_timestamps1.json
		|--- pointcloud_fusion  
			|--- timestamps0_timestamps1.pcd
			|--- Metadata.xml
		|--- pose
			|--- lidar_pose.txt
    |--- ...

|---ValidationSet
    |--- folder_0
		|--- 4DAnnotation  
			|--- timestamps0_timestamps1.json
		|--- pointcloud_fusion  
			|--- timestamps0_timestamps1.pcd
			|--- Metadata.xml
		|--- pose
			|--- lidar_pose.txt
    |--- folder_1
		|--- 4DAnnotation  
			|--- timestamps0_timestamps1.json
		|--- pointcloud_fusion  
			|--- timestamps0_timestamps1.pcd
			|--- Metadata.xml
		|--- pose
			|--- lidar_pose.txt
    |--- ...

2D3D融合检测模型数据集格式

  • 当模型微调选择hw_model_2d_3d_detection_fusion时的输入格式:
    |--- raw-data  
        |--- clip_folder1
    		|--- data  #数据文件夹
    			|--- <timestamps1> #一帧数据
                                        |--- <pcd_timestamp>.pcd  #点云文件
                                        |--- <pcd_timestamp>.json  #真值结果文件
                                        |--- front.jpg #前视
                                        |--- rear.jpg #后视
                                        |--- left_backward.jpg #左后
                                        |--- left_forward.jpg #左前
                                        |--- right_backward.jpg #右后
                                        |--- right_forward.jpg #右前
                            |--- ... ...
    		|--- param  #内外参文件夹
    			|--- front.yaml  #前视相机内外参
    			|--- left_backward.yaml  #左后相机内外参
                            |--- left_forward.yaml #左前相机内外参
    			|--- right_backward.yaml #右后相机内外参
    			|--- right_forward.yaml #右前相机内外参
                            |--- rear.yaml #后视相机内外参
    			|--- lidar.yaml  #雷达外参
    
        |--- clip_folder2
                     |--- data  
    			|--- <timestamps1>
                                        |--- <pcd_timestamp>.pcd
                                        |--- <pcd_timestamp>.json
                                        |--- front.jpg
                                        |--- rear.jpg
                                        |--- left_backward.jpg
                                        |--- left_forward.jpg
                                        |--- right_backward.jpg
                                        |--- right_forward.jpg
                            |--- ... ...
    		|--- param  
    			|--- front.yaml
    			|--- left_backward.yaml
                            |--- left_forward.yaml
    			|--- right_backward.yaml
    			|--- right_forward.yaml
                            |--- rear.yaml
    			|--- lidar.yaml
    		
        |--- ...
  • 相机内外参定义
    相机内外参文件名:camview.yaml, camview从白名单中选取;
    相机内参包括:内参和畸变参数;
    相机外参定义为:相机坐标系到IMU坐标系的变换矩阵;
    <camview>.yaml文件定义如下:
    ---
    cameraType: # 0-perspective, 1-fisheye
      type: 0
    K: #opencv-matrix
      rows:3
      cols:3
      dt:1
      data:[1.0, 0.0, 1.0, 0.0, 1.0, 1.0, 0.0, 0.0, 1.0] # fx,fy,cx,cy为相机焦距和主点
    D: #opencv-matrix
      rows: 4 #根据实际畸变参数个数填写
      cols: 1
      dt: 1
      data: [0.0, 0.0, 0.0, 0.0]  #填入实际的畸变参数
    Imagesize: [1, 1] #填入图像宽,高
    Transformation: # Camera to IMU
      rows: 4
      cols: 4
      dt: 1.0
      data: [0.0, 0.0, 0.0, 0.0,
            0.0, 0.0, 0.0, 0.0,
            0.0, 0.0, 0.0, 0.0,
            0.0, 0.0, 0.0, 1.0] #请填入转换矩阵的实际值
  • 激光雷达内外参定义:
    文件名:lidar.yaml
    外参定义:Lidar坐标系到IMU坐标系的变换矩阵
    lidar.yaml文件内容定义:
    ---
    Transformation:
       cols: 4
       rows: 4
       dt: d
       data: [0.0, 0.0, 0.0, 0.0,
            0.0, 0.0, 0.0, 0.0,
            0.0, 0.0, 0.0, 0.0,
            0.0, 0.0, 0.0, 1.0] #根据实际内容填写

相关文档