I was wondering if I could get help from you regarding this inquiry. Please let me know if you may have any followup questions:
My synthetic dataset made with BlenderProc following lm and BOP format, has a test folder and each of the folders inside the test folder looks like below:
gdrnpp_bop2022/datasets/BOP_DATASETS/mona/test/000000$ ls
total 8.5M
drwxrwxr-x 23 mona mona 4.0K Feb 6 08:47 ..
drwxrwxr-x 2 mona mona 36K Feb 6 08:48 depth
drwxrwxr-x 2 mona mona 40K Feb 6 08:49 mask
drwxrwxr-x 2 mona mona 36K Feb 6 08:49 mask_visib
drwxrwxr-x 2 mona mona 36K Feb 6 10:13 rgb
drwxrwxr-x 6 mona mona 4.0K Feb 7 10:20 .
-rw-rw-r-- 1 mona mona 8.3M Feb 6 08:43 scene_gt_coco.json
-rw-rw-r-- 1 mona mona 6.5K Feb 6 08:51 scene_gt_info.json
-rw-rw-r-- 1 mona mona 15K Feb 6 08:51 scene_camera.json
-rw-rw-r-- 1 mona mona 11K Feb 6 08:52 scene_gt.json
gdrnpp_bop2022/datasets/BOP_DATASETS/mona/test$ ls
total 92K
drwxrwxr-x 6 mona mona 4.0K Feb 6 08:43 000001
drwxrwxr-x 6 mona mona 4.0K Feb 6 08:43 000002
drwxrwxr-x 6 mona mona 4.0K Feb 6 08:43 000003
drwxrwxr-x 6 mona mona 4.0K Feb 6 08:43 000004
drwxrwxr-x 6 mona mona 4.0K Feb 6 08:43 000005
drwxrwxr-x 6 mona mona 4.0K Feb 6 08:43 000006
drwxrwxr-x 6 mona mona 4.0K Feb 6 08:43 000007
drwxrwxr-x 6 mona mona 4.0K Feb 6 08:43 000008
drwxrwxr-x 6 mona mona 4.0K Feb 6 08:43 000009
drwxrwxr-x 6 mona mona 4.0K Feb 6 08:43 000010
drwxrwxr-x 6 mona mona 4.0K Feb 6 08:43 000011
drwxrwxr-x 6 mona mona 4.0K Feb 6 08:43 000012
drwxrwxr-x 6 mona mona 4.0K Feb 6 08:43 000013
drwxrwxr-x 6 mona mona 4.0K Feb 6 08:43 000014
drwxrwxr-x 6 mona mona 4.0K Feb 6 08:43 000015
drwxrwxr-x 6 mona mona 4.0K Feb 6 08:43 000016
drwxrwxr-x 6 mona mona 4.0K Feb 6 08:43 000017
drwxrwxr-x 6 mona mona 4.0K Feb 6 08:43 000018
drwxrwxr-x 6 mona mona 4.0K Feb 6 08:43 000019
drwxrwxr-x 6 mona mona 4.0K Feb 6 08:43 000020
drwxrwxr-x 23 mona mona 4.0K Feb 6 08:47 .
drwxrwxr-x 6 mona mona 4.0K Feb 6 09:41 ..
Here, let's assume my object is named mona.
What script should I use to create the yolox_mona_test_bop.json file that would combine all the scene_gt_coco.json files inside each subfolder and converts it to the needed format?
When I perform training using my synthetic data, I get this error:
20240207_090508|core.utils.my_writer@198: eta: 0:00:04 epoch: 1 iter: 999/1005[99.4%] time: 0.8545 lr: 0.0007992 max_mem: 25739M total_loss: 21.54 (36.28) loss_coor_x: 0.2556 (0.2636) loss_coor_y: 0.264 (0.2709) loss_coor_z: 0.1435 (0.2086) loss_mask: 0.1077 (0.1372) loss_mask_full: 0.09742 (0.1298) loss_region: 19.12 (20.23) loss_PM_R: 0.9215 (0.9231) loss_centroid: 0.06136 (0.1017) loss_z: 0.4276 (14.02)
epoch_str: epoch: 1
20240207_090513|core.utils.my_writer@198: eta: 0:00:00 epoch: 1 iter: 1004/1005[99.9%] time: 0.8545 lr: 2.4927e-08 max_mem: 25739M total_loss: 21.54 (36.21) loss_coor_x: 0.2558 (0.2636) loss_coor_y: 0.264 (0.2708) loss_coor_z: 0.1435 (0.2082) loss_mask: 0.1091 (0.1371) loss_mask_full: 0.09805 (0.1297) loss_region: 19.12 (20.23) loss_PM_R: 0.9212 (0.9231) loss_centroid: 0.05485 (0.1014) loss_z: 0.4365 (13.95)
20240207_090513|fvcore.common.checkpoint@124: Saving checkpoint to output/gdrn/mona/classAware_mona/model_final.pth
20240207_090517|core.gdrn_modeling.datasets.mona@99: load cached dataset dicts from /home/mona/gdrnpp_bop2022/.cache/dataset_dicts_mona_test_d6a3796e790d48944a3628d1133d1155.pkl
20240207_090517|core.utils.dataset_utils@166: Loading detections for mona_test from: datasets/BOP_DATASETS/mona/yolox_mona_test_bop.json
20240207_090517|ERR|__main__@233: An error has been caught in function '<module>', process 'MainProcess' (803470), thread 'MainThread' (139772596868928):
Traceback (most recent call last):
> File "/home/mona/gdrnpp_bop2022/./core/gdrn_modeling/main_gdrn.py", line 233, in <module>
main(args)
│ └ Namespace(config_file='configs/gdrn/mona/convnext_a6_AugCosyAAEGray_BG05_mlL1_DMask_amodalClipBox_classAware_mona.py', re...
└ <function main at 0x7f1dbfc888b0>
File "/home/mona/gdrnpp_bop2022/./core/gdrn_modeling/main_gdrn.py", line 199, in main
Lite(
└ <class '__main__.Lite'>
File "/home/mona/anaconda3/envs/gdrnpp/lib/python3.9/site-packages/pytorch_lightning/lite/lite.py", line 408, in _run_impl
return run_method(*args, **kwargs)
│ │ └ {}
│ └ (Namespace(config_file='configs/gdrn/mona/convnext_a6_AugCosyAAEGray_BG05_mlL1_DMask_amodalClipBox_classAware_mona.py', r...
└ functools.partial(<bound method LightningLite._run_with_strategy_setup of <__main__.Lite object at 0x7f1f57bc3730>>, <bound m...
File "/home/mona/anaconda3/envs/gdrnpp/lib/python3.9/site-packages/pytorch_lightning/lite/lite.py", line 413, in _run_with_strategy_setup
return run_method(*args, **kwargs)
│ │ └ {}
│ └ (Namespace(config_file='configs/gdrn/mona/convnext_a6_AugCosyAAEGray_BG05_mlL1_DMask_amodalClipBox_classAware_mona.py', r...
└ <bound method Lite.run of <__main__.Lite object at 0x7f1f57bc3730>>
File "/home/mona/gdrnpp_bop2022/./core/gdrn_modeling/main_gdrn.py", line 189, in run
return self.do_test(cfg, model)
│ │ │ └ _LiteModule(
│ │ │ (_module): GDRN_DoubleMask(
│ │ │ (backbone): FeatureListNet(
│ │ │ (stem_0): Conv2d(3, 128, kernel_size=(4, 4),...
│ │ └ Config (path: configs/gdrn/mona/convnext_a6_AugCosyAAEGray_BG05_mlL1_DMask_amodalClipBox_classAware_mona.py): {'OUTPUT_RO...
│ └ <function GDRN_Lite.do_test at 0x7f1dc752fe50>
└ <__main__.Lite object at 0x7f1f57bc3730>
File "/home/mona/gdrnpp_bop2022/core/gdrn_modeling/../../core/gdrn_modeling/engine/engine.py", line 157, in do_test
data_loader = build_gdrn_test_loader(cfg, dataset_name, train_objs=evaluator.train_objs)
│ │ │ │ └ ['mona']
│ │ │ └ <core.gdrn_modeling.engine.gdrn_evaluator.GDRN_Evaluator object at 0x7f1e1d221d00>
│ │ └ 'mona_test'
│ └ Config (path: configs/gdrn/mona/convnext_a6_AugCosyAAEGray_BG05_mlL1_DMask_amodalClipBox_classAware_mona.py): {'OUTPUT_RO...
└ <function build_gdrn_test_loader at 0x7f1dc756e280>
File "/home/mona/gdrnpp_bop2022/core/gdrn_modeling/../../core/gdrn_modeling/datasets/data_loader.py", line 926, in build_gdrn_test_loader
dataset_dicts = load_detections_into_dataset(
└ <function load_detections_into_dataset at 0x7f1dc755c160>
File "/home/mona/gdrnpp_bop2022/core/gdrn_modeling/../../core/utils/dataset_utils.py", line 167, in load_detections_into_dataset
detections = mmcv.load(det_file)
│ │ └ 'datasets/BOP_DATASETS/mona/yolox_mona_test_bop.json'
│ └ <function load at 0x7f1e38c5c5e0>
└ <module 'mmcv' from '/home/mona/anaconda3/envs/gdrnpp/lib/python3.9/site-packages/mmcv/__init__.py'>
File "/home/mona/anaconda3/envs/gdrnpp/lib/python3.9/site-packages/mmcv/fileio/io.py", line 64, in load
with StringIO(file_client.get_text(file)) as f:
│ │ │ └ 'datasets/BOP_DATASETS/mona/yolox_mona_test_bop.json'
│ │ └ <function FileClient.get_text at 0x7f1e38c4b5e0>
│ └ <mmcv.fileio.file_client.FileClient object at 0x7f1dbfc39100>
└ <class '_io.StringIO'>
File "/home/mona/anaconda3/envs/gdrnpp/lib/python3.9/site-packages/mmcv/fileio/file_client.py", line 1030, in get_text
return self.client.get_text(filepath, encoding)
│ │ │ │ └ 'utf-8'
│ │ │ └ 'datasets/BOP_DATASETS/mona/yolox_mona_test_bop.json'
│ │ └ <function HardDiskBackend.get_text at 0x7f1e38c468b0>
│ └ <mmcv.fileio.file_client.HardDiskBackend object at 0x7f1dbfc393a0>
└ <mmcv.fileio.file_client.FileClient object at 0x7f1dbfc39100>
File "/home/mona/anaconda3/envs/gdrnpp/lib/python3.9/site-packages/mmcv/fileio/file_client.py", line 555, in get_text
with open(filepath, encoding=encoding) as f:
│ └ 'utf-8'
└ 'datasets/BOP_DATASETS/mona/yolox_mona_test_bop.json'
FileNotFoundError: [Errno 2] No such file or directory: 'datasets/BOP_DATASETS/mona/yolox_mona_test_bop.json'
When I run the following:
(gdrnpp) mona@ada:~/gdrnpp_bop2022$ python core/gdrn_modeling/tools/tudl/convert_det_to_our_format.py
/home/mona/anaconda3/envs/gdrnpp/lib/python3.9/site-packages/mmcv/__init__.py:20: UserWarning: On January 1, 2023, MMCV will release v2.0.0, in which it will remove components related to the training process and add a data transformation module. In addition, it will rename the package names mmcv to mmcv-lite and mmcv-full to mmcv. See https://github.com/open-mmlab/mmcv/blob/master/docs/en/compatibility.md for more details.
warnings.warn(
Traceback (most recent call last):
File "/home/mona/gdrnpp_bop2022/core/gdrn_modeling/tools/tudl/convert_det_to_our_format.py", line 11, in <module>
ds = mmcv.load(path)
File "/home/mona/anaconda3/envs/gdrnpp/lib/python3.9/site-packages/mmcv/fileio/io.py", line 64, in load
with StringIO(file_client.get_text(file)) as f:
File "/home/mona/anaconda3/envs/gdrnpp/lib/python3.9/site-packages/mmcv/fileio/file_client.py", line 1030, in get_text
return self.client.get_text(filepath, encoding)
File "/home/mona/anaconda3/envs/gdrnpp/lib/python3.9/site-packages/mmcv/fileio/file_client.py", line 555, in get_text
with open(filepath, encoding=encoding) as f:
FileNotFoundError: [Errno 2] No such file or directory: './output/yolox/bop_pbr/yolox_x_640_augCozyAAEhsv_ranger_30_epochs_mona_bop_test/inference/mona_test/coco_instances_results_bop.json'
(gdrnpp) mona@ada:~/gdrnpp_bop2022$ rg coco_instances_results_bop.json
det/yolox/evaluators/yolox_coco_evaluator.py
372: file_path = os.path.join(self._output_dir, "coco_instances_results_bop.json")
core/gdrn_modeling/tools/tudl/convert_det_to_our_format.py
9:path = "./output/yolox/bop_pbr/yolox_x_640_augCozyAAEhsv_ranger_30_epochs_mona_bop_test/inference/mona_test/coco_instances_results_bop.json"
I am not sure how det/yolox/evaluators/yolox_coco_evaluator.py should be leveraged for this purpose.
I was wondering if I could get help from you regarding this inquiry. Please let me know if you may have any followup questions:
My synthetic dataset made with BlenderProc following lm and BOP format, has a test folder and each of the folders inside the test folder looks like below:
Here, let's assume my object is named
mona
. What script should I use to create theyolox_mona_test_bop.json
file that would combine all thescene_gt_coco.json
files inside each subfolder and converts it to the needed format?When I perform training using my synthetic data, I get this error:
./core/gdrn_modeling/train_gdrn.sh configs/gdrn/mona/convnext_a6_AugCosyAAEGray_BG05_mlL1_DMask_amodalClipBox_classAware_mona.py 0
When I run the following:
I am not sure how
det/yolox/evaluators/yolox_coco_evaluator.py
should be leveraged for this purpose.https://github.com/shanice-l/gdrnpp_bop2022/issues/113
This is how the dataset looks like:
an example of a folder from train folder: