TAO Preprocessing steps for yolo_v4 model and grayscale dataset


What preprocessing steps are done inside of the tao toolkit when training yolo_v4 on a grayscale dataset?

I am training a yolov4 model using the tao tookit on local compute. I export the trained model to onnx format. Then I move the onnx file to a Jetson AGX Orin Developer Kit. I then use trtexec on the jetson to convert the onnx file into a TRT engine. I then use a python script with TensorRT to load images, run preprocessing and inference using the TRT engine.

I have found what appears to be the preprocessing defaults for an output channel of 1:

The demeaning:

The above links come from the tao_tensorflow1_backend repo. In the README.md of that repo the following deprecation message is shown:
“TAO Toolkit will be deprecating this backend after 5.0.0.”
Is this repo still a valid reference for the preprocessing being done on my tao toolkit version? (see versions below)

The main question is about how the toolkit handles grayscale input images. The above repo is demeaning a three channel image, and then converts the image to grayscale by running a weighted average on the 3 channels to create one grayscale channel:

If the input images are already single channel, how are they preprocessed?


TensorRT Version: 8.6.2
GPU Type:
Nvidia Driver Version:
CUDA Version: 12.2.12
CUDNN Version:
Operating System + Version: Linux
Python Version (if applicable): Python 3.10.12
TensorFlow Version (if applicable):
PyTorch Version (if applicable):
Baremetal or Container (if container which image + tag): Jetson Orin AGX Development Kit

Tao toolkit version:
toolkit_version: 5.3.0
published_date: 03/14/2024

Hi @cameron.lewis3 ,
I would request you to raise this query to TAO platform for better assistance.