# Summary of commands - uncomment one and run this script #### Manual Download: It is expected that the dataset is manually downloaded and kept in the folder specified agaianst the --data_path option. ## ===================================================================================== # Models Supported: ## ===================================================================================== # deeplabv3lite_mobilenetv2_tv: deeplabv3lite decoder # fpnlite_pixel2pixel_aspp_mobilenetv2_tv: fpn decoder # unetlite_pixel2pixel_aspp_mobilenetv2_tv: unet decoder # deeplabv3lite_mobilenetv2_tv_fd: low complexity model with fast downsampling strategy # fpnlite_pixel2pixel_aspp_mobilenetv2_tv_fd: low complexity model with fast downsampling strategy # unetlite_pixel2pixel_aspp_mobilenetv2_tv_fd: low complexity model with fast downsampling strategy # # deeplabv3lite_resnet50: uses resnet50 encoder # deeplabv3lite_resnet50_p5: low complexity model - uses resnet50 encoder with half the number of channels (1/4 the complexity). # note this need specially trained resnet50 pretrained weights # fpnlite_pixel2pixel_aspp_resnet50_fd: low complexity model - with fast downsampling strategy # unetlite_pixel2pixel_aspp_regnetx800mf: uses regnetx800mf encoder and group_width according to that (even in the decoder) # fpnlite_pixel2pixel_aspp_regnetx800mf: uses regnetx800mf encoder and group_width according to that (even in the decoder) # deeplabv3lite_regnetx800mf: uses regnetx800mf encoder and group_width according to that (even in the decoder) ## ===================================================================================== ## Training ## ===================================================================================== #MobileNetV2 based Models #------------------------ #### Cityscapes Semantic Segmentation - Training with MobileNetV2+DeeplabV3Lite #python ./scripts/train_segmentation_main.py --dataset_name cityscapes_segmentation --model_name deeplabv3lite_mobilenetv2_tv \ #--data_path ./data/datasets/cityscapes/data --img_resize 384 768 --output_size 1024 2048 --gpus 0 1 \ #--pretrained https://download.pytorch.org/models/mobilenet_v2-b0353104.pth #### Cityscapes Semantic Segmentation - Training with MobileNetV2+FPNLite #python ./scripts/train_segmentation_main.py --dataset_name cityscapes_segmentation --model_name fpnlite_pixel2pixel_aspp_mobilenetv2_tv \ #--data_path ./data/datasets/cityscapes/data --img_resize 384 768 --output_size 1024 2048 --gpus 0 1 \ #--pretrained https://download.pytorch.org/models/mobilenet_v2-b0353104.pth #### Cityscapes Semantic Segmentation - Training with MobileNetV2+UNetLite #python ./scripts/train_segmentation_main.py --dataset_name cityscapes_segmentation --model_name unetlite_pixel2pixel_aspp_mobilenetv2_tv \ #--data_path ./data/datasets/cityscapes/data --img_resize 384 768 --output_size 1024 2048 --gpus 0 1 \ #--pretrained https://download.pytorch.org/models/mobilenet_v2-b0353104.pth #Higher Resolution #------------------------ #### Cityscapes Semantic Segmentation - Training with MobileNetV2+DeeplabV3Lite, Higher Resolution #python ./scripts/train_segmentation_main.py --dataset_name cityscapes_segmentation --model_name deeplabv3lite_mobilenetv2_tv \ #--data_path ./data/datasets/cityscapes/data --img_resize 768 1536 --rand_crop 512 1024 --output_size 1024 2048 --gpus 0 1 \ #--pretrained https://download.pytorch.org/models/mobilenet_v2-b0353104.pth #### Cityscapes Semantic Segmentation - original fpn - no aspp model, stride 64 model, Higher Resolution - Low Complexity Model #python ./scripts/train_segmentation_main.py --dataset_name cityscapes_segmentation --model_name deeplabv3lite_mobilenetv2_tv_fd \ #--data_path ./data/datasets/cityscapes/data --img_resize 768 1536 --rand_crop 512 1024 --output_size 1024 2048 --gpus 0 1 \ #--pretrained https://download.pytorch.org/models/mobilenet_v2-b0353104.pth #RegNetX based Models #------------------------ ## Cityscapes Semantic Segmentation - Training with RegNetX800MF+DeeplabV3Lite #Note: to use BGR input, set: --input_channel_reverse True, for RGB input ommit this argument or set it to False. #python ./scripts/train_segmentation_main.py --dataset_name cityscapes_segmentation --model_name deeplabv3lite_regnetx800mf \ #--data_path ./data/datasets/cityscapes/data --img_resize 384 768 --output_size 1024 2048 --gpus 0 1 \ #--pretrained https://dl.fbaipublicfiles.com/pycls/dds_baselines/160906036/RegNetX-800MF_dds_8gpu.pyth ### Cityscapes Semantic Segmentation - Training with RegNetX800MF+FPNLite #Note: to use BGR input, set: --input_channel_reverse True, for RGB input ommit this argument or set it to False. #python ./scripts/train_segmentation_main.py --dataset_name cityscapes_segmentation --model_name fpnlite_pixel2pixel_aspp_regnetx800mf \ #--data_path ./data/datasets/cityscapes/data --img_resize 384 768 --output_size 1024 2048 --gpus 0 1 \ #--pretrained https://dl.fbaipublicfiles.com/pycls/dds_baselines/160906036/RegNetX-800MF_dds_8gpu.pyth ### Cityscapes Semantic Segmentation - Training with RegNetX800MF+UNetLite #Note: to use BGR input, set: --input_channel_reverse True, for RGB input ommit this argument or set it to False. #python ./scripts/train_segmentation_main.py --dataset_name cityscapes_segmentation --model_name unetlite_pixel2pixel_aspp_regnetx800mf \ #--data_path ./data/datasets/cityscapes/data --img_resize 384 768 --output_size 1024 2048 --gpus 0 1 \ #--pretrained https://dl.fbaipublicfiles.com/pycls/dds_baselines/160906036/RegNetX-800MF_dds_8gpu.pyth #ResNet50 based Models #------------------------ #### Cityscapes Semantic Segmentation - Training with ResNet50+DeeplabV3Lite #python ./scripts/train_segmentation_main.py --dataset_name cityscapes_segmentation --model_name deeplabv3lite_resnet50 \ #--data_path ./data/datasets/cityscapes/data --img_resize 384 768 --output_size 1024 2048 --gpus 0 1 \ #--pretrained https://download.pytorch.org/models/resnet50-19c8e357.pth #### Cityscapes Semantic Segmentation - Training with FD-ResNet50+FPN - High Resolution - Low Complexity Model #python ./scripts/train_segmentation_main.py --dataset_name cityscapes_segmentation --model_name deeplabv3lite_resnet50_fd \ #--data_path ./data/datasets/cityscapes/data --img_resize 768 1536 --rand_crop 512 1024 --output_size 1024 2048 --gpus 0 1 \ #--pretrained https://download.pytorch.org/models/resnet50-19c8e357.pth #### Cityscapes Semantic Segmentation - Training with ResNet50_p5+DeeplabV3Lite (ResNet50 encoder with half the channels): #python ./scripts/train_segmentation_main.py --dataset_name cityscapes_segmentation --model_name deeplabv3lite_resnet50_p5 \ #--data_path ./data/datasets/cityscapes/data --img_resize 384 768 --output_size 1024 2048 --gpus 0 1 \ #--pretrained "./data/modelzoo/pretrained/pytorch/imagenet_classification/jacinto_ai/resnet50-0.5_2018-07-23_12-10-23.pth" #-- VOC Segmentation #### VOC Segmentation - Training with MobileNetV2+DeeplabV3Lite #python ./scripts/train_segmentation_main.py --dataset_name voc_segmentation --model_name deeplabv3lite_mobilenetv2_tv \ #--data_path ./data/datasets/voc --img_resize 512 512 --output_size 512 512 --gpus 0 1 \ #--pretrained https://download.pytorch.org/models/mobilenet_v2-b0353104.pth ## ===================================================================================== ## Validation ## ===================================================================================== #### Validation - Cityscapes Semantic Segmentation - Validation with MobileNetV2+DeeplabV3Lite - populate the pretrained filename in ?? #python ./scripts/train_segmentation_main.py --phase validation --dataset_name cityscapes_segmentation --model_name deeplabv3lite_mobilenetv2_tv \ #--data_path ./data/datasets/cityscapes/data --img_resize 384 768 --output_size 1024 2048 --gpus 0 1 \ #--pretrained ?? #### Inference - Cityscapes Semantic Segmentation - Inference with MobileNetV2+DeeplabV3Lite - populate the pretrained filename in ?? #python ./scripts/infer_segmentation_main.py --dataset_name cityscapes_segmentation_measure --model_name deeplabv3lite_mobilenetv2_tv \ #--data_path ./data/datasets/cityscapes/data --img_resize 384 768 --output_size 1024 2048 --gpus 0 1 \ #--pretrained ??? #### Validation - VOC Segmentation - Validation with MobileNetV2+DeeplabV3Lite - populate the pretrained filename in ?? #python ./scripts/train_segmentation_main.py --phase validation --dataset_name voc_segmentation_measure --model_name deeplabv3lite_mobilenetv2_tv \ #--data_path ./data/datasets/voc --img_resize 512 512 --output_size 512 512 --gpus 0 1 #--phase validation --pretrained ???