Practical overview
When it fits
Use it when you need a research-oriented PyTorch implementation of DeepLab-ResNet with documented training and evaluation scripts, and can work with its Python 2.7-era setup.
Who it is for
- Computer-vision researchers studying semantic segmentation.
- Developers adapting multi-scale segmentation training to custom datasets.
- Researchers exploring sketch understanding using segmentation models.
Documented uses
- Train DeepLab-ResNet on a custom image dataset.
- Evaluate a saved model.
- Experiment with losses computed across multiple image scales and merged score maps.
Requirements & limits
The GitHub repository is public and lists an MIT license.
- The documented setup uses Python 2.7, and the repository does not describe newer Python versions.
- Caffe and PyTorch are required for the documented conversion of Caffe initialization weights; PyTorch is required for training.
- Training with a Titan X was reported to use about 11.9 GB of GPU memory.
- Boundary label 255 is treated as background, and CRF post-processing is not implemented.
- The README reports different mean-IoU calculation methods across evaluation scripts.
Check current requirements in the official documentation. Source-based guidance does not mean OpenViST has run or independently tested this project.
Train DeepLab-ResNet with custom data
Prepare the documented initialization and start training the model on a custom dataset.
Before you start
- PyTorch with Python 2.7.
- Custom training images and ground-truth images, with labels encoded as contiguous integers starting at 0.
- For converting init.caffemodel, the DeepLab v2 Caffe codebase and PyTorch with Python 2.7.
Steps
Convert init.caffemodel to a .pth initialization file by running the command below, or use the converted weights linked in the repository README.
python init_net_surgery.pyRun the command below to review the available training arguments.
python train.py -hRun the command below to start training; set the documented data-path and label-count arguments for a custom dataset.
python train.py
Expected outcome
Training snapshots are saved by default every 1,000 iterations in data/snapshots.
Guide limitations
- The repository says it was tested with Python 2.7 only.
- Boundary label 255 is merged with the background in the loss function.
- The README reports about 11.9 GB GPU memory use on a Titan X; this is a reported configuration, not a hardware compatibility guarantee.
Evaluate a saved model
Run the repository's evaluation script on a saved model.
Before you start
- PyTorch with Python 2.7.
- A saved model and the evaluation data and arguments required by the script.
Steps
Run the command below to review the evaluation arguments.
python evalpyt.py -hRun the command below with the appropriate documented arguments.
python evalpyt.py
Expected outcome
The script evaluates a saved model.
Guide limitations
- The repository reports that its mean-IoU calculation differs between evaluation scripts; check the selected calculation when comparing results.
Sources & review
Source record details
- Source availability
- Active
- Sources checked
- 16 October 2026
- Original website title
- isht7/pytorch-deeplab-resnet · Official homepage title · retained in its source language

