From 9bb04cee8803d5f8479ae58197c21931c75b5613 Mon Sep 17 00:00:00 2001 From: Kok Seang Tan Date: Wed, 14 Jan 2026 16:08:31 +0900 Subject: [PATCH 01/13] Update docker installation commit for perception_evaluation --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index c5240c498..22d18f5ba 100644 --- a/Dockerfile +++ b/Dockerfile @@ -61,7 +61,7 @@ RUN python3 -m pip --no-cache-dir install \ RUN python3 -m pip install git+https://github.com/tier4/t4-devkit@v0.5.1 # Install autoware-perception-evaluation -RUN python3 -m pip install git+https://github.com/tier4/autoware_perception_evaluation@develop +RUN python3 -m pip install git+https://github.com/tier4/autoware_perception_evaluation@dd37a546352f953565033f1d4b8cb443df1232c59 # Need to dowgrade setuptools to 60.2.0 to fix setup RUN python3 -m pip --no-cache-dir install \ From 1a7ebee39f66d37cd45b20e23575d352a6cdc493 Mon Sep 17 00:00:00 2001 From: KokSeang Tan Date: Thu, 19 Mar 2026 20:57:55 +0900 Subject: [PATCH 02/13] Update config --- ...evfusion_camera_swin_fpn_30e_8xb8_j6gen2_base_120m.py} | 4 ++-- ...idar_voxel_second_secfpn_20e_8xb8_j6gen2_base_120m.py} | 4 ++-- ...oxel_second_secfpn_20e_8xb8_jpntaxi_gen2_base_120m.py} | 4 ++-- ...idar_voxel_second_secfpn_30e_8xb8_j6gen2_base_120m.py} | 4 ++-- ...oxel_second_secfpn_30e_8xb8_jpntaxi_gen2_base_120m.py} | 4 ++-- ...fline_lidar_voxel_second_secfpn_50e_8xb8_base_120m.py} | 4 ++-- ...idar_voxel_second_secfpn_30e_8xb8_j6gen2_base_120m.py} | 4 ++-- ...oxel_second_secfpn_30e_8xb8_jpntaxi_gen2_base_120m.py} | 4 ++-- ...usion_lidar_voxel_second_secfpn_50e_8xb8_base_120m.py} | 8 ++++---- ..._cosine.py => default_20e_8xb8_adamw_linear_cosine.py} | 6 +++--- ...8_adamw_cosine.py => default_30e_8xb8_adamw_cosine.py} | 4 ++-- ..._cosine.py => default_30e_8xb8_adamw_linear_cosine.py} | 4 ++-- ...8_adamw_cosine.py => default_50e_8xb8_adamw_cosine.py} | 4 ++-- 13 files changed, 29 insertions(+), 29 deletions(-) rename projects/BEVFusion/configs/t4dataset/BEVFusion-C/{bevfusion_camera_swin_fpn_30e_4xb8_j6gen2_base_120m.py => bevfusion_camera_swin_fpn_30e_8xb8_j6gen2_base_120m.py} (97%) rename projects/BEVFusion/configs/t4dataset/BEVFusion-CL/{bevfusion_camera_lidar_voxel_second_secfpn_20e_4xb8_j6gen2_base_120m.py => bevfusion_camera_lidar_voxel_second_secfpn_20e_8xb8_j6gen2_base_120m.py} (98%) rename projects/BEVFusion/configs/t4dataset/BEVFusion-CL/{bevfusion_camera_lidar_voxel_second_secfpn_20e_4xb8_jpntaxi_gen2_base_120m.py => bevfusion_camera_lidar_voxel_second_secfpn_20e_8xb8_jpntaxi_gen2_base_120m.py} (98%) rename projects/BEVFusion/configs/t4dataset/BEVFusion-L-offline/{bevfusion_offline_lidar_voxel_second_secfpn_30e_4xb8_j6gen2_base_120m.py => bevfusion_offline_lidar_voxel_second_secfpn_30e_8xb8_j6gen2_base_120m.py} (97%) rename projects/BEVFusion/configs/t4dataset/BEVFusion-L-offline/{bevfusion_offline_lidar_voxel_second_secfpn_30e_4xb8_jpntaxi_gen2_base_120m.py => bevfusion_offline_lidar_voxel_second_secfpn_30e_8xb8_jpntaxi_gen2_base_120m.py} (97%) rename projects/BEVFusion/configs/t4dataset/BEVFusion-L-offline/{bevfusion_offline_lidar_voxel_second_secfpn_50e_4xb8_base_120m.py => bevfusion_offline_lidar_voxel_second_secfpn_50e_8xb8_base_120m.py} (97%) rename projects/BEVFusion/configs/t4dataset/BEVFusion-L/{bevfusion_lidar_voxel_second_secfpn_30e_4xb8_j6gen2_base_120m.py => bevfusion_lidar_voxel_second_secfpn_30e_8xb8_j6gen2_base_120m.py} (97%) rename projects/BEVFusion/configs/t4dataset/BEVFusion-L/{bevfusion_lidar_voxel_second_secfpn_30e_4xb8_jpntaxi_gen2_base_120m.py => bevfusion_lidar_voxel_second_secfpn_30e_8xb8_jpntaxi_gen2_base_120m.py} (97%) rename projects/BEVFusion/configs/t4dataset/BEVFusion-L/{bevfusion_lidar_voxel_second_secfpn_50e_4xb8_base_120m.py => bevfusion_lidar_voxel_second_secfpn_50e_8xb8_base_120m.py} (94%) rename projects/BEVFusion/configs/t4dataset/default/schedulers/{default_20e_4xb8_adamw_linear_cosine.py => default_20e_8xb8_adamw_linear_cosine.py} (97%) rename projects/BEVFusion/configs/t4dataset/default/schedulers/{default_30e_4xb8_adamw_cosine.py => default_30e_8xb8_adamw_cosine.py} (98%) rename projects/BEVFusion/configs/t4dataset/default/schedulers/{default_30e_4xb8_adamw_linear_cosine.py => default_30e_8xb8_adamw_linear_cosine.py} (98%) rename projects/BEVFusion/configs/t4dataset/default/schedulers/{default_50e_4xb8_adamw_cosine.py => default_50e_8xb8_adamw_cosine.py} (98%) diff --git a/projects/BEVFusion/configs/t4dataset/BEVFusion-C/bevfusion_camera_swin_fpn_30e_4xb8_j6gen2_base_120m.py b/projects/BEVFusion/configs/t4dataset/BEVFusion-C/bevfusion_camera_swin_fpn_30e_8xb8_j6gen2_base_120m.py similarity index 97% rename from projects/BEVFusion/configs/t4dataset/BEVFusion-C/bevfusion_camera_swin_fpn_30e_4xb8_j6gen2_base_120m.py rename to projects/BEVFusion/configs/t4dataset/BEVFusion-C/bevfusion_camera_swin_fpn_30e_8xb8_j6gen2_base_120m.py index b781e2c71..e65c52ece 100644 --- a/projects/BEVFusion/configs/t4dataset/BEVFusion-C/bevfusion_camera_swin_fpn_30e_4xb8_j6gen2_base_120m.py +++ b/projects/BEVFusion/configs/t4dataset/BEVFusion-C/bevfusion_camera_swin_fpn_30e_8xb8_j6gen2_base_120m.py @@ -3,7 +3,7 @@ "../../../../../autoware_ml/configs/detection3d/dataset/t4dataset/j6gen2_base.py", "../default/pipelines/default_camera_lidar_intensity_120m.py", "../default/models/default_camera_swin_fpn_120m.py", - "../default/schedulers/default_30e_4xb8_adamw_linear_cosine.py", + "../default/schedulers/default_30e_8xb8_adamw_linear_cosine.py", "../default/default_misc.py", ] @@ -16,7 +16,7 @@ info_directory_path = "info/user_name/" experiment_group_name = "bevfusion_camera/j6gen2_base/" + _base_.dataset_type -experiment_name = "bevfusion_camera_swin_fpn_30e_4xb8_j6gen2_base_120m" +experiment_name = "bevfusion_camera_swin_fpn_30e_8xb8_j6gen2_base_120m" work_dir = "work_dirs/" + experiment_group_name + "/" + experiment_name # model parameter diff --git a/projects/BEVFusion/configs/t4dataset/BEVFusion-CL/bevfusion_camera_lidar_voxel_second_secfpn_20e_4xb8_j6gen2_base_120m.py b/projects/BEVFusion/configs/t4dataset/BEVFusion-CL/bevfusion_camera_lidar_voxel_second_secfpn_20e_8xb8_j6gen2_base_120m.py similarity index 98% rename from projects/BEVFusion/configs/t4dataset/BEVFusion-CL/bevfusion_camera_lidar_voxel_second_secfpn_20e_4xb8_j6gen2_base_120m.py rename to projects/BEVFusion/configs/t4dataset/BEVFusion-CL/bevfusion_camera_lidar_voxel_second_secfpn_20e_8xb8_j6gen2_base_120m.py index a1ab10f57..4f81af760 100644 --- a/projects/BEVFusion/configs/t4dataset/BEVFusion-CL/bevfusion_camera_lidar_voxel_second_secfpn_20e_4xb8_j6gen2_base_120m.py +++ b/projects/BEVFusion/configs/t4dataset/BEVFusion-CL/bevfusion_camera_lidar_voxel_second_secfpn_20e_8xb8_j6gen2_base_120m.py @@ -3,7 +3,7 @@ "../../../../../autoware_ml/configs/detection3d/dataset/t4dataset/j6gen2_base.py", "../default/pipelines/default_camera_lidar_intensity_120m.py", "../default/models/default_camera_swin_fpn_lidar_second_secfpn_120m.py", - "../default/schedulers/default_20e_4xb8_adamw_linear_cosine.py", + "../default/schedulers/default_20e_8xb8_adamw_linear_cosine.py", "../default/default_misc.py", ] @@ -16,7 +16,7 @@ info_directory_path = "info/user_name/" experiment_group_name = "bevfusion_camera_lidar_intensity/j6gen2_base/" + _base_.dataset_type -experiment_name = "bevfusion_camera_lidar_voxel_second_secfpn_20e_4xb8_j6gen2_base_120m" +experiment_name = "bevfusion_camera_lidar_voxel_second_secfpn_20e_8xb8_j6gen2_base_120m" work_dir = "work_dirs/" + experiment_group_name + "/" + experiment_name # model parameter diff --git a/projects/BEVFusion/configs/t4dataset/BEVFusion-CL/bevfusion_camera_lidar_voxel_second_secfpn_20e_4xb8_jpntaxi_gen2_base_120m.py b/projects/BEVFusion/configs/t4dataset/BEVFusion-CL/bevfusion_camera_lidar_voxel_second_secfpn_20e_8xb8_jpntaxi_gen2_base_120m.py similarity index 98% rename from projects/BEVFusion/configs/t4dataset/BEVFusion-CL/bevfusion_camera_lidar_voxel_second_secfpn_20e_4xb8_jpntaxi_gen2_base_120m.py rename to projects/BEVFusion/configs/t4dataset/BEVFusion-CL/bevfusion_camera_lidar_voxel_second_secfpn_20e_8xb8_jpntaxi_gen2_base_120m.py index a9887a15c..6556cf818 100644 --- a/projects/BEVFusion/configs/t4dataset/BEVFusion-CL/bevfusion_camera_lidar_voxel_second_secfpn_20e_4xb8_jpntaxi_gen2_base_120m.py +++ b/projects/BEVFusion/configs/t4dataset/BEVFusion-CL/bevfusion_camera_lidar_voxel_second_secfpn_20e_8xb8_jpntaxi_gen2_base_120m.py @@ -3,7 +3,7 @@ "../../../../../autoware_ml/configs/detection3d/dataset/t4dataset/jpntaxi_gen2_base.py", "../default/pipelines/default_camera_lidar_intensity_120m.py", "../default/models/default_camera_swin_fpn_lidar_second_secfpn_120m.py", - "../default/schedulers/default_20e_4xb8_adamw_linear_cosine.py", + "../default/schedulers/default_20e_8xb8_adamw_linear_cosine.py", "../default/default_misc.py", ] @@ -16,7 +16,7 @@ info_directory_path = "info/user_name/" experiment_group_name = "bevfusion_camera_lidar_intensity/jpntaxi_gen2_base/" + _base_.dataset_type -experiment_name = "bevfusion_camera_lidar_voxel_second_secfpn_20e_4xb8_jpntaxi_gen2_base_120m" +experiment_name = "bevfusion_camera_lidar_voxel_second_secfpn_20e_8xb8_jpntaxi_gen2_base_120m" work_dir = "work_dirs/" + experiment_group_name + "/" + experiment_name # model parameter diff --git a/projects/BEVFusion/configs/t4dataset/BEVFusion-L-offline/bevfusion_offline_lidar_voxel_second_secfpn_30e_4xb8_j6gen2_base_120m.py b/projects/BEVFusion/configs/t4dataset/BEVFusion-L-offline/bevfusion_offline_lidar_voxel_second_secfpn_30e_8xb8_j6gen2_base_120m.py similarity index 97% rename from projects/BEVFusion/configs/t4dataset/BEVFusion-L-offline/bevfusion_offline_lidar_voxel_second_secfpn_30e_4xb8_j6gen2_base_120m.py rename to projects/BEVFusion/configs/t4dataset/BEVFusion-L-offline/bevfusion_offline_lidar_voxel_second_secfpn_30e_8xb8_j6gen2_base_120m.py index 8b0aef32e..5d743e184 100644 --- a/projects/BEVFusion/configs/t4dataset/BEVFusion-L-offline/bevfusion_offline_lidar_voxel_second_secfpn_30e_4xb8_j6gen2_base_120m.py +++ b/projects/BEVFusion/configs/t4dataset/BEVFusion-L-offline/bevfusion_offline_lidar_voxel_second_secfpn_30e_8xb8_j6gen2_base_120m.py @@ -3,7 +3,7 @@ "../../../../../autoware_ml/configs/detection3d/dataset/t4dataset/j6gen2_base.py", "../default/pipelines/default_offline_lidar_intensity_120m.py", "../default/models/default_lidar_second_secfpn_120m.py", - "../default/schedulers/default_30e_4xb8_adamw_cosine.py", + "../default/schedulers/default_30e_8xb8_adamw_cosine.py", "../default/default_misc.py", ] @@ -16,7 +16,7 @@ info_directory_path = "info/user_name/" experiment_group_name = "bevfusion_lidar_intensity_offline/j6gen2_base/" + _base_.dataset_type -experiment_name = "lidar_voxel_second_secfpn_30e_4xb8_j6gen2_base_120m" +experiment_name = "lidar_voxel_second_secfpn_30e_8xb8_j6gen2_base_120m" work_dir = "work_dirs/" + experiment_group_name + "/" + experiment_name # model parameter diff --git a/projects/BEVFusion/configs/t4dataset/BEVFusion-L-offline/bevfusion_offline_lidar_voxel_second_secfpn_30e_4xb8_jpntaxi_gen2_base_120m.py b/projects/BEVFusion/configs/t4dataset/BEVFusion-L-offline/bevfusion_offline_lidar_voxel_second_secfpn_30e_8xb8_jpntaxi_gen2_base_120m.py similarity index 97% rename from projects/BEVFusion/configs/t4dataset/BEVFusion-L-offline/bevfusion_offline_lidar_voxel_second_secfpn_30e_4xb8_jpntaxi_gen2_base_120m.py rename to projects/BEVFusion/configs/t4dataset/BEVFusion-L-offline/bevfusion_offline_lidar_voxel_second_secfpn_30e_8xb8_jpntaxi_gen2_base_120m.py index 59f91c8a4..da461a567 100644 --- a/projects/BEVFusion/configs/t4dataset/BEVFusion-L-offline/bevfusion_offline_lidar_voxel_second_secfpn_30e_4xb8_jpntaxi_gen2_base_120m.py +++ b/projects/BEVFusion/configs/t4dataset/BEVFusion-L-offline/bevfusion_offline_lidar_voxel_second_secfpn_30e_8xb8_jpntaxi_gen2_base_120m.py @@ -3,7 +3,7 @@ "../../../../../autoware_ml/configs/detection3d/dataset/t4dataset/jpntaxi_gen2_base.py", "../default/pipelines/default_offline_lidar_intensity_120m.py", "../default/models/default_lidar_second_secfpn_120m.py", - "../default/schedulers/default_30e_4xb8_adamw_cosine.py", + "../default/schedulers/default_30e_8xb8_adamw_cosine.py", "../default/default_misc.py", ] @@ -16,7 +16,7 @@ info_directory_path = "info/user_name/" experiment_group_name = "bevfusion_lidar_intensity_offline/jpntaxi_gen2_base/" + _base_.dataset_type -experiment_name = "lidar_voxel_second_secfpn_30e_4xb8_jpntaxi_gen2_base_120m" +experiment_name = "lidar_voxel_second_secfpn_30e_8xb8_jpntaxi_gen2_base_120m" work_dir = "work_dirs/" + experiment_group_name + "/" + experiment_name # model parameter diff --git a/projects/BEVFusion/configs/t4dataset/BEVFusion-L-offline/bevfusion_offline_lidar_voxel_second_secfpn_50e_4xb8_base_120m.py b/projects/BEVFusion/configs/t4dataset/BEVFusion-L-offline/bevfusion_offline_lidar_voxel_second_secfpn_50e_8xb8_base_120m.py similarity index 97% rename from projects/BEVFusion/configs/t4dataset/BEVFusion-L-offline/bevfusion_offline_lidar_voxel_second_secfpn_50e_4xb8_base_120m.py rename to projects/BEVFusion/configs/t4dataset/BEVFusion-L-offline/bevfusion_offline_lidar_voxel_second_secfpn_50e_8xb8_base_120m.py index df500705c..89bb7cd7b 100644 --- a/projects/BEVFusion/configs/t4dataset/BEVFusion-L-offline/bevfusion_offline_lidar_voxel_second_secfpn_50e_4xb8_base_120m.py +++ b/projects/BEVFusion/configs/t4dataset/BEVFusion-L-offline/bevfusion_offline_lidar_voxel_second_secfpn_50e_8xb8_base_120m.py @@ -4,7 +4,7 @@ "../default/pipelines/default_offline_lidar_120m.py", "../models/default_lidar_second_secfpn_120m.py", "../default/models/default_lidar_second_secfpn_120m.py", - "../default/schedulers/default_50e_4xb8_adamw_cosine.py", + "../default/schedulers/default_50e_8xb8_adamw_cosine.py", "../default/default_misc.py", ] @@ -17,7 +17,7 @@ info_directory_path = "info/user_name/" experiment_group_name = "bevfusion_lidar_offline/base/" + _base_.dataset_type -experiment_name = "lidar_voxel_second_secfpn_50e_4xb8_base_120m" +experiment_name = "lidar_voxel_second_secfpn_50e_8xb8_base_120m" work_dir = "work_dirs/" + experiment_group_name + "/" + experiment_name # model parameter diff --git a/projects/BEVFusion/configs/t4dataset/BEVFusion-L/bevfusion_lidar_voxel_second_secfpn_30e_4xb8_j6gen2_base_120m.py b/projects/BEVFusion/configs/t4dataset/BEVFusion-L/bevfusion_lidar_voxel_second_secfpn_30e_8xb8_j6gen2_base_120m.py similarity index 97% rename from projects/BEVFusion/configs/t4dataset/BEVFusion-L/bevfusion_lidar_voxel_second_secfpn_30e_4xb8_j6gen2_base_120m.py rename to projects/BEVFusion/configs/t4dataset/BEVFusion-L/bevfusion_lidar_voxel_second_secfpn_30e_8xb8_j6gen2_base_120m.py index 178f5ff3d..69be0f0d9 100644 --- a/projects/BEVFusion/configs/t4dataset/BEVFusion-L/bevfusion_lidar_voxel_second_secfpn_30e_4xb8_j6gen2_base_120m.py +++ b/projects/BEVFusion/configs/t4dataset/BEVFusion-L/bevfusion_lidar_voxel_second_secfpn_30e_8xb8_j6gen2_base_120m.py @@ -3,7 +3,7 @@ "../../../../../autoware_ml/configs/detection3d/dataset/t4dataset/j6gen2_base.py", "../default/pipelines/default_lidar_intensity_120m.py", "../default/models/default_lidar_second_secfpn_120m.py", - "../default/schedulers/default_30e_4xb8_adamw_cosine.py", + "../default/schedulers/default_30e_8xb8_adamw_cosine.py", "../default/default_misc.py", ] @@ -16,7 +16,7 @@ info_directory_path = "info/user_name/" experiment_group_name = "bevfusion_lidar_intensity/j6gen2_base/" + _base_.dataset_type -experiment_name = "lidar_voxel_second_secfpn_30e_4xb8_j6gen2_base_120m" +experiment_name = "lidar_voxel_second_secfpn_30e_8xb8_j6gen2_base_120m" work_dir = "work_dirs/" + experiment_group_name + "/" + experiment_name # model parameter diff --git a/projects/BEVFusion/configs/t4dataset/BEVFusion-L/bevfusion_lidar_voxel_second_secfpn_30e_4xb8_jpntaxi_gen2_base_120m.py b/projects/BEVFusion/configs/t4dataset/BEVFusion-L/bevfusion_lidar_voxel_second_secfpn_30e_8xb8_jpntaxi_gen2_base_120m.py similarity index 97% rename from projects/BEVFusion/configs/t4dataset/BEVFusion-L/bevfusion_lidar_voxel_second_secfpn_30e_4xb8_jpntaxi_gen2_base_120m.py rename to projects/BEVFusion/configs/t4dataset/BEVFusion-L/bevfusion_lidar_voxel_second_secfpn_30e_8xb8_jpntaxi_gen2_base_120m.py index e2b2d1678..e6addac7d 100644 --- a/projects/BEVFusion/configs/t4dataset/BEVFusion-L/bevfusion_lidar_voxel_second_secfpn_30e_4xb8_jpntaxi_gen2_base_120m.py +++ b/projects/BEVFusion/configs/t4dataset/BEVFusion-L/bevfusion_lidar_voxel_second_secfpn_30e_8xb8_jpntaxi_gen2_base_120m.py @@ -3,7 +3,7 @@ "../../../../../autoware_ml/configs/detection3d/dataset/t4dataset/jpntaxi_gen2_base.py", "../default/pipelines/default_lidar_intensity_120m.py", "../default/models/default_lidar_second_secfpn_120m.py", - "../default/schedulers/default_30e_4xb8_adamw_cosine.py", + "../default/schedulers/default_30e_8xb8_adamw_cosine.py", "../default/default_misc.py", ] @@ -16,7 +16,7 @@ info_directory_path = "info/user_name/" experiment_group_name = "bevfusion_lidar_intensity/jpntaxi_gen2_base/" + _base_.dataset_type -experiment_name = "lidar_voxel_second_secfpn_30e_4xb8_jpntaxi_gen2_base_120m" +experiment_name = "lidar_voxel_second_secfpn_30e_8xb8_jpntaxi_gen2_base_120m" work_dir = "work_dirs/" + experiment_group_name + "/" + experiment_name # model parameter diff --git a/projects/BEVFusion/configs/t4dataset/BEVFusion-L/bevfusion_lidar_voxel_second_secfpn_50e_4xb8_base_120m.py b/projects/BEVFusion/configs/t4dataset/BEVFusion-L/bevfusion_lidar_voxel_second_secfpn_50e_8xb8_base_120m.py similarity index 94% rename from projects/BEVFusion/configs/t4dataset/BEVFusion-L/bevfusion_lidar_voxel_second_secfpn_50e_4xb8_base_120m.py rename to projects/BEVFusion/configs/t4dataset/BEVFusion-L/bevfusion_lidar_voxel_second_secfpn_50e_8xb8_base_120m.py index d65c470d9..a5c72aef0 100644 --- a/projects/BEVFusion/configs/t4dataset/BEVFusion-L/bevfusion_lidar_voxel_second_secfpn_50e_4xb8_base_120m.py +++ b/projects/BEVFusion/configs/t4dataset/BEVFusion-L/bevfusion_lidar_voxel_second_secfpn_50e_8xb8_base_120m.py @@ -3,7 +3,7 @@ "../../../../../autoware_ml/configs/detection3d/dataset/t4dataset/base.py", "../default/pipelines/default_lidar_120m.py", "../default/models/default_lidar_second_secfpn_120m.py", - "../default/schedulers/default_50e_4xb8_adamw_cosine.py", + "../default/schedulers/default_50e_8xb8_adamw_cosine.py", "../default/default_misc.py", ] @@ -13,10 +13,10 @@ # user setting data_root = "data/t4dataset/" -info_directory_path = "info/user_name/" +info_directory_path = "info/kokseang_2_6_1/" -experiment_group_name = "bevfusion_lidar/base/" + _base_.dataset_type -experiment_name = "lidar_voxel_second_secfpn_50e_4xb8_base_120m" +experiment_group_name = "bevfusion_lidar_2.6.0/base/" + _base_.dataset_type +experiment_name = "lidar_voxel_second_secfpn_50e_8xb8_base_120m" work_dir = "work_dirs/" + experiment_group_name + "/" + experiment_name # model parameter diff --git a/projects/BEVFusion/configs/t4dataset/default/schedulers/default_20e_4xb8_adamw_linear_cosine.py b/projects/BEVFusion/configs/t4dataset/default/schedulers/default_20e_8xb8_adamw_linear_cosine.py similarity index 97% rename from projects/BEVFusion/configs/t4dataset/default/schedulers/default_20e_4xb8_adamw_linear_cosine.py rename to projects/BEVFusion/configs/t4dataset/default/schedulers/default_20e_8xb8_adamw_linear_cosine.py index 8dc5e7bf1..d491eaa4b 100644 --- a/projects/BEVFusion/configs/t4dataset/default/schedulers/default_20e_4xb8_adamw_linear_cosine.py +++ b/projects/BEVFusion/configs/t4dataset/default/schedulers/default_20e_8xb8_adamw_linear_cosine.py @@ -1,11 +1,11 @@ # learning rate -# lr = 0.0001 -lr = 1e-4 +# lr = 0.0002 +lr = 2e-4 t_max = 6 max_epochs = 20 val_interval = 1 -train_gpu_size = 4 +train_gpu_size = 8 test_batch_size = 2 train_batch_size = 8 diff --git a/projects/BEVFusion/configs/t4dataset/default/schedulers/default_30e_4xb8_adamw_cosine.py b/projects/BEVFusion/configs/t4dataset/default/schedulers/default_30e_8xb8_adamw_cosine.py similarity index 98% rename from projects/BEVFusion/configs/t4dataset/default/schedulers/default_30e_4xb8_adamw_cosine.py rename to projects/BEVFusion/configs/t4dataset/default/schedulers/default_30e_8xb8_adamw_cosine.py index 07a9110c7..c5053d943 100644 --- a/projects/BEVFusion/configs/t4dataset/default/schedulers/default_30e_4xb8_adamw_cosine.py +++ b/projects/BEVFusion/configs/t4dataset/default/schedulers/default_30e_8xb8_adamw_cosine.py @@ -1,10 +1,10 @@ # learning rate -lr = 0.0001 +lr = 2e-4 t_max = 8 max_epochs = 30 val_interval = 5 -train_gpu_size = 4 +train_gpu_size = 8 test_batch_size = 2 train_batch_size = 8 diff --git a/projects/BEVFusion/configs/t4dataset/default/schedulers/default_30e_4xb8_adamw_linear_cosine.py b/projects/BEVFusion/configs/t4dataset/default/schedulers/default_30e_8xb8_adamw_linear_cosine.py similarity index 98% rename from projects/BEVFusion/configs/t4dataset/default/schedulers/default_30e_4xb8_adamw_linear_cosine.py rename to projects/BEVFusion/configs/t4dataset/default/schedulers/default_30e_8xb8_adamw_linear_cosine.py index 9d4ee8e61..c05aeafcb 100644 --- a/projects/BEVFusion/configs/t4dataset/default/schedulers/default_30e_4xb8_adamw_linear_cosine.py +++ b/projects/BEVFusion/configs/t4dataset/default/schedulers/default_30e_8xb8_adamw_linear_cosine.py @@ -1,10 +1,10 @@ # learning rate -lr = 1e-4 +lr = 2e-4 t_max = 8 max_epochs = 30 val_interval = 1 -train_gpu_size = 4 +train_gpu_size = 8 test_batch_size = 2 train_batch_size = 8 diff --git a/projects/BEVFusion/configs/t4dataset/default/schedulers/default_50e_4xb8_adamw_cosine.py b/projects/BEVFusion/configs/t4dataset/default/schedulers/default_50e_8xb8_adamw_cosine.py similarity index 98% rename from projects/BEVFusion/configs/t4dataset/default/schedulers/default_50e_4xb8_adamw_cosine.py rename to projects/BEVFusion/configs/t4dataset/default/schedulers/default_50e_8xb8_adamw_cosine.py index 29fc38b4c..fc1914dde 100644 --- a/projects/BEVFusion/configs/t4dataset/default/schedulers/default_50e_4xb8_adamw_cosine.py +++ b/projects/BEVFusion/configs/t4dataset/default/schedulers/default_50e_8xb8_adamw_cosine.py @@ -1,10 +1,10 @@ # learning rate -lr = 0.0001 +lr = 2e-4 t_max = 15 max_epochs = 50 val_interval = 5 -train_gpu_size = 4 +train_gpu_size = 8 test_batch_size = 2 train_batch_size = 8 From 84024516eafe70aac0252f8b1cafbf40ba7fd05f Mon Sep 17 00:00:00 2001 From: KokSeang Tan Date: Tue, 24 Mar 2026 16:48:43 +0900 Subject: [PATCH 03/13] Update config --- ..._voxel_second_secfpn_20e_8xb8_jpntaxi_base_120m.py} | 6 +++--- ...ar_voxel_second_secfpn_30e_8xb8_j6gen2_base_120m.py | 6 ++++-- ..._voxel_second_secfpn_30e_8xb8_jpntaxi_base_120m.py} | 10 ++++++---- 3 files changed, 13 insertions(+), 9 deletions(-) rename projects/BEVFusion/configs/t4dataset/BEVFusion-CL/{bevfusion_camera_lidar_voxel_second_secfpn_20e_8xb8_jpntaxi_gen2_base_120m.py => bevfusion_camera_lidar_voxel_second_secfpn_20e_8xb8_jpntaxi_base_120m.py} (98%) rename projects/BEVFusion/configs/t4dataset/BEVFusion-L/{bevfusion_lidar_voxel_second_secfpn_30e_8xb8_jpntaxi_gen2_base_120m.py => bevfusion_lidar_voxel_second_secfpn_30e_8xb8_jpntaxi_base_120m.py} (92%) diff --git a/projects/BEVFusion/configs/t4dataset/BEVFusion-CL/bevfusion_camera_lidar_voxel_second_secfpn_20e_8xb8_jpntaxi_gen2_base_120m.py b/projects/BEVFusion/configs/t4dataset/BEVFusion-CL/bevfusion_camera_lidar_voxel_second_secfpn_20e_8xb8_jpntaxi_base_120m.py similarity index 98% rename from projects/BEVFusion/configs/t4dataset/BEVFusion-CL/bevfusion_camera_lidar_voxel_second_secfpn_20e_8xb8_jpntaxi_gen2_base_120m.py rename to projects/BEVFusion/configs/t4dataset/BEVFusion-CL/bevfusion_camera_lidar_voxel_second_secfpn_20e_8xb8_jpntaxi_base_120m.py index 6556cf818..20c85b1d8 100644 --- a/projects/BEVFusion/configs/t4dataset/BEVFusion-CL/bevfusion_camera_lidar_voxel_second_secfpn_20e_8xb8_jpntaxi_gen2_base_120m.py +++ b/projects/BEVFusion/configs/t4dataset/BEVFusion-CL/bevfusion_camera_lidar_voxel_second_secfpn_20e_8xb8_jpntaxi_base_120m.py @@ -1,6 +1,6 @@ _base_ = [ "../../../../../autoware_ml/configs/detection3d/default_runtime.py", - "../../../../../autoware_ml/configs/detection3d/dataset/t4dataset/jpntaxi_gen2_base.py", + "../../../../../autoware_ml/configs/detection3d/dataset/t4dataset/jpntaxi_base.py", "../default/pipelines/default_camera_lidar_intensity_120m.py", "../default/models/default_camera_swin_fpn_lidar_second_secfpn_120m.py", "../default/schedulers/default_20e_8xb8_adamw_linear_cosine.py", @@ -15,8 +15,8 @@ data_root = "data/t4dataset/" info_directory_path = "info/user_name/" -experiment_group_name = "bevfusion_camera_lidar_intensity/jpntaxi_gen2_base/" + _base_.dataset_type -experiment_name = "bevfusion_camera_lidar_voxel_second_secfpn_20e_8xb8_jpntaxi_gen2_base_120m" +experiment_group_name = "bevfusion_camera_lidar_intensity/jpntaxi_base/" + _base_.dataset_type +experiment_name = "bevfusion_camera_lidar_voxel_second_secfpn_20e_8xb8_jpntaxi_base_120m" work_dir = "work_dirs/" + experiment_group_name + "/" + experiment_name # model parameter diff --git a/projects/BEVFusion/configs/t4dataset/BEVFusion-L/bevfusion_lidar_voxel_second_secfpn_30e_8xb8_j6gen2_base_120m.py b/projects/BEVFusion/configs/t4dataset/BEVFusion-L/bevfusion_lidar_voxel_second_secfpn_30e_8xb8_j6gen2_base_120m.py index 69be0f0d9..e43f9c485 100644 --- a/projects/BEVFusion/configs/t4dataset/BEVFusion-L/bevfusion_lidar_voxel_second_secfpn_30e_8xb8_j6gen2_base_120m.py +++ b/projects/BEVFusion/configs/t4dataset/BEVFusion-L/bevfusion_lidar_voxel_second_secfpn_30e_8xb8_j6gen2_base_120m.py @@ -13,9 +13,9 @@ # user setting data_root = "data/t4dataset/" -info_directory_path = "info/user_name/" +info_directory_path = "info/kokseang_2_6_1/" -experiment_group_name = "bevfusion_lidar_intensity/j6gen2_base/" + _base_.dataset_type +experiment_group_name = "bevfusion_lidar_intensity_2.6.1/j6gen2_base/" + _base_.dataset_type experiment_name = "lidar_voxel_second_secfpn_30e_8xb8_j6gen2_base_120m" work_dir = "work_dirs/" + experiment_group_name + "/" + experiment_name @@ -143,3 +143,5 @@ checkpoint=dict(type="CheckpointHook", interval=1, max_keep_ckpts=3, save_best="NuScenes metric/T4Metric/mAP"), ) log_processor = dict(window_size=50) + +load_from = "work_dirs/bevfusion_lidar_2.6.0/base/T4Dataset/lidar_voxel_second_secfpn_50e_8xb8_base_120m/epoch_40.pth" \ No newline at end of file diff --git a/projects/BEVFusion/configs/t4dataset/BEVFusion-L/bevfusion_lidar_voxel_second_secfpn_30e_8xb8_jpntaxi_gen2_base_120m.py b/projects/BEVFusion/configs/t4dataset/BEVFusion-L/bevfusion_lidar_voxel_second_secfpn_30e_8xb8_jpntaxi_base_120m.py similarity index 92% rename from projects/BEVFusion/configs/t4dataset/BEVFusion-L/bevfusion_lidar_voxel_second_secfpn_30e_8xb8_jpntaxi_gen2_base_120m.py rename to projects/BEVFusion/configs/t4dataset/BEVFusion-L/bevfusion_lidar_voxel_second_secfpn_30e_8xb8_jpntaxi_base_120m.py index e6addac7d..8538784f8 100644 --- a/projects/BEVFusion/configs/t4dataset/BEVFusion-L/bevfusion_lidar_voxel_second_secfpn_30e_8xb8_jpntaxi_gen2_base_120m.py +++ b/projects/BEVFusion/configs/t4dataset/BEVFusion-L/bevfusion_lidar_voxel_second_secfpn_30e_8xb8_jpntaxi_base_120m.py @@ -1,6 +1,6 @@ _base_ = [ "../../../../../autoware_ml/configs/detection3d/default_runtime.py", - "../../../../../autoware_ml/configs/detection3d/dataset/t4dataset/jpntaxi_gen2_base.py", + "../../../../../autoware_ml/configs/detection3d/dataset/t4dataset/jpntaxi_base.py", "../default/pipelines/default_lidar_intensity_120m.py", "../default/models/default_lidar_second_secfpn_120m.py", "../default/schedulers/default_30e_8xb8_adamw_cosine.py", @@ -13,10 +13,10 @@ # user setting data_root = "data/t4dataset/" -info_directory_path = "info/user_name/" +info_directory_path = "info/kokseang_2_6_1/" -experiment_group_name = "bevfusion_lidar_intensity/jpntaxi_gen2_base/" + _base_.dataset_type -experiment_name = "lidar_voxel_second_secfpn_30e_8xb8_jpntaxi_gen2_base_120m" +experiment_group_name = "bevfusion_lidar_intensity_2.6.1/jpntaxi_base/" + _base_.dataset_type +experiment_name = "lidar_voxel_second_secfpn_30e_8xb8_jpntaxi_base_120m" work_dir = "work_dirs/" + experiment_group_name + "/" + experiment_name # model parameter @@ -143,3 +143,5 @@ checkpoint=dict(type="CheckpointHook", interval=1, max_keep_ckpts=3, save_best="NuScenes metric/T4Metric/mAP"), ) log_processor = dict(window_size=50) + +load_from = "work_dirs/bevfusion_lidar_2.6.0/base/T4Dataset/lidar_voxel_second_secfpn_50e_8xb8_base_120m/epoch_40.pth" \ No newline at end of file From cf6e13dea087c2983e045df78840b86c166cd79a Mon Sep 17 00:00:00 2001 From: KokSeang Tan Date: Wed, 25 Mar 2026 19:07:44 +0900 Subject: [PATCH 04/13] Update config --- ...n_30e_8xb8_j6gen2_base_120m_t4metric_v2.py | 78 +++++++++++++++++++ ..._30e_8xb8_jpntaxi_base_120m_t4metric_v2.py | 78 +++++++++++++++++++ ...d_secfpn_50e_8xb8_base_120m_t4metric_v2.py | 78 +++++++++++++++++++ 3 files changed, 234 insertions(+) create mode 100644 projects/BEVFusion/configs/t4dataset/BEVFusion-L/bevfusion_lidar_voxel_second_secfpn_30e_8xb8_j6gen2_base_120m_t4metric_v2.py create mode 100644 projects/BEVFusion/configs/t4dataset/BEVFusion-L/bevfusion_lidar_voxel_second_secfpn_30e_8xb8_jpntaxi_base_120m_t4metric_v2.py create mode 100644 projects/BEVFusion/configs/t4dataset/BEVFusion-L/bevfusion_lidar_voxel_second_secfpn_50e_8xb8_base_120m_t4metric_v2.py diff --git a/projects/BEVFusion/configs/t4dataset/BEVFusion-L/bevfusion_lidar_voxel_second_secfpn_30e_8xb8_j6gen2_base_120m_t4metric_v2.py b/projects/BEVFusion/configs/t4dataset/BEVFusion-L/bevfusion_lidar_voxel_second_secfpn_30e_8xb8_j6gen2_base_120m_t4metric_v2.py new file mode 100644 index 000000000..f048ab1a8 --- /dev/null +++ b/projects/BEVFusion/configs/t4dataset/BEVFusion-L/bevfusion_lidar_voxel_second_secfpn_30e_8xb8_j6gen2_base_120m_t4metric_v2.py @@ -0,0 +1,78 @@ +_base_ = [ + "./bevfusion_lidar_voxel_second_secfpn_30e_8xb8_j6gen2_base_120m.py", +] + +# user setting +data_root = "data/t4dataset/" +info_directory_path = "info/kokseang_2_6_1/" + +experiment_group_name = "bevfusion_lidar_intensity_2.6.1/j6gen2_base/" + _base_.dataset_type +experiment_name = "lidar_voxel_second_secfpn_30e_8xb8_j6gen2_base_120m_t4metric_v2" +work_dir = "work_dirs/" + experiment_group_name + "/" + experiment_name + +# Add evaluator configs +perception_evaluator_configs = dict( + dataset_paths=_base_.data_root, + frame_id="base_link", + evaluation_config_dict=_base_.evaluator_metric_configs, + load_raw_data=False, +) + +frame_pass_fail_config = dict( + target_labels=_base_.class_names, + # Matching thresholds per class (must align with `plane_distance_thresholds` used in evaluation) + matching_threshold_list=[2.0, 2.0, 2.0, 2.0, 2.0], + confidence_threshold_list=None, +) + +training_statistics_parquet_path = ( + _base_.data_root + _base_.info_directory_path + _base_.info_train_statistics_file_name +) +testing_statistics_parquet_path = _base_.data_root + _base_.info_directory_path + _base_.info_test_statistics_file_name +validation_statistics_parquet_path = ( + _base_.data_root + _base_.info_directory_path + _base_.info_val_statistics_file_name +) + +val_evaluator = dict( + _delete_=True, + type="T4MetricV2", + data_root=_base_.data_root, + ann_file=_base_.data_root + _base_.info_directory_path + _base_.info_val_file_name, + training_statistics_parquet_path=training_statistics_parquet_path, + testing_statistics_parquet_path=testing_statistics_parquet_path, + validation_statistics_parquet_path=validation_statistics_parquet_path, + output_dir="validation", + dataset_name="base", + perception_evaluator_configs=perception_evaluator_configs, + critical_object_filter_config=None, + frame_pass_fail_config=frame_pass_fail_config, + num_workers=64, + scene_batch_size=-1, + write_metric_summary=False, + class_names={{_base_.class_names}}, + name_mapping={{_base_.name_mapping}}, + experiment_name=experiment_name, + experiment_group_name=_base_.experiment_group_name, +) + +test_evaluator = dict( + _delete_=True, + type="T4MetricV2", + data_root=_base_.data_root, + ann_file=_base_.data_root + _base_.info_directory_path + _base_.info_test_file_name, + training_statistics_parquet_path=training_statistics_parquet_path, + testing_statistics_parquet_path=testing_statistics_parquet_path, + validation_statistics_parquet_path=validation_statistics_parquet_path, + output_dir="testing", + dataset_name="base", + perception_evaluator_configs=perception_evaluator_configs, + critical_object_filter_config=None, + frame_pass_fail_config=frame_pass_fail_config, + num_workers=64, + scene_batch_size=-1, + write_metric_summary=True, + class_names={{_base_.class_names}}, + name_mapping={{_base_.name_mapping}}, + experiment_name=experiment_name, + experiment_group_name=_base_.experiment_group_name, +) diff --git a/projects/BEVFusion/configs/t4dataset/BEVFusion-L/bevfusion_lidar_voxel_second_secfpn_30e_8xb8_jpntaxi_base_120m_t4metric_v2.py b/projects/BEVFusion/configs/t4dataset/BEVFusion-L/bevfusion_lidar_voxel_second_secfpn_30e_8xb8_jpntaxi_base_120m_t4metric_v2.py new file mode 100644 index 000000000..b4d8ddfbf --- /dev/null +++ b/projects/BEVFusion/configs/t4dataset/BEVFusion-L/bevfusion_lidar_voxel_second_secfpn_30e_8xb8_jpntaxi_base_120m_t4metric_v2.py @@ -0,0 +1,78 @@ +_base_ = [ + "./bevfusion_lidar_voxel_second_secfpn_30e_8xb8_jpntaxi_base_120m.py", +] + +# user setting +data_root = "data/t4dataset/" +info_directory_path = "info/kokseang_2_6_1/" + +experiment_group_name = "bevfusion_lidar_intensity_2.6.1/jpntaxi_base/" + _base_.dataset_type +experiment_name = "lidar_voxel_second_secfpn_30e_8xb8_jpntaxi_base_120m_t4metric_v2" +work_dir = "work_dirs/" + experiment_group_name + "/" + experiment_name + +# Add evaluator configs +perception_evaluator_configs = dict( + dataset_paths=_base_.data_root, + frame_id="base_link", + evaluation_config_dict=_base_.evaluator_metric_configs, + load_raw_data=False, +) + +frame_pass_fail_config = dict( + target_labels=_base_.class_names, + # Matching thresholds per class (must align with `plane_distance_thresholds` used in evaluation) + matching_threshold_list=[2.0, 2.0, 2.0, 2.0, 2.0], + confidence_threshold_list=None, +) + +training_statistics_parquet_path = ( + _base_.data_root + _base_.info_directory_path + _base_.info_train_statistics_file_name +) +testing_statistics_parquet_path = _base_.data_root + _base_.info_directory_path + _base_.info_test_statistics_file_name +validation_statistics_parquet_path = ( + _base_.data_root + _base_.info_directory_path + _base_.info_val_statistics_file_name +) + +val_evaluator = dict( + _delete_=True, + type="T4MetricV2", + data_root=_base_.data_root, + ann_file=_base_.data_root + _base_.info_directory_path + _base_.info_val_file_name, + training_statistics_parquet_path=training_statistics_parquet_path, + testing_statistics_parquet_path=testing_statistics_parquet_path, + validation_statistics_parquet_path=validation_statistics_parquet_path, + output_dir="validation", + dataset_name="base", + perception_evaluator_configs=perception_evaluator_configs, + critical_object_filter_config=None, + frame_pass_fail_config=frame_pass_fail_config, + num_workers=64, + scene_batch_size=-1, + write_metric_summary=False, + class_names={{_base_.class_names}}, + name_mapping={{_base_.name_mapping}}, + experiment_name=experiment_name, + experiment_group_name=_base_.experiment_group_name, +) + +test_evaluator = dict( + _delete_=True, + type="T4MetricV2", + data_root=_base_.data_root, + ann_file=_base_.data_root + _base_.info_directory_path + _base_.info_test_file_name, + training_statistics_parquet_path=training_statistics_parquet_path, + testing_statistics_parquet_path=testing_statistics_parquet_path, + validation_statistics_parquet_path=validation_statistics_parquet_path, + output_dir="testing", + dataset_name="base", + perception_evaluator_configs=perception_evaluator_configs, + critical_object_filter_config=None, + frame_pass_fail_config=frame_pass_fail_config, + num_workers=64, + scene_batch_size=-1, + write_metric_summary=True, + class_names={{_base_.class_names}}, + name_mapping={{_base_.name_mapping}}, + experiment_name=experiment_name, + experiment_group_name=_base_.experiment_group_name, +) diff --git a/projects/BEVFusion/configs/t4dataset/BEVFusion-L/bevfusion_lidar_voxel_second_secfpn_50e_8xb8_base_120m_t4metric_v2.py b/projects/BEVFusion/configs/t4dataset/BEVFusion-L/bevfusion_lidar_voxel_second_secfpn_50e_8xb8_base_120m_t4metric_v2.py new file mode 100644 index 000000000..7a0215139 --- /dev/null +++ b/projects/BEVFusion/configs/t4dataset/BEVFusion-L/bevfusion_lidar_voxel_second_secfpn_50e_8xb8_base_120m_t4metric_v2.py @@ -0,0 +1,78 @@ +_base_ = [ + "./bevfusion_lidar_voxel_second_secfpn_50e_8xb8_base_120m.py", +] + +# user setting +data_root = "data/t4dataset/" +info_directory_path = "info/kokseang_2_6_1/" + +experiment_group_name = "bevfusion_lidar_2.6.0/base/" + _base_.dataset_type +experiment_name = "lidar_voxel_second_secfpn_50e_8xb8_base_120m_t4metric_v2" +work_dir = "work_dirs/" + experiment_group_name + "/" + experiment_name + +# Add evaluator configs +perception_evaluator_configs = dict( + dataset_paths=_base_.data_root, + frame_id="base_link", + evaluation_config_dict=_base_.evaluator_metric_configs, + load_raw_data=False, +) + +frame_pass_fail_config = dict( + target_labels=_base_.class_names, + # Matching thresholds per class (must align with `plane_distance_thresholds` used in evaluation) + matching_threshold_list=[2.0, 2.0, 2.0, 2.0, 2.0], + confidence_threshold_list=None, +) + +training_statistics_parquet_path = ( + _base_.data_root + _base_.info_directory_path + _base_.info_train_statistics_file_name +) +testing_statistics_parquet_path = _base_.data_root + _base_.info_directory_path + _base_.info_test_statistics_file_name +validation_statistics_parquet_path = ( + _base_.data_root + _base_.info_directory_path + _base_.info_val_statistics_file_name +) + +val_evaluator = dict( + _delete_=True, + type="T4MetricV2", + data_root=_base_.data_root, + ann_file=_base_.data_root + _base_.info_directory_path + _base_.info_val_file_name, + training_statistics_parquet_path=training_statistics_parquet_path, + testing_statistics_parquet_path=testing_statistics_parquet_path, + validation_statistics_parquet_path=validation_statistics_parquet_path, + output_dir="validation", + dataset_name="base", + perception_evaluator_configs=perception_evaluator_configs, + critical_object_filter_config=None, + frame_pass_fail_config=frame_pass_fail_config, + num_workers=64, + scene_batch_size=-1, + write_metric_summary=False, + class_names={{_base_.class_names}}, + name_mapping={{_base_.name_mapping}}, + experiment_name=experiment_name, + experiment_group_name=_base_.experiment_group_name, +) + +test_evaluator = dict( + _delete_=True, + type="T4MetricV2", + data_root=_base_.data_root, + ann_file=_base_.data_root + _base_.info_directory_path + _base_.info_test_file_name, + training_statistics_parquet_path=training_statistics_parquet_path, + testing_statistics_parquet_path=testing_statistics_parquet_path, + validation_statistics_parquet_path=validation_statistics_parquet_path, + output_dir="testing", + dataset_name="base", + perception_evaluator_configs=perception_evaluator_configs, + critical_object_filter_config=None, + frame_pass_fail_config=frame_pass_fail_config, + num_workers=64, + scene_batch_size=-1, + write_metric_summary=True, + class_names={{_base_.class_names}}, + name_mapping={{_base_.name_mapping}}, + experiment_name=experiment_name, + experiment_group_name=_base_.experiment_group_name, +) From e1ebc993b9c8f17090a64b5a11476a3733e89084 Mon Sep 17 00:00:00 2001 From: KokSeang Tan Date: Thu, 26 Mar 2026 20:20:08 +0900 Subject: [PATCH 05/13] Update config --- .../configs/detection3d/dataset/t4dataset/jpntaxi_base.py | 1 - .../pipelines/default_camera_lidar_intensity_120m.py | 4 ++-- .../t4dataset/default/pipelines/default_lidar_120m.py | 8 ++++++-- .../default/pipelines/default_lidar_intensity_120m.py | 8 ++++++-- .../schedulers/default_20e_8xb8_adamw_linear_cosine.py | 2 +- .../default/schedulers/default_30e_8xb8_adamw_cosine.py | 2 +- .../schedulers/default_30e_8xb8_adamw_linear_cosine.py | 2 +- .../default/schedulers/default_50e_8xb8_adamw_cosine.py | 2 +- 8 files changed, 18 insertions(+), 11 deletions(-) diff --git a/autoware_ml/configs/detection3d/dataset/t4dataset/jpntaxi_base.py b/autoware_ml/configs/detection3d/dataset/t4dataset/jpntaxi_base.py index 28ba4ab33..a50cf8852 100644 --- a/autoware_ml/configs/detection3d/dataset/t4dataset/jpntaxi_base.py +++ b/autoware_ml/configs/detection3d/dataset/t4dataset/jpntaxi_base.py @@ -18,7 +18,6 @@ # dataset scene setting dataset_test_groups = { - "jpntaxi_gen2": ("t4dataset_jpntaxi_gen2_infos_test.pkl", False), "jpntaxi_base": ("t4dataset_jpntaxi_base_infos_test.pkl", True), } diff --git a/projects/BEVFusion/configs/t4dataset/default/pipelines/default_camera_lidar_intensity_120m.py b/projects/BEVFusion/configs/t4dataset/default/pipelines/default_camera_lidar_intensity_120m.py index acac440dc..9d1910dab 100644 --- a/projects/BEVFusion/configs/t4dataset/default/pipelines/default_camera_lidar_intensity_120m.py +++ b/projects/BEVFusion/configs/t4dataset/default/pipelines/default_camera_lidar_intensity_120m.py @@ -84,8 +84,8 @@ "traffic_cone", ], ), - dict(type="ObjectRangeMinPointsFilter", range_radius=[0, 60], min_num_points=2), - dict(type="ObjectRangeMinPointsFilter", range_radius=[60, 130], min_num_points=1), + # dict(type="ObjectRangeMinPointsFilter", range_radius=[0, 60], min_num_points=2), + # dict(type="ObjectRangeMinPointsFilter", range_radius=[60, 130], min_num_points=1), dict(type="PointShuffle"), dict( type="Pack3DDetInputs", diff --git a/projects/BEVFusion/configs/t4dataset/default/pipelines/default_lidar_120m.py b/projects/BEVFusion/configs/t4dataset/default/pipelines/default_lidar_120m.py index 7ffedc232..7ee393ea6 100644 --- a/projects/BEVFusion/configs/t4dataset/default/pipelines/default_lidar_120m.py +++ b/projects/BEVFusion/configs/t4dataset/default/pipelines/default_lidar_120m.py @@ -64,8 +64,8 @@ "traffic_cone", ], ), - dict(type="ObjectRangeMinPointsFilter", range_radius=[0, 60], min_num_points=2), - dict(type="ObjectRangeMinPointsFilter", range_radius=[60, 130], min_num_points=1), + # dict(type="ObjectRangeMinPointsFilter", range_radius=[0, 60], min_num_points=1), + # dict(type="ObjectRangeMinPointsFilter", range_radius=[60, 130], min_num_points=1), dict(type="PointShuffle"), dict( type="Pack3DDetInputs", @@ -89,6 +89,8 @@ "img_aug_matrix", "lidar_aug_matrix", "timestamp", + "vehicle_type", + "city", ], ), ] @@ -130,6 +132,8 @@ "num_pts_feats", "num_views", "timestamp", + "vehicle_type", + "city", ], ), ] diff --git a/projects/BEVFusion/configs/t4dataset/default/pipelines/default_lidar_intensity_120m.py b/projects/BEVFusion/configs/t4dataset/default/pipelines/default_lidar_intensity_120m.py index c7fa1b2cb..8b154901e 100644 --- a/projects/BEVFusion/configs/t4dataset/default/pipelines/default_lidar_intensity_120m.py +++ b/projects/BEVFusion/configs/t4dataset/default/pipelines/default_lidar_intensity_120m.py @@ -64,8 +64,8 @@ "traffic_cone", ], ), - dict(type="ObjectRangeMinPointsFilter", range_radius=[0, 60], min_num_points=2), - dict(type="ObjectRangeMinPointsFilter", range_radius=[60, 130], min_num_points=1), + # dict(type="ObjectRangeMinPointsFilter", range_radius=[0, 60], min_num_points=2), + # dict(type="ObjectRangeMinPointsFilter", range_radius=[60, 130], min_num_points=1), dict(type="PointShuffle"), dict( type="Pack3DDetInputs", @@ -89,6 +89,8 @@ "img_aug_matrix", "lidar_aug_matrix", "timestamp", + "vehicle_type", + "city", ], ), ] @@ -130,6 +132,8 @@ "num_pts_feats", "num_views", "timestamp", + "vehicle_type", + "city", ], ), ] diff --git a/projects/BEVFusion/configs/t4dataset/default/schedulers/default_20e_8xb8_adamw_linear_cosine.py b/projects/BEVFusion/configs/t4dataset/default/schedulers/default_20e_8xb8_adamw_linear_cosine.py index d491eaa4b..c3f82e76d 100644 --- a/projects/BEVFusion/configs/t4dataset/default/schedulers/default_20e_8xb8_adamw_linear_cosine.py +++ b/projects/BEVFusion/configs/t4dataset/default/schedulers/default_20e_8xb8_adamw_linear_cosine.py @@ -1,6 +1,6 @@ # learning rate # lr = 0.0002 -lr = 2e-4 +lr = 1.5e-4 t_max = 6 max_epochs = 20 val_interval = 1 diff --git a/projects/BEVFusion/configs/t4dataset/default/schedulers/default_30e_8xb8_adamw_cosine.py b/projects/BEVFusion/configs/t4dataset/default/schedulers/default_30e_8xb8_adamw_cosine.py index c5053d943..94c2a4160 100644 --- a/projects/BEVFusion/configs/t4dataset/default/schedulers/default_30e_8xb8_adamw_cosine.py +++ b/projects/BEVFusion/configs/t4dataset/default/schedulers/default_30e_8xb8_adamw_cosine.py @@ -1,5 +1,5 @@ # learning rate -lr = 2e-4 +lr = 1.5e-4 t_max = 8 max_epochs = 30 val_interval = 5 diff --git a/projects/BEVFusion/configs/t4dataset/default/schedulers/default_30e_8xb8_adamw_linear_cosine.py b/projects/BEVFusion/configs/t4dataset/default/schedulers/default_30e_8xb8_adamw_linear_cosine.py index c05aeafcb..f5c747e62 100644 --- a/projects/BEVFusion/configs/t4dataset/default/schedulers/default_30e_8xb8_adamw_linear_cosine.py +++ b/projects/BEVFusion/configs/t4dataset/default/schedulers/default_30e_8xb8_adamw_linear_cosine.py @@ -1,5 +1,5 @@ # learning rate -lr = 2e-4 +lr = 1.5e-4 t_max = 8 max_epochs = 30 val_interval = 1 diff --git a/projects/BEVFusion/configs/t4dataset/default/schedulers/default_50e_8xb8_adamw_cosine.py b/projects/BEVFusion/configs/t4dataset/default/schedulers/default_50e_8xb8_adamw_cosine.py index fc1914dde..f0bd87ca4 100644 --- a/projects/BEVFusion/configs/t4dataset/default/schedulers/default_50e_8xb8_adamw_cosine.py +++ b/projects/BEVFusion/configs/t4dataset/default/schedulers/default_50e_8xb8_adamw_cosine.py @@ -1,5 +1,5 @@ # learning rate -lr = 2e-4 +lr = 1.5e-4 t_max = 15 max_epochs = 50 val_interval = 5 From 2dac4333e0dce899701b0602778626e0df191a8a Mon Sep 17 00:00:00 2001 From: KokSeang Tan Date: Fri, 27 Mar 2026 11:01:29 +0900 Subject: [PATCH 06/13] Update config --- .../t4dataset/default/pipelines/default_lidar_120m.py | 10 +++++----- .../schedulers/default_20e_8xb8_adamw_linear_cosine.py | 6 +++++- .../schedulers/default_30e_8xb8_adamw_cosine.py | 6 +++++- .../schedulers/default_30e_8xb8_adamw_linear_cosine.py | 6 +++++- .../schedulers/default_50e_8xb8_adamw_cosine.py | 6 +++++- 5 files changed, 25 insertions(+), 9 deletions(-) diff --git a/projects/BEVFusion/configs/t4dataset/default/pipelines/default_lidar_120m.py b/projects/BEVFusion/configs/t4dataset/default/pipelines/default_lidar_120m.py index 7ee393ea6..347ba6452 100644 --- a/projects/BEVFusion/configs/t4dataset/default/pipelines/default_lidar_120m.py +++ b/projects/BEVFusion/configs/t4dataset/default/pipelines/default_lidar_120m.py @@ -54,14 +54,14 @@ classes=[ "car", "truck", - "construction_vehicle", + # "construction_vehicle", "bus", - "trailer", - "barrier", - "motorcycle", + # "trailer", + # "barrier", + # "motorcycle", "bicycle", "pedestrian", - "traffic_cone", + # "traffic_cone", ], ), # dict(type="ObjectRangeMinPointsFilter", range_radius=[0, 60], min_num_points=1), diff --git a/projects/BEVFusion/configs/t4dataset/default/schedulers/default_20e_8xb8_adamw_linear_cosine.py b/projects/BEVFusion/configs/t4dataset/default/schedulers/default_20e_8xb8_adamw_linear_cosine.py index c3f82e76d..a0be6f4ab 100644 --- a/projects/BEVFusion/configs/t4dataset/default/schedulers/default_20e_8xb8_adamw_linear_cosine.py +++ b/projects/BEVFusion/configs/t4dataset/default/schedulers/default_20e_8xb8_adamw_linear_cosine.py @@ -1,6 +1,6 @@ # learning rate # lr = 0.0002 -lr = 1.5e-4 +lr = 1.0e-4 t_max = 6 max_epochs = 20 val_interval = 1 @@ -57,3 +57,7 @@ ) auto_scale_lr = dict(enable=False, base_batch_size=train_gpu_size * train_batch_size) + +# Only set if the number of train_gpu_size more than 1 +if train_gpu_size > 1: + sync_bn = "torch" \ No newline at end of file diff --git a/projects/BEVFusion/configs/t4dataset/default/schedulers/default_30e_8xb8_adamw_cosine.py b/projects/BEVFusion/configs/t4dataset/default/schedulers/default_30e_8xb8_adamw_cosine.py index 94c2a4160..edcbd74bf 100644 --- a/projects/BEVFusion/configs/t4dataset/default/schedulers/default_30e_8xb8_adamw_cosine.py +++ b/projects/BEVFusion/configs/t4dataset/default/schedulers/default_30e_8xb8_adamw_cosine.py @@ -1,5 +1,5 @@ # learning rate -lr = 1.5e-4 +lr = 1.0e-4 t_max = 8 max_epochs = 30 val_interval = 5 @@ -69,3 +69,7 @@ ) auto_scale_lr = dict(enable=False, base_batch_size=train_gpu_size * train_batch_size) + +# Only set if the number of train_gpu_size more than 1 +if train_gpu_size > 1: + sync_bn = "torch" \ No newline at end of file diff --git a/projects/BEVFusion/configs/t4dataset/default/schedulers/default_30e_8xb8_adamw_linear_cosine.py b/projects/BEVFusion/configs/t4dataset/default/schedulers/default_30e_8xb8_adamw_linear_cosine.py index f5c747e62..32e8d59fa 100644 --- a/projects/BEVFusion/configs/t4dataset/default/schedulers/default_30e_8xb8_adamw_linear_cosine.py +++ b/projects/BEVFusion/configs/t4dataset/default/schedulers/default_30e_8xb8_adamw_linear_cosine.py @@ -1,5 +1,5 @@ # learning rate -lr = 1.5e-4 +lr = 1.0e-4 t_max = 8 max_epochs = 30 val_interval = 1 @@ -56,3 +56,7 @@ ) auto_scale_lr = dict(enable=False, base_batch_size=train_gpu_size * train_batch_size) + +# Only set if the number of train_gpu_size more than 1 +if train_gpu_size > 1: + sync_bn = "torch" \ No newline at end of file diff --git a/projects/BEVFusion/configs/t4dataset/default/schedulers/default_50e_8xb8_adamw_cosine.py b/projects/BEVFusion/configs/t4dataset/default/schedulers/default_50e_8xb8_adamw_cosine.py index f0bd87ca4..58192c2de 100644 --- a/projects/BEVFusion/configs/t4dataset/default/schedulers/default_50e_8xb8_adamw_cosine.py +++ b/projects/BEVFusion/configs/t4dataset/default/schedulers/default_50e_8xb8_adamw_cosine.py @@ -1,5 +1,5 @@ # learning rate -lr = 1.5e-4 +lr = 1.0e-4 t_max = 15 max_epochs = 50 val_interval = 5 @@ -69,3 +69,7 @@ ) auto_scale_lr = dict(enable=False, base_batch_size=train_gpu_size * train_batch_size) + +# Only set if the number of train_gpu_size more than 1 +if train_gpu_size > 1: + sync_bn = "torch" \ No newline at end of file From 9046b7bb1b3603345dc886903794ea118e9737f4 Mon Sep 17 00:00:00 2001 From: KokSeang Tan Date: Fri, 27 Mar 2026 11:29:07 +0900 Subject: [PATCH 07/13] Update config --- tools/detection3d/train.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/tools/detection3d/train.py b/tools/detection3d/train.py index c379025d1..254783b92 100644 --- a/tools/detection3d/train.py +++ b/tools/detection3d/train.py @@ -123,6 +123,10 @@ def main(): # build customized runner from the registry # if 'runner_type' is set in the cfg runner = RUNNERS.build(cfg) + + # Output all model + print_log(f"Runner model: ", logger="current") + print_log(f"{runner.model}", logger="current") # start training runner.train() From d4d93fa3bab4fbe63c528c2a029bfb8e3a5346db Mon Sep 17 00:00:00 2001 From: KokSeang Tan Date: Sat, 28 Mar 2026 00:39:14 +0900 Subject: [PATCH 08/13] Added --- projects/BEVFusion/bevfusion/__init__.py | 3 ++- projects/BEVFusion/bevfusion/bevfusion_head.py | 2 +- projects/BEVFusion/bevfusion/utils.py | 1 + .../default/models/default_lidar_second_secfpn_120m.py | 2 +- 4 files changed, 5 insertions(+), 3 deletions(-) diff --git a/projects/BEVFusion/bevfusion/__init__.py b/projects/BEVFusion/bevfusion/__init__.py index e849db227..947ebab23 100644 --- a/projects/BEVFusion/bevfusion/__init__.py +++ b/projects/BEVFusion/bevfusion/__init__.py @@ -6,7 +6,7 @@ from .sparse_encoder import BEVFusionSparseEncoder from .transformer import TransformerDecoderLayer from .transforms_3d import BEVFusionGlobalRotScaleTrans, BEVFusionRandomFlip3D, GridMask, ImageAug3D -from .utils import BBoxBEVL1Cost, HeuristicAssigner3D, HungarianAssigner3D, IoU3DCost +from .utils import BBoxBEVL1Cost, HeuristicAssigner3D, HungarianAssigner3D, IoU3DCost, TransFusionBBoxCoder __all__ = [ "BEVFusion", @@ -26,4 +26,5 @@ "TransformerDecoderLayer", "BEVFusionRandomFlip3D", "BEVFusionGlobalRotScaleTrans", + "TransFusionBBoxCoder", ] diff --git a/projects/BEVFusion/bevfusion/bevfusion_head.py b/projects/BEVFusion/bevfusion/bevfusion_head.py index 143c35a14..853523c4f 100644 --- a/projects/BEVFusion/bevfusion/bevfusion_head.py +++ b/projects/BEVFusion/bevfusion/bevfusion_head.py @@ -554,7 +554,7 @@ def get_targets_single(self, gt_instances_3d, preds_dict, batch_idx): vel = None boxes_dict = self.bbox_coder.decode( - score, rot, dim, center, height, vel + score, rot, dim, center, height, vel, filter=False ) # decode the prediction to real world metric bbox bboxes_tensor = boxes_dict[0]["bboxes"] gt_bboxes_tensor = gt_bboxes_3d.tensor.to(score.device) diff --git a/projects/BEVFusion/bevfusion/utils.py b/projects/BEVFusion/bevfusion/utils.py index c47604dbd..5b7c94877 100644 --- a/projects/BEVFusion/bevfusion/utils.py +++ b/projects/BEVFusion/bevfusion/utils.py @@ -93,6 +93,7 @@ def decode(self, heatmap, rot, dim, center, height, vel, filter=False): predictions_dicts.append(predictions_dict) if filter is False: + print("filter is False") return predictions_dicts # use score threshold diff --git a/projects/BEVFusion/configs/t4dataset/default/models/default_lidar_second_secfpn_120m.py b/projects/BEVFusion/configs/t4dataset/default/models/default_lidar_second_secfpn_120m.py index b5d9a8fdc..a7fac4b37 100644 --- a/projects/BEVFusion/configs/t4dataset/default/models/default_lidar_second_secfpn_120m.py +++ b/projects/BEVFusion/configs/t4dataset/default/models/default_lidar_second_secfpn_120m.py @@ -98,7 +98,7 @@ bbox_coder=dict( type="TransFusionBBoxCoder", post_center_range=[-200.0, -200.0, -10.0, 200.0, 200.0, 10.0], - score_threshold=0.0, + score_threshold=0.1, out_size_factor=8, code_size=10, ), From b2714a87052e441b94bf8cc15793ef12fb39698f Mon Sep 17 00:00:00 2001 From: KokSeang Tan Date: Tue, 31 Mar 2026 10:58:41 +0900 Subject: [PATCH 09/13] Added --- projects/BEVFusion/bevfusion/utils.py | 1 - .../default/models/default_lidar_second_secfpn_120m.py | 2 +- .../t4dataset/default/pipelines/default_lidar_120m.py | 7 +------ .../default/pipelines/default_lidar_intensity_120m.py | 5 ----- .../schedulers/default_20e_8xb8_adamw_linear_cosine.py | 4 ++-- .../default/schedulers/default_30e_8xb8_adamw_cosine.py | 3 ++- .../schedulers/default_30e_8xb8_adamw_linear_cosine.py | 3 ++- .../default/schedulers/default_50e_8xb8_adamw_cosine.py | 3 ++- 8 files changed, 10 insertions(+), 18 deletions(-) diff --git a/projects/BEVFusion/bevfusion/utils.py b/projects/BEVFusion/bevfusion/utils.py index 5b7c94877..c47604dbd 100644 --- a/projects/BEVFusion/bevfusion/utils.py +++ b/projects/BEVFusion/bevfusion/utils.py @@ -93,7 +93,6 @@ def decode(self, heatmap, rot, dim, center, height, vel, filter=False): predictions_dicts.append(predictions_dict) if filter is False: - print("filter is False") return predictions_dicts # use score threshold diff --git a/projects/BEVFusion/configs/t4dataset/default/models/default_lidar_second_secfpn_120m.py b/projects/BEVFusion/configs/t4dataset/default/models/default_lidar_second_secfpn_120m.py index a7fac4b37..b5d9a8fdc 100644 --- a/projects/BEVFusion/configs/t4dataset/default/models/default_lidar_second_secfpn_120m.py +++ b/projects/BEVFusion/configs/t4dataset/default/models/default_lidar_second_secfpn_120m.py @@ -98,7 +98,7 @@ bbox_coder=dict( type="TransFusionBBoxCoder", post_center_range=[-200.0, -200.0, -10.0, 200.0, 200.0, 10.0], - score_threshold=0.1, + score_threshold=0.0, out_size_factor=8, code_size=10, ), diff --git a/projects/BEVFusion/configs/t4dataset/default/pipelines/default_lidar_120m.py b/projects/BEVFusion/configs/t4dataset/default/pipelines/default_lidar_120m.py index 347ba6452..e79c30710 100644 --- a/projects/BEVFusion/configs/t4dataset/default/pipelines/default_lidar_120m.py +++ b/projects/BEVFusion/configs/t4dataset/default/pipelines/default_lidar_120m.py @@ -54,17 +54,12 @@ classes=[ "car", "truck", - # "construction_vehicle", "bus", - # "trailer", - # "barrier", - # "motorcycle", "bicycle", "pedestrian", - # "traffic_cone", ], ), - # dict(type="ObjectRangeMinPointsFilter", range_radius=[0, 60], min_num_points=1), + # dict(type="ObjectRangeMinPointsFilter", range_radius=[0, 60], min_num_points=2), # dict(type="ObjectRangeMinPointsFilter", range_radius=[60, 130], min_num_points=1), dict(type="PointShuffle"), dict( diff --git a/projects/BEVFusion/configs/t4dataset/default/pipelines/default_lidar_intensity_120m.py b/projects/BEVFusion/configs/t4dataset/default/pipelines/default_lidar_intensity_120m.py index 8b154901e..ce7985fd8 100644 --- a/projects/BEVFusion/configs/t4dataset/default/pipelines/default_lidar_intensity_120m.py +++ b/projects/BEVFusion/configs/t4dataset/default/pipelines/default_lidar_intensity_120m.py @@ -54,14 +54,9 @@ classes=[ "car", "truck", - "construction_vehicle", "bus", - "trailer", - "barrier", - "motorcycle", "bicycle", "pedestrian", - "traffic_cone", ], ), # dict(type="ObjectRangeMinPointsFilter", range_radius=[0, 60], min_num_points=2), diff --git a/projects/BEVFusion/configs/t4dataset/default/schedulers/default_20e_8xb8_adamw_linear_cosine.py b/projects/BEVFusion/configs/t4dataset/default/schedulers/default_20e_8xb8_adamw_linear_cosine.py index a0be6f4ab..d1d11e7c9 100644 --- a/projects/BEVFusion/configs/t4dataset/default/schedulers/default_20e_8xb8_adamw_linear_cosine.py +++ b/projects/BEVFusion/configs/t4dataset/default/schedulers/default_20e_8xb8_adamw_linear_cosine.py @@ -1,6 +1,6 @@ # learning rate -# lr = 0.0002 -lr = 1.0e-4 +# 1e-4 * sqrt(2) = 0.0001414 +lr = 1.4141e-4 t_max = 6 max_epochs = 20 val_interval = 1 diff --git a/projects/BEVFusion/configs/t4dataset/default/schedulers/default_30e_8xb8_adamw_cosine.py b/projects/BEVFusion/configs/t4dataset/default/schedulers/default_30e_8xb8_adamw_cosine.py index edcbd74bf..f4f102170 100644 --- a/projects/BEVFusion/configs/t4dataset/default/schedulers/default_30e_8xb8_adamw_cosine.py +++ b/projects/BEVFusion/configs/t4dataset/default/schedulers/default_30e_8xb8_adamw_cosine.py @@ -1,5 +1,6 @@ # learning rate -lr = 1.0e-4 +# 1e-4 * sqrt(2) = 0.0001414 +lr = 1.4141e-4 t_max = 8 max_epochs = 30 val_interval = 5 diff --git a/projects/BEVFusion/configs/t4dataset/default/schedulers/default_30e_8xb8_adamw_linear_cosine.py b/projects/BEVFusion/configs/t4dataset/default/schedulers/default_30e_8xb8_adamw_linear_cosine.py index 32e8d59fa..44870ccf4 100644 --- a/projects/BEVFusion/configs/t4dataset/default/schedulers/default_30e_8xb8_adamw_linear_cosine.py +++ b/projects/BEVFusion/configs/t4dataset/default/schedulers/default_30e_8xb8_adamw_linear_cosine.py @@ -1,5 +1,6 @@ # learning rate -lr = 1.0e-4 +# 1e-4 * sqrt(2) = 0.0001414 +lr = 1.4141e-4 t_max = 8 max_epochs = 30 val_interval = 1 diff --git a/projects/BEVFusion/configs/t4dataset/default/schedulers/default_50e_8xb8_adamw_cosine.py b/projects/BEVFusion/configs/t4dataset/default/schedulers/default_50e_8xb8_adamw_cosine.py index 58192c2de..542ccdd8e 100644 --- a/projects/BEVFusion/configs/t4dataset/default/schedulers/default_50e_8xb8_adamw_cosine.py +++ b/projects/BEVFusion/configs/t4dataset/default/schedulers/default_50e_8xb8_adamw_cosine.py @@ -1,5 +1,6 @@ # learning rate -lr = 1.0e-4 +# 1e-4 * sqrt(2) = 0.0001414 +lr = 1.4141e-4 t_max = 15 max_epochs = 50 val_interval = 5 From 43adb38bf15ea01b0ff81b06a5e4e435a6e490f9 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Tue, 31 Mar 2026 02:01:59 +0000 Subject: [PATCH 10/13] ci(pre-commit): autofix --- projects/BEVFusion/bevfusion/__init__.py | 2 +- ...ion_lidar_voxel_second_secfpn_30e_8xb8_j6gen2_base_120m.py | 2 +- ...on_lidar_voxel_second_secfpn_30e_8xb8_jpntaxi_base_120m.py | 2 +- .../schedulers/default_20e_8xb8_adamw_linear_cosine.py | 2 +- .../default/schedulers/default_30e_8xb8_adamw_cosine.py | 2 +- .../schedulers/default_30e_8xb8_adamw_linear_cosine.py | 2 +- .../default/schedulers/default_50e_8xb8_adamw_cosine.py | 2 +- tools/detection3d/train.py | 4 ++-- 8 files changed, 9 insertions(+), 9 deletions(-) diff --git a/projects/BEVFusion/bevfusion/__init__.py b/projects/BEVFusion/bevfusion/__init__.py index 947ebab23..60a64b532 100644 --- a/projects/BEVFusion/bevfusion/__init__.py +++ b/projects/BEVFusion/bevfusion/__init__.py @@ -26,5 +26,5 @@ "TransformerDecoderLayer", "BEVFusionRandomFlip3D", "BEVFusionGlobalRotScaleTrans", - "TransFusionBBoxCoder", + "TransFusionBBoxCoder", ] diff --git a/projects/BEVFusion/configs/t4dataset/BEVFusion-L/bevfusion_lidar_voxel_second_secfpn_30e_8xb8_j6gen2_base_120m.py b/projects/BEVFusion/configs/t4dataset/BEVFusion-L/bevfusion_lidar_voxel_second_secfpn_30e_8xb8_j6gen2_base_120m.py index e43f9c485..d984b5585 100644 --- a/projects/BEVFusion/configs/t4dataset/BEVFusion-L/bevfusion_lidar_voxel_second_secfpn_30e_8xb8_j6gen2_base_120m.py +++ b/projects/BEVFusion/configs/t4dataset/BEVFusion-L/bevfusion_lidar_voxel_second_secfpn_30e_8xb8_j6gen2_base_120m.py @@ -144,4 +144,4 @@ ) log_processor = dict(window_size=50) -load_from = "work_dirs/bevfusion_lidar_2.6.0/base/T4Dataset/lidar_voxel_second_secfpn_50e_8xb8_base_120m/epoch_40.pth" \ No newline at end of file +load_from = "work_dirs/bevfusion_lidar_2.6.0/base/T4Dataset/lidar_voxel_second_secfpn_50e_8xb8_base_120m/epoch_40.pth" diff --git a/projects/BEVFusion/configs/t4dataset/BEVFusion-L/bevfusion_lidar_voxel_second_secfpn_30e_8xb8_jpntaxi_base_120m.py b/projects/BEVFusion/configs/t4dataset/BEVFusion-L/bevfusion_lidar_voxel_second_secfpn_30e_8xb8_jpntaxi_base_120m.py index 8538784f8..0878cef29 100644 --- a/projects/BEVFusion/configs/t4dataset/BEVFusion-L/bevfusion_lidar_voxel_second_secfpn_30e_8xb8_jpntaxi_base_120m.py +++ b/projects/BEVFusion/configs/t4dataset/BEVFusion-L/bevfusion_lidar_voxel_second_secfpn_30e_8xb8_jpntaxi_base_120m.py @@ -144,4 +144,4 @@ ) log_processor = dict(window_size=50) -load_from = "work_dirs/bevfusion_lidar_2.6.0/base/T4Dataset/lidar_voxel_second_secfpn_50e_8xb8_base_120m/epoch_40.pth" \ No newline at end of file +load_from = "work_dirs/bevfusion_lidar_2.6.0/base/T4Dataset/lidar_voxel_second_secfpn_50e_8xb8_base_120m/epoch_40.pth" diff --git a/projects/BEVFusion/configs/t4dataset/default/schedulers/default_20e_8xb8_adamw_linear_cosine.py b/projects/BEVFusion/configs/t4dataset/default/schedulers/default_20e_8xb8_adamw_linear_cosine.py index d1d11e7c9..15ba38878 100644 --- a/projects/BEVFusion/configs/t4dataset/default/schedulers/default_20e_8xb8_adamw_linear_cosine.py +++ b/projects/BEVFusion/configs/t4dataset/default/schedulers/default_20e_8xb8_adamw_linear_cosine.py @@ -60,4 +60,4 @@ # Only set if the number of train_gpu_size more than 1 if train_gpu_size > 1: - sync_bn = "torch" \ No newline at end of file + sync_bn = "torch" diff --git a/projects/BEVFusion/configs/t4dataset/default/schedulers/default_30e_8xb8_adamw_cosine.py b/projects/BEVFusion/configs/t4dataset/default/schedulers/default_30e_8xb8_adamw_cosine.py index f4f102170..a2cd2d2e9 100644 --- a/projects/BEVFusion/configs/t4dataset/default/schedulers/default_30e_8xb8_adamw_cosine.py +++ b/projects/BEVFusion/configs/t4dataset/default/schedulers/default_30e_8xb8_adamw_cosine.py @@ -73,4 +73,4 @@ # Only set if the number of train_gpu_size more than 1 if train_gpu_size > 1: - sync_bn = "torch" \ No newline at end of file + sync_bn = "torch" diff --git a/projects/BEVFusion/configs/t4dataset/default/schedulers/default_30e_8xb8_adamw_linear_cosine.py b/projects/BEVFusion/configs/t4dataset/default/schedulers/default_30e_8xb8_adamw_linear_cosine.py index 44870ccf4..264eda921 100644 --- a/projects/BEVFusion/configs/t4dataset/default/schedulers/default_30e_8xb8_adamw_linear_cosine.py +++ b/projects/BEVFusion/configs/t4dataset/default/schedulers/default_30e_8xb8_adamw_linear_cosine.py @@ -60,4 +60,4 @@ # Only set if the number of train_gpu_size more than 1 if train_gpu_size > 1: - sync_bn = "torch" \ No newline at end of file + sync_bn = "torch" diff --git a/projects/BEVFusion/configs/t4dataset/default/schedulers/default_50e_8xb8_adamw_cosine.py b/projects/BEVFusion/configs/t4dataset/default/schedulers/default_50e_8xb8_adamw_cosine.py index 542ccdd8e..87571d0b3 100644 --- a/projects/BEVFusion/configs/t4dataset/default/schedulers/default_50e_8xb8_adamw_cosine.py +++ b/projects/BEVFusion/configs/t4dataset/default/schedulers/default_50e_8xb8_adamw_cosine.py @@ -73,4 +73,4 @@ # Only set if the number of train_gpu_size more than 1 if train_gpu_size > 1: - sync_bn = "torch" \ No newline at end of file + sync_bn = "torch" diff --git a/tools/detection3d/train.py b/tools/detection3d/train.py index 254783b92..f7e6309fb 100644 --- a/tools/detection3d/train.py +++ b/tools/detection3d/train.py @@ -123,8 +123,8 @@ def main(): # build customized runner from the registry # if 'runner_type' is set in the cfg runner = RUNNERS.build(cfg) - - # Output all model + + # Output all model print_log(f"Runner model: ", logger="current") print_log(f"{runner.model}", logger="current") From 73dd1c40c1100879b3a700fe5e82536019045cb0 Mon Sep 17 00:00:00 2001 From: Kok Seang Tan Date: Wed, 8 Apr 2026 19:05:59 +0900 Subject: [PATCH 11/13] Added --- .../bevfusion_lidar_voxel_second_secfpn_50e_8xb8_base_120m.py | 4 +++- .../configs/t4dataset/default/pipelines/default_lidar_120m.py | 2 +- projects/BEVFusion/setup.py | 2 +- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/projects/BEVFusion/configs/t4dataset/BEVFusion-L/bevfusion_lidar_voxel_second_secfpn_50e_8xb8_base_120m.py b/projects/BEVFusion/configs/t4dataset/BEVFusion-L/bevfusion_lidar_voxel_second_secfpn_50e_8xb8_base_120m.py index a5c72aef0..64bf2208a 100644 --- a/projects/BEVFusion/configs/t4dataset/BEVFusion-L/bevfusion_lidar_voxel_second_secfpn_50e_8xb8_base_120m.py +++ b/projects/BEVFusion/configs/t4dataset/BEVFusion-L/bevfusion_lidar_voxel_second_secfpn_50e_8xb8_base_120m.py @@ -13,7 +13,7 @@ # user setting data_root = "data/t4dataset/" -info_directory_path = "info/kokseang_2_6_1/" +info_directory_path = "info/kokseang_2_6_2/" experiment_group_name = "bevfusion_lidar_2.6.0/base/" + _base_.dataset_type experiment_name = "lidar_voxel_second_secfpn_50e_8xb8_base_120m" @@ -143,3 +143,5 @@ checkpoint=dict(type="CheckpointHook", interval=1, max_keep_ckpts=3, save_best="NuScenes metric/T4Metric/mAP"), ) log_processor = dict(window_size=50) + +resume = True \ No newline at end of file diff --git a/projects/BEVFusion/configs/t4dataset/default/pipelines/default_lidar_120m.py b/projects/BEVFusion/configs/t4dataset/default/pipelines/default_lidar_120m.py index e79c30710..a74ad2ea0 100644 --- a/projects/BEVFusion/configs/t4dataset/default/pipelines/default_lidar_120m.py +++ b/projects/BEVFusion/configs/t4dataset/default/pipelines/default_lidar_120m.py @@ -1,6 +1,6 @@ # Dataset parameters backend_args = None -num_workers = 32 +num_workers = 16 input_modality = dict(use_lidar=True, use_camera=False) # range setting diff --git a/projects/BEVFusion/setup.py b/projects/BEVFusion/setup.py index 837d1f53e..38f588b20 100644 --- a/projects/BEVFusion/setup.py +++ b/projects/BEVFusion/setup.py @@ -43,7 +43,7 @@ def make_cuda_ext(name, module, sources, sources_cuda=[], extra_args=[], extra_i name="bev_pool", install_requires=[ "onnx_graphsurgeon==0.5.8", - "spconv-cu120==2.3.6", + "spconv-cu126==2.3.8", ], ext_modules=[ make_cuda_ext( From 89e26700d614ab6abc92212ad69083c84019083f Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Wed, 8 Apr 2026 10:06:34 +0000 Subject: [PATCH 12/13] ci(pre-commit): autofix --- .../bevfusion_lidar_voxel_second_secfpn_50e_8xb8_base_120m.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/projects/BEVFusion/configs/t4dataset/BEVFusion-L/bevfusion_lidar_voxel_second_secfpn_50e_8xb8_base_120m.py b/projects/BEVFusion/configs/t4dataset/BEVFusion-L/bevfusion_lidar_voxel_second_secfpn_50e_8xb8_base_120m.py index 64bf2208a..0a2a178c6 100644 --- a/projects/BEVFusion/configs/t4dataset/BEVFusion-L/bevfusion_lidar_voxel_second_secfpn_50e_8xb8_base_120m.py +++ b/projects/BEVFusion/configs/t4dataset/BEVFusion-L/bevfusion_lidar_voxel_second_secfpn_50e_8xb8_base_120m.py @@ -144,4 +144,4 @@ ) log_processor = dict(window_size=50) -resume = True \ No newline at end of file +resume = True From 380d7aa0d4e85934bc2bdd3bd8e88f7746acd4d4 Mon Sep 17 00:00:00 2001 From: Kok Seang Tan Date: Fri, 10 Apr 2026 23:47:24 +0900 Subject: [PATCH 13/13] Added --- ...ion_lidar_voxel_second_secfpn_30e_8xb8_j6gen2_base_120m.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/projects/BEVFusion/configs/t4dataset/BEVFusion-L/bevfusion_lidar_voxel_second_secfpn_30e_8xb8_j6gen2_base_120m.py b/projects/BEVFusion/configs/t4dataset/BEVFusion-L/bevfusion_lidar_voxel_second_secfpn_30e_8xb8_j6gen2_base_120m.py index d984b5585..605e3cf7c 100644 --- a/projects/BEVFusion/configs/t4dataset/BEVFusion-L/bevfusion_lidar_voxel_second_secfpn_30e_8xb8_j6gen2_base_120m.py +++ b/projects/BEVFusion/configs/t4dataset/BEVFusion-L/bevfusion_lidar_voxel_second_secfpn_30e_8xb8_j6gen2_base_120m.py @@ -13,7 +13,7 @@ # user setting data_root = "data/t4dataset/" -info_directory_path = "info/kokseang_2_6_1/" +info_directory_path = "info/kokseang_2_6_2/" experiment_group_name = "bevfusion_lidar_intensity_2.6.1/j6gen2_base/" + _base_.dataset_type experiment_name = "lidar_voxel_second_secfpn_30e_8xb8_j6gen2_base_120m" @@ -144,4 +144,4 @@ ) log_processor = dict(window_size=50) -load_from = "work_dirs/bevfusion_lidar_2.6.0/base/T4Dataset/lidar_voxel_second_secfpn_50e_8xb8_base_120m/epoch_40.pth" +load_from = "work_dirs/bevfusion_lidar_2.6.0/base/T4Dataset/lidar_voxel_second_secfpn_50e_8xb8_base_120m/epoch_50.pth"