v1.0-trainval
이 아니라 v1.0-mini
인데 이를 v1.0-trainval
로 변경해야 한다└─ NUSCENES_DATASET_ROOT
├── samples <-- key frames
├── sweeps <-- frames without annotation
├── maps <-- unused
└── v1.0-trainval <-- metadata
# python tools/create_data.py nuscenes_data_prep --root_path=NUSCENES_TRAINVAL_DATASET_ROOT --version="v1.0-trainval" --nsweeps=10
예시)
# python tools/create_data.py nuscenes_data_prep --root_path=/workspace/data/nuScenes/ --version="v1.0-trainval" --nsweeps=10
!pip install "opencv-python-headless<4.3"
--nproc_per_node
: 자신의 코어 수에 맞게 설정한다CONFIG_PATH
: 실행시킬 모델의 경로# python -m torch.distributed.launch --nproc_per_node=1 ./tools/train.py CONFIG_PATH
예시)
# python -m torch.distributed.launch --nproc_per_node=1 ./tools/train.py configs/nusc/voxelnet/nusc_centerpoint_voxelnet_0075voxel_fix_bn_z.py
total_epochs
변수 값을 변경해주면 된다resume_from
변수에 원하는 pretrained weight(.pth) 경로를 넣어준다if (self.epoch + 1) % 5 == 0:
부분을 추가하였다 -> 적용되지 않았따OSError: /usr/local/mpi/lib/libmpi.so.40: undefined symbol: opal_hwloc201_hwloc_get_type_depth
export LD_LIBRARY_PATH=/opt/hpcx/ompi/lib:$LD_LIBRARY_PATH
RuntimeError: CUDA error: invalid device ordinal
nvidia-smi
로 GPU를 확인해보니 1개였다--nproc_per_node=4
이렇게 설정하니 GPU가 1개인데 4개를 사용한다고 해서 에러가 발생했다nvidia-smi
Unexpected bus error encountered in worker. This might be caused by insufficient shared memory (shm).
--ipc
설정을 해줘야한다container -> image 생성
이미지 생성 docker commit [container명] [image명]
$ docker commit laughing_shirley center_point_image
이미지 생성 확인
$ docker images
container 생성
$ docker run -it --ipc=host --gpus all -v [host 경로]:[container 경로] -p 8888:8888 --name [container명] [image명] /bin/bash
예시)
$ docker run -it --ipc=host --gpus all -v /home/ubuntu/nahye_torch/:/workspace/center_point -v /home/ubuntu/nuScenes_data/:/workspace/data -p 8888:8888 --name "nahye" nvcr.io/nvidia/pytorch:21.12-py3 /bin/bash
--work_dir
: 결과를 저장하고 싶은 폴더 경로--checkpoint
: 모델 학습 결과 weight 파일 경로# python -m torch.distributed.launch --nproc_per_node=1 ./tools/dist_test.py CONFIG_PATH --work_dir work_dirs/CONFIG_NAME --checkpoint work_dirs/CONFIG_NAME/latest.pth
또는
#python ./tools/dist_test.py CONFIG_PATH --work_dir work_dirs/CONFIG_NAME --checkpoint work_dirs/CONFIG_NAME/latest.pth --speed_test
예시)
# python ./tools/dist_test.py configs/nusc/voxelnet/nusc_centerpoint_voxelnet_0075voxel_fix_bn_z.py --work_dir work_dirs/nusc_centerpoint_voxelnet_0075voxel_fix_bn_z/ --checkpoint work_dirs/nusc_centerpoint_voxelnet_0075voxel_fix_bn_z/latest.pth --speed_test
--work_dir
: 결과를 저장하고 싶은 폴더 경로--checkpoint
: 학습 결과 나온 ~filter_True.json 파일 경로# python tools/nusc_tracking/pub_test.py --work_dir WORK_DIR_PATH --checkpoint DETECTION_PATH
예시)
# python tools/nusc_tracking/pub_test.py --work_dir work_dirs/tracking_result/ --checkpoint work_dirs/nusc_centerpoint_voxelnet_0075voxel_fix_bn_z/infos_val_10sweeps_withvelo_filter_True.json