Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Bug] nuscenes create_dataset FileNotFoundError #3068

Open
3 tasks done
1ofoo opened this issue Dec 16, 2024 · 0 comments
Open
3 tasks done

[Bug] nuscenes create_dataset FileNotFoundError #3068

1ofoo opened this issue Dec 16, 2024 · 0 comments

Comments

@1ofoo
Copy link

1ofoo commented Dec 16, 2024

Prerequisite

Task

I'm using the official example scripts/configs for the officially supported tasks/models/datasets.

Branch

main branch https://github.com/open-mmlab/mmdetection3d

Environment

sys.platform: linux
Python: 3.11.11 (main, Dec 4 2024, 08:55:08) [GCC 9.4.0]
CUDA available: True
MUSA available: False
numpy_random_seed: 2147483648
GPU 0: NVIDIA A100 80GB PCIe
CUDA_HOME: /usr/local/cuda
NVCC: Cuda compilation tools, release 11.8, V11.8.89
GCC: x86_64-linux-gnu-gcc (Ubuntu 9.4.0-1ubuntu1~20.04.1) 9.4.0
PyTorch: 2.1.2+cu121
PyTorch compiling details: PyTorch built with:

  • GCC 9.3
  • C++ Version: 201703
  • Intel(R) oneAPI Math Kernel Library Version 2022.2-Product Build 20220804 for Intel(R) 64 architecture applications
  • Intel(R) MKL-DNN v3.1.1 (Git Hash 64f6bcbcbab628e96f33a62c3e975f8535a7bde4)
  • OpenMP 201511 (a.k.a. OpenMP 4.5)
  • LAPACK is enabled (usually provided by MKL)
  • NNPACK is enabled
  • CPU capability usage: AVX2
  • CUDA Runtime 12.1
  • NVCC architecture flags: -gencode;arch=compute_50,code=sm_50;-gencode;arch=compute_60,code=sm_60;-gencode;arch=compute_70,code=sm_70;-gencode;arch=compute_75,code=sm_75;-gencode;arch=compute_80,code=sm_80;-gencode;arch=compute_86,code=sm_86;-gencode;arch=compute_90,code=sm_90
  • CuDNN 8.9.2
  • Magma 2.6.1
  • Build settings: BLAS_INFO=mkl, BUILD_TYPE=Release, CUDA_VERSION=12.1, CUDNN_VERSION=8.9.2, CXX_COMPILER=/opt/rh/devtoolset-9/root/usr/bin/c++, CXX_FLAGS= -D_GLIBCXX_USE_CXX11_ABI=0 -fabi-version=11 -fvisibility-inlines-hidden -DUSE_PTHREADPOOL -DNDEBUG -DUSE_KINETO -DLIBKINETO_NOROCTRACER -DUSE_FBGEMM -DUSE_QNNPACK -DUSE_PYTORCH_QNNPACK -DUSE_XNNPACK -DSYMBOLICATE_MOBILE_DEBUG_HANDLE -O2 -fPIC -Wall -Wextra -Werror=return-type -Werror=non-virtual-dtor -Werror=bool-operation -Wnarrowing -Wno-missing-field-initializers -Wno-type-limits -Wno-array-bounds -Wno-unknown-pragmas -Wno-unused-parameter -Wno-unused-function -Wno-unused-result -Wno-strict-overflow -Wno-strict-aliasing -Wno-stringop-overflow -Wno-psabi -Wno-error=pedantic -Wno-error=old-style-cast -Wno-invalid-partial-specialization -Wno-unused-private-field -Wno-aligned-allocation-unavailable -Wno-missing-braces -fdiagnostics-color=always -faligned-new -Wno-unused-but-set-variable -Wno-maybe-uninitialized -fno-math-errno -fno-trapping-math -Werror=format -Werror=cast-function-type -Wno-stringop-overflow, LAPACK_INFO=mkl, PERF_WITH_AVX=1, PERF_WITH_AVX2=1, PERF_WITH_AVX512=1, TORCH_DISABLE_GPU_ASSERTS=ON, TORCH_VERSION=2.1.2, USE_CUDA=ON, USE_CUDNN=ON, USE_EXCEPTION_PTR=1, USE_GFLAGS=OFF, USE_GLOG=OFF, USE_MKL=ON, USE_MKLDNN=ON, USE_MPI=OFF, USE_NCCL=1, USE_NNPACK=ON, USE_OPENMP=ON, USE_ROCM=OFF,

TorchVision: 0.16.2+cu121
OpenCV: 4.10.0
MMEngine: 0.10.5
MMDetection: 3.3.0
MMDetection3D: 1.4.0+58c86eb
spconv2.0: False

Reproduces the problem - code sample

When I run the following command to execute create_data for NuScenes, an error occurs:
python tools/create_data.py nuscenes --root-path=./path/to/nuscenes --out-dir=./path/to/infos --extra-tag=nuscenes

Reproduces the problem - command or script

Ditto

Reproduces the problem - error message

path/to/infos/nuscenes_infos_train.pkl will be modified.
Warning, you may overwriting the original data path/to/infos/nuscenes_infos_train.pkl.
Reading from input file: path/to/infos/nuscenes_infos_train.pkl.
Traceback (most recent call last):
File "/work/mmdetection3d/tools/create_data.py", line 345, in
nuscenes_data_prep(
File "/work/mmdetection3d/tools/create_data.py", line 86, in nuscenes_data_prep
update_pkl_infos('nuscenes', out_dir=out_dir, pkl_path=info_train_path)
File "/work/mmdetection3d/tools/dataset_converters/update_infos_to_v2.py", line 1148, in update_pkl_infos
update_nuscenes_infos(pkl_path=pkl_path, out_dir=out_dir)
File "/work/mmdetection3d/tools/dataset_converters/update_infos_to_v2.py", line 263, in update_nuscenes_infos
data_list = mmengine.load(pkl_path)
^^^^^^^^^^^^^^^^^^^^^^^
File "/work/.venv/lib/python3.11/site-packages/mmengine/fileio/io.py", line 855, in load
with BytesIO(file_backend.get(file)) as f:
^^^^^^^^^^^^^^^^^^^^^^
File "/work/.venv/lib/python3.11/site-packages/mmengine/fileio/backends/local_backend.py", line 33, in get
with open(filepath, 'rb') as f:
^^^^^^^^^^^^^^^^^^^^
FileNotFoundError: [Errno 2] No such file or directory: 'path/to/infos/nuscenes_infos_train.pkl'

Additional information

Cause: In the following code, the program attempts to load the .pkl files from directly under args.out_dir, but these .pkl files are actually generated under args.root_path. As a result, an error occurs because the .pkl files cannot be found.

info_path = osp.join(root_path,
'{}_infos_train.pkl'.format(info_prefix))
mmengine.dump(data, info_path)
data['infos'] = val_nusc_infos
info_val_path = osp.join(root_path,
'{}_infos_val.pkl'.format(info_prefix))
mmengine.dump(data, info_val_path)

Solution: Pass args.out_dir as an argument to def create_nuscenes_infos to ensure consistency in the save location.

@1ofoo 1ofoo changed the title [Bug] create_dataset nuscenes [Bug] nuscenes create_dataset FileNotFoundError Dec 16, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant