Cannot find pseudo label for frame
See original GitHub issueI am getting an error when running train.py
, it seems to have something to do with PSEUDO_LABEL
not being updated. The Traceback repeats for multiple frames, not just 002080
as seen below. I’ve also put the full output on this gist, in case the information below is not enough. Am I missing something? Thanks for any help!
Commands Run
$ NUM_GPUS=8
$ CONFIG_FILE=cfgs/da-waymo-kitti_models/pvrcnn_st3d/pvrcnn_st3d.yaml
$ bash scripts/dist_train.sh ${NUM_GPUS} --cfg_file ${CONFIG_FILE}
Error
[2021-07-21 15:05:09,022 train.py 168 INFO] **********************Start training da-waymo-kitti_models/pvrcnn_st3d/pvrcnn_st3d(default)**********************
generate_ps_e0: 100%|████████████████████| 232/232 [03:14<00:00, 1.19it/s, pos_ps_box=0.000(0.000), ign_ps_box=15.000(14.899)]
Traceback (most recent call last):
File "train.py", line 199, in <module>
main()
File "train.py", line 191, in main
ema_model=None
File "/home/user5/open-mmlab/ST3D/tools/train_utils/train_st_utils.py", line 157, in train_model_st
dataloader_iter=dataloader_iter, ema_model=ema_model
File "/home/user5/open-mmlab/ST3D/tools/train_utils/train_st_utils.py", line 42, in train_one_epoch_st
target_batch = next(dataloader_iter)
File "/home/user5/anaconda3/envs/st3d7/lib/python3.7/site-packages/torch/utils/data/dataloader.py", line 582, in __next__
return self._process_next_batch(batch)
File "/home/user5/anaconda3/envs/st3d7/lib/python3.7/site-packages/torch/utils/data/dataloader.py", line 608, in _process_next_batch
raise batch.exc_type(batch.exc_msg)
ValueError: Traceback (most recent call last):
File "/home/user5/anaconda3/envs/st3d7/lib/python3.7/site-packages/torch/utils/data/_utils/worker.py", line 99, in _worker_loop
samples = collate_fn([dataset[i] for i in batch_indices])
File "/home/user5/anaconda3/envs/st3d7/lib/python3.7/site-packages/torch/utils/data/_utils/worker.py", line 99, in <listcomp>
samples = collate_fn([dataset[i] for i in batch_indices])
File "/home/user5/open-mmlab/ST3D/tools/../pcdet/datasets/kitti/kitti_dataset.py", line 413, in __getitem__
self.fill_pseudo_labels(input_dict)
File "/home/user5/open-mmlab/ST3D/tools/../pcdet/datasets/dataset.py", line 146, in fill_pseudo_labels
gt_boxes = self_training_utils.load_ps_label(input_dict['frame_id'])
File "/home/user5/open-mmlab/ST3D/tools/../pcdet/utils/self_training_utils.py", line 221, in load_ps_label
raise ValueError('Cannot find pseudo label for frame: %s' % frame_id)
ValueError: Cannot find pseudo label for frame: 002080
epochs: 0%| | 0/30 [04:05<?, ?it/s]
Environment
Python 3.7 CUDA 10.0 PyTorch 1.1 spconv 1.0 (commit 8da6f96) pcdet 0.2.0+73dda8c
Issue Analytics
- State:
- Created 2 years ago
- Comments:17 (6 by maintainers)
Top Results From Across the Web
simba/pseudoLabel.md at master - GitHub
In the sub-menu titled Pseudo Labelling , there is a entry-box called Frame folder . · Beneath the Frame folder entry-box, there is...
Read more >Tkinter Label won't appear inside Frame [duplicate]
I have two frames: big_frame and small_frame . small_frame is inside of big_frame , and I want to place a label inside of...
Read more >Meta Pseudo Labels - YouTube
This video explains Meta Pseudo Labels ! This is a really interesting algorithm for dynamically adapting the ground truth targets (y) while ...
Read more >CLIP-FLOW: CONTRASTIVE LEARNING WITH ITERATIVE ...
The paper introduces a semi-supervised optical flow approach based on an iterative pseudo-labeling scheme. Given a pre-trained model (e.g., trained on synthetic ...
Read more >[2211.06007] Continuous Soft Pseudo-Labeling in ASR - arXiv
Surprisingly and unexpectedly, we find that soft-labels targets can ... the model collapsing to a degenerate token distribution per frame.
Read more >Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start FreeTop Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
Top GitHub Comments
@Liz66666 I followed @AndyYuan96’s advice on using
Manager().dict()
forPSEUDO_LABEL
inself_training_utils.py
.Actually before doing this, I managed to run the training by adding the
pkl.load
code fromcheck_already_exsit_pseudo_label
toload_ps_label
, but changed to the above solution and reran the training as it should be better.use one gpu to train is normal, for 8 gpus, you need to change the code, use multiprocessing library, use Manager().dict() to replace dict(), and then carefully change the pseudo label save and load code.