dingmyu / HR-NAS

HR-NAS: Searching Efficient High-Resolution Neural Architectures with Lightweight Transformers (CVPR21 Oral)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

No retrain.yml for segmentation tasks

bachml opened this issue · comments

Hi,

There is no retrain.yml available in the configs folder. I am wondering how to retrain the searched models for cityscapes.

Also, when I train the search model with the seg_cityscapes.yml, there will be an issue comes up when evaluating the model:

Traceback (most recent call last):
File "train.py", line 655, in
main()
File "train.py", line 651, in main
train_val_test()
File "train.py", line 507, in train_val_test
get_prune_weights(model_eval_wrapper), prune_threshold) # get mask for all bn weights (depth-wise)
File "/mnt/lustre/zengguohang/HR-NAS/utils/prune.py", line 274, in cal_mask_network_slimming_by_threshold
weights = torch.cat(bn_weights_abs)
RuntimeError: There were no tensor arguments to this function (e.g., you passed an empty list of Tensors), but no fallback function is registered for schema aten::_cat. This usually means that this function requires a non-empty list of Tensors. Available functions are [CPU, CUDA, QuantizedCPU, BackendSelect, Named, AutogradOther, AutogradCPU, AutogradCUDA, AutogradXLA, AutogradNestedTensor, UNKNOWN_TENSOR_TYPE_ID, AutogradPrivateUse1, AutogradPrivateUse2, AutogradPrivateUse3, Tracer, Autocast, Batched, VmapMode]

Hi,

  1. The searched segmentation model can be directly used for inference. Retraining the model provides almost no gains. You can still try retraining by using the searched network parameters and setting:
    bn_prune_filter: ~,
    rho: 0.0, 
    
  2. It seems that the weights for pruning are not collected. Did you use the default setting for training? Can the model be trained but not evaluated?

Regards,
Mingyu