NVIDIA / semantic-segmentation

Nvidia Semantic Segmentation monorepo
BSD 3-Clause "New" or "Revised" License
1.76k stars 388 forks source link

Only half of the test images can be run via 'python -m runx.runx scripts/dump_folder.yml'. #122

Open daixiaolei623 opened 3 years ago

daixiaolei623 commented 3 years ago

Thank you for your sharing. But Only half of the test images can be run via 'python -m runx.runx scripts/dump_folder.yml'. In addition, when it run the cityscapes testing images, it only got mIoU about 84.6, not the 85.4 like your submitting on the cityscapes benchmark. Could please tell me what the problem is? thank you very much.

ajtao commented 3 years ago

it only got mIoU about 84.6 -- Is 84.6 your validation score or are you saying that you submitted to Cityscapes server and got this test score?

I don't know what the half test images problem is, are you running dump_folder.yml on your own images?

veer5551 commented 3 years ago

Hi @ajtao ,

I am trying to run inference on my own images using this command python -m runx.runx scripts/dump_folder.yml -i

Below is the output:

(nvidia_hrnet) C:\Workspace\msjmf59\VirtualEnvironments\nvidia_hrnet\semantic-segmentation>python -m runx.runx scripts/dump_folder.yml -i -n
cd logs\dump_folder\piquant-gazelle_2021.02.26_17.42/code; PYTHONPATH=logs\dump_folder\piquant-gazelle_2021.02.26_17.42/code exec python -m torch.distributed.launch --nproc_per_node=1 train.py --dataset cityscapes --cv 0 --syncbn --apex --fp16 --bs_val 1 --eval folder --eval_folder ./imgs/test_imgs --dump_assets --dump_all_images --n_scales 0.5,1.0,2.0 --snapshot ASSETS_PATH/seg_weights/cityscapes_ocrnet.HRNet_Mscale_outstanding-turtle.pth --arch ocrnet.HRNet_Mscale --result_dir logs\dump_folder\piquant-gazelle_2021.02.26_17.42

(nvidia_hrnet) C:\Workspace\msjmf59\VirtualEnvironments\nvidia_hrnet\semantic-segmentation>python -m runx.runx scripts/dump_folder.yml -i
Copying codebase to logs\dump_folder\neat-skink_2021.02.26_17.42 ...
Traceback (most recent call last):
  File "C:\Python37\lib\runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "C:\Python37\lib\runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "C:\Workspace\msjmf59\VirtualEnvironments\nvidia_hrnet\lib\site-packages\runx\runx.py", line 394, in <module>
    main()
  File "C:\Workspace\msjmf59\VirtualEnvironments\nvidia_hrnet\lib\site-packages\runx\runx.py", line 387, in main
    run_experiment(args.exp_yml)
  File "C:\Workspace\msjmf59\VirtualEnvironments\nvidia_hrnet\lib\site-packages\runx\runx.py", line 380, in run_experiment
    run_yaml(experiment_copy, runroot)
  File "C:\Workspace\msjmf59\VirtualEnvironments\nvidia_hrnet\lib\site-packages\runx\runx.py", line 346, in run_yaml
    subprocess.call(['chmod', '-R', 'a+rw', expdir])
  File "C:\Python37\lib\subprocess.py", line 339, in call
    with Popen(*popenargs, **kwargs) as p:
  File "C:\Python37\lib\subprocess.py", line 800, in __init__
    restore_signals, start_new_session)
  File "C:\Python37\lib\subprocess.py", line 1207, in _execute_child
    startupinfo)
FileNotFoundError: [WinError 2] The system cannot find the file specified

Have updated the weights folder in config.py as well. Not sure what am I missing here.

Thanks in advance!

ajtao commented 3 years ago

It's telling you that it can't create the experiment directory. The experiment directory is created under LOGROOT, defined in your .runx file. You should have created a .runx file. Most likely either your LOGROOT isn't defined or it's pointing to a location that doesn't exist.