Run ResNet-34* SSD Inference with a TensorFlow* Container

Published: 10/23/2020  

Last Updated: 06/15/2022

Pull Command

docker pull intel/object-detection:tf-latest-ssd-resnet34-int8-inference

Description

This document has instructions for running SSD-ResNet34 Int8 inference using Intel® Optimization for TensorFlow*.

SSD-ResNet34 uses the COCO dataset for accuracy testing.

Download and preprocess the COCO validation images using the instructions here. After the script to convert the raw images to the TF records file completes, rename the tf_records file:

mv ${OUTPUT_DIR}/coco_val.record ${OUTPUT_DIR}/validation-00000-of-00001

Set the DATASET_DIR to the folder that has the validation-00000-of-00001 file when running the accuracy test. Note that the inference performance test uses synthetic dataset.

Quick Start Scripts

Script name Description
int8_accuracy Tests accuracy using the COCO dataset in the TF Records format with an input size of 300x300.
int8_inference Run inference using synthetic data with an input size of 300x300 and outputs performance metrics.
multi_instance_batch_inference_1200 Uses numactl to run inference (batch_size=1) with an input size of 1200x1200 and one instance per socket. Waits for all instances to complete, then prints a summarized throughput value.
multi_instance_online_inference_1200 Uses numactl to run inference (batch_size=1) with an input size of 1200x1200 and four cores per instance. Waits for all instances to complete, then prints a summarized throughput value.

Docker*

The model container includes the pretrained model, scripts and libraries needed to run SSD-ResNet34 Int8 inference. To run one of the quick start scripts using this container, you'll need to provide a volume mount for an output directory where logs will be written. If you are testing accuracy, then the directory where the coco dataset validation-00000-of-00001 file located will also need to be mounted.

To run inference using synthetic data:

OUTPUT_DIR=<directory where log files will be written>

docker run \
  --env OUTPUT_DIR=${OUTPUT_DIR} \
  --env http_proxy=${http_proxy} \
  --env https_proxy=${https_proxy} \
  --volume ${OUTPUT_DIR}:${OUTPUT_DIR} \
  --privileged --init -t \
  intel/object-detection:tf-latest-ssd-resnet34-int8-inference \
  /bin/bash quickstart/<script name>.sh

To test accuracy using the COCO dataset:

DATASET_DIR=<path to the COCO directory>
OUTPUT_DIR=<directory where log files will be written>

docker run \
  --env DATASET_DIR=${DATASET_DIR} \
  --env OUTPUT_DIR=${OUTPUT_DIR} \
  --env http_proxy=${http_proxy} \
  --env https_proxy=${https_proxy} \
  --volume ${DATASET_DIR}:${DATASET_DIR} \
  --volume ${OUTPUT_DIR}:${OUTPUT_DIR} \
  --privileged --init -t \
  intel/object-detection:tf-latest-ssd-resnet34-int8-inference \
  /bin/bash quickstart/<script name>.sh

 

Documentation and Sources

Get Started
Docker* Repository
Main GitHub*
Readme
Release Notes
Get Started Guide

Code Sources
Dockerfile
Report Issue

 


License Agreement

LEGAL NOTICE: By accessing, downloading or using this software and any required dependent software (the “Software Package”), you agree to the terms and conditions of the software license agreements for the Software Package, which may also include notices, disclaimers, or license terms for third party software included with the Software Package. Please refer to the license file for additional details.


Related Containers and Solutions

SSD-Resnet34 Int8 Inference TensorFlow* Model Package

View All Containers and Solutions 🡢

Product and Performance Information

1

Performance varies by use, configuration and other factors. Learn more at www.Intel.com/PerformanceIndex.