NVIDIA
NVIDIA
ResNeXt101-32x4d for PyTorch
Resource
NVIDIA
NVIDIA
ResNeXt101-32x4d for PyTorch

ResNet with bottleneck 3x3 Convolutions substituted by 3x3 Grouped Convolutions.

The performance measurements in this document were conducted at the time of publication and may not reflect the performance achieved from NVIDIA's latest software release. For the most up-to-date performance measurements, go to NVIDIA Data Center Deep Learning Product Performance.

Benchmarking

The following section shows how to run benchmarks measuring the model performance in training and inference modes.

Training performance benchmark

To benchmark training, run:

  • For 1 GPU
    • FP32 (V100 GPUs only) python ./launch.py --model resnext101-32x4d --precision FP32 --mode benchmark_training --platform DGX1V <path to imagenet> --raport-file benchmark.json --epochs 1 --prof 100
    • TF32 (A100 GPUs only) python ./launch.py --model resnext101-32x4d --precision TF32 --mode benchmark_training --platform DGXA100 <path to imagenet> --raport-file benchmark.json --epochs 1 --prof 100
    • AMP python ./launch.py --model resnext101-32x4d --precision AMP --mode benchmark_training --platform <DGX1V|DGXA100> <path to imagenet> --raport-file benchmark.json --epochs 1 --prof 100
  • For multiple GPUs
    • FP32 (V100 GPUs only) python ./launch.py --model resnext101-32x4d --precision FP32 --mode benchmark_training --platform DGX1V <path to imagenet> --raport-file benchmark.json --epochs 1 --prof 100
    • TF32 (A100 GPUs only) python ./multiproc.py --nproc_per_node 8 ./launch.py --model resnext101-32x4d --precision TF32 --mode benchmark_training --platform DGXA100 <path to imagenet> --raport-file benchmark.json --epochs 1 --prof 100
    • AMP python ./multiproc.py --nproc_per_node 8 ./launch.py --model resnext101-32x4d --precision AMP --mode benchmark_training --platform <DGX1V|DGXA100> <path to imagenet> --raport-file benchmark.json --epochs 1 --prof 100

Each of these scripts will run 100 iterations and save results in the benchmark.json file.

Inference performance benchmark

To benchmark inference, run:

  • FP32 (V100 GPUs only)

python ./launch.py --model resnext101-32x4d --precision FP32 --mode benchmark_inference --platform DGX1V <path to imagenet> --raport-file benchmark.json --epochs 1 --prof 100

  • TF32 (A100 GPUs only)

python ./launch.py --model resnext101-32x4d --precision TF32 --mode benchmark_inference --platform DGXA100 <path to imagenet> --raport-file benchmark.json --epochs 1 --prof 100

  • AMP

python ./launch.py --model resnext101-32x4d --precision AMP --mode benchmark_inference --platform <DGX1V|DGXA100> <path to imagenet> --raport-file benchmark.json --epochs 1 --prof 100

Each of these scripts will run 100 iterations and save results in the benchmark.json file.

Results

Training accuracy results

Our results were obtained by running the applicable training script the pytorch-20.12 NGC container.

To achieve these same results, follow the steps in the Quick Start Guide.

Training accuracy: NVIDIA DGX A100 (8x A100 80GB)
EpochsMixed Precision Top1TF32 Top1
9079.47 +/- 0.0379.38 +/- 0.07
25080.19 +/- 0.0880.27 +/- 0.1
Training accuracy: NVIDIA DGX-1 (8x V100 16GB)
EpochsMixed Precision Top1FP32 Top1
9079.49 +/- 0.0579.40 +/- 0.10
25080.26 +/- 0.1180.06 +/- 0.06
Example plots

The following images show a 250 epochs configuration on a DGX-1V.

ValidationLoss

ValidationTop1

ValidationTop5

Training performance results

Our results were obtained by running the applicable training script the pytorch-21.03 NGC container.

To achieve these same results, follow the steps in the Quick Start Guide.

Training performance: NVIDIA DGX A100 (8x A100 80GB)
GPUsThroughput - TF32Throughput - mixed precisionThroughput speedup (TF32 to mixed precision)TF32 Strong ScalingMixed Precision Strong ScalingMixed Precision Training Time (90E)TF32 Training Time (90E)
1456 img/s1211 img/s2.65 x1.0 x1.0 x~28 hours~74 hours
83471 img/s7925 img/s2.28 x7.6 x6.54 x~5 hours~10 hours
Training performance: NVIDIA DGX-1 16GB (8x V100 16GB)
GPUsThroughput - FP32Throughput - mixed precisionThroughput speedup (FP32 to mixed precision)FP32 Strong ScalingMixed Precision Strong ScalingMixed Precision Training Time (90E)FP32 Training Time (90E)
1147 img/s587 img/s3.97 x1.0 x1.0 x~58 hours~228 hours
81133 img/s4065 img/s3.58 x7.65 x6.91 x~9 hours~30 hours
Training performance: NVIDIA DGX-1 32GB (8x V100 32GB)
GPUsThroughput - FP32Throughput - mixed precisionThroughput speedup (FP32 to mixed precision)FP32 Strong ScalingMixed Precision Strong ScalingMixed Precision Training Time (90E)FP32 Training Time (90E)
1144 img/s565 img/s3.9 x1.0 x1.0 x~60 hours~233 hours
81108 img/s3863 img/s3.48 x7.66 x6.83 x~9 hours~31 hours

Inference performance results

Our results were obtained by running the applicable training script the pytorch-21.03 NGC container.

To achieve these same results, follow the steps in the Quick Start Guide.

Inference performance: NVIDIA DGX-1 (1x V100 16GB)
FP32 Inference Latency
Batch SizeThroughput AvgLatency AvgLatency 95%Latency 99%
155 img/s17.95 ms20.61 ms22.0 ms
2105 img/s19.2 ms20.74 ms22.77 ms
4170 img/s23.65 ms24.66 ms28.0 ms
8336 img/s24.05 ms24.92 ms27.75 ms
16397 img/s40.77 ms40.44 ms40.65 ms
32452 img/s72.12 ms71.1 ms71.35 ms
64500 img/s130.9 ms128.19 ms128.64 ms
128527 img/s249.57 ms242.77 ms243.63 ms
256533 img/s496.76 ms478.04 ms480.42 ms
Mixed Precision Inference Latency
Batch SizeThroughput AvgLatency AvgLatency 95%Latency 99%
143 img/s23.08 ms24.18 ms27.82 ms
284 img/s23.65 ms24.64 ms27.87 ms
4164 img/s24.38 ms27.33 ms27.95 ms
8333 img/s24.18 ms25.92 ms28.3 ms
16640 img/s25.4 ms26.53 ms29.47 ms
321195 img/s27.72 ms29.9 ms32.19 ms
641595 img/s41.89 ms40.15 ms41.08 ms
1281699 img/s79.45 ms75.65 ms76.08 ms
2561746 img/s154.68 ms145.76 ms146.52 ms
Inference performance: NVIDIA T4
FP32 Inference Latency
Batch SizeThroughput AvgLatency AvgLatency 95%Latency 99%
156 img/s18.18 ms20.45 ms24.58 ms
2109 img/s18.77 ms21.53 ms26.21 ms
4151 img/s26.89 ms27.81 ms30.94 ms
8164 img/s48.99 ms49.44 ms49.91 ms
16172 img/s93.51 ms93.73 ms94.16 ms
32180 img/s178.83 ms178.41 ms179.07 ms
64178 img/s361.95 ms360.7 ms362.32 ms
128172 img/s756.93 ms750.21 ms752.45 ms
256161 img/s1615.79 ms1580.61 ms1583.43 ms
Mixed Precision Inference Latency
Batch SizeThroughput AvgLatency AvgLatency 95%Latency 99%
144 img/s23.0 ms25.77 ms29.41 ms
287 img/s23.14 ms26.55 ms30.97 ms
4178 img/s22.8 ms24.2 ms29.38 ms
8371 img/s21.98 ms25.34 ms29.61 ms
16553 img/s29.47 ms29.52 ms31.14 ms
32578 img/s56.56 ms56.04 ms56.37 ms
64591 img/s110.82 ms109.37 ms109.83 ms
128597 img/s220.44 ms215.33 ms216.3 ms
256598 img/s439.3 ms428.2 ms431.46 ms

NVIDIA uses cookies to improve your experience on our web site. We and our third-party partners also use cookies and other tools to collect and record information you provide as well as information about your interactions with our websites for performance improvement, analytics, and to assist in marketing efforts. By clicking "Accept All", you consent to our use of cookies and other tools as described in our Cookie Policy. You can manage your cookie settings by clicking on "Manage Settings." By continuing to use this site or by clicking one of the buttons below, you agree to our Terms of Service (which contains important waivers). Please see our Privacy Policy for more information on our privacy practices.