Object Detection working very slow on Jetson TX2

Hi ,

I am currently working on a TensorFlow python algorithm for object detection. The link is provided below.

My algorithm works fine and is compatible only with TensorFlow -1.0 version.
It was taking 17 seconds to detect objects in one frame.

On usage of the commands :
sudo nvpmodel -m 0 sudo ./jetson_clocks.sh

The time taken for detection is now 10 seconds.

The command - $sudo nvpmodel -q --verbose gives me the below output:

NVPM VERB: parsing done for /etc/nvpmodel.conf
NVPM VERB: Current mode: NV Power Mode: MAXN
0
NVPM VERB: PARAM CPU_ONLINE: ARG CORE_1: PATH /sys/devices/system/cpu/cpu1/online: REAL_VAL: 1 CONF_VAL: 1
NVPM VERB: PARAM CPU_ONLINE: ARG CORE_2: PATH /sys/devices/system/cpu/cpu2/online: REAL_VAL: 1 CONF_VAL: 1
NVPM VERB: PARAM CPU_ONLINE: ARG CORE_3: PATH /sys/devices/system/cpu/cpu3/online: REAL_VAL: 1 CONF_VAL: 1
NVPM VERB: PARAM CPU_ONLINE: ARG CORE_4: PATH /sys/devices/system/cpu/cpu4/online: REAL_VAL: 1 CONF_VAL: 1
NVPM VERB: PARAM CPU_ONLINE: ARG CORE_5: PATH /sys/devices/system/cpu/cpu5/online: REAL_VAL: 1 CONF_VAL: 1
NVPM VERB: PARAM CPU_A57: ARG MIN_FREQ: PATH /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq: REAL_VAL: 2035200 CONF_VAL: 0
NVPM VERB: PARAM CPU_A57: ARG MAX_FREQ: PATH /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq: REAL_VAL: 2035200 CONF_VAL: 2147483647
NVPM VERB: PARAM CPU_DENVER: ARG MIN_FREQ: PATH /sys/devices/system/cpu/cpu1/cpufreq/scaling_min_freq: REAL_VAL: 2035200 CONF_VAL: 0
NVPM VERB: PARAM CPU_DENVER: ARG MAX_FREQ: PATH /sys/devices/system/cpu/cpu1/cpufreq/scaling_max_freq: REAL_VAL: 2035200 CONF_VAL: 2147483647
NVPM VERB: PARAM GPU: ARG MIN_FREQ: PATH /sys/devices/17000000.gp10b/devfreq/17000000.gp10b/min_freq: REAL_VAL: 1300500000 CONF_VAL: 0
NVPM VERB: PARAM GPU: ARG MAX_FREQ: PATH /sys/devices/17000000.gp10b/devfreq/17000000.gp10b/max_freq: REAL_VAL: 1300500000 CONF_VAL: 2147483647
NVPM VERB: PARAM EMC: ARG MAX_FREQ: PATH /sys/kernel/nvpmodel_emc_cap/emc_iso_cap: REAL_VAL: 0 CONF_VAL: 0

Are there any further methods to reduce the detection time from 10seconds?

Kindly help

EDIT:

When I run $sudo ./tegrastats along with the object detection code.
During frame processing the tegrastats output is as below:

RAM 3326/7851MB (lfb 539x4MB) cpu [100%@2030,100%@2034,100%@2036,100%@2029,100%@2029,100%@2029] EMC 5%@1866 APE 150 GR3D 0%@1300

The CPU utilization is 100% whereas GPU usage is 0(GR3D).

Kindly help me in ways of how to utilize the GPU.

Thanks in advance.

Hi,

Please help us check these:

1. Make sure you have enabled TensorFlow GPU support.
You can find similar log if GPU mode is ON:
I tensorflow/core/common_runtime/gpu/gpu_device.cc:975] Creating TensorFlow device (/gpu:0) -> (device: 0, name: GP10B, pci bus id: 0000:00:00.0)

2. Check the device placement via this command and share with us:

sess = tf.Session(config=tf.ConfigProto(log_device_placement=True))

Thanks.

Hi AastaLLL,

When I run the command
sess = tf.Session(config=tf.ConfigProto(log_device_placement=True))
Device mapping: no known devices.
I tensorflow/core/common_runtime/direct_session.cc:257] Device mapping:

How can I enable TensorFlow GPU support?

I installed Tensorflow using the wheel files - tensorflow-1.0.1-cp27-cp27mu-linux_aarch64.whl and tensorflow-1.3.0-cp35-cp35m-linux_aarch64.whl

Thanks

Hi,

If TensorFlow-1.3/1.4 is acceptable for you, we recommend to use this wheel file:

Thanks.

Hi AastaLLL,

The code I am currently using doesn’t support v1.3/1.4.
Can you help me with Tensorflow GPU support for version 1.0.1

Thanks.

Hi,

Do you use the wheel file shared in this comment:
https://devtalk.nvidia.com/default/topic/1000717/jetson-tx2/tensorflow-on-jetson-tx2/post/5112792/#5112792

If yes, the user has enabled the GPU support.
Please remember to use the same CUDA/L4T version(Guess that is JetPack3.0) to make it run correctly.

Thanks.

Hi AastaLLL,

Thanks a lot for your support.
Yes I have used the same wheel file mentioned in this comment.I have JetPack 3.0 installed on the TX2 board.

$ nvcc -V
nvcc: NVIDIA ® Cuda compiler driver
Copyright © 2005-2016 NVIDIA Corporation
Built on Mon_Mar_20_17:07:33_CDT_2017
Cuda compilation tools, release 8.0, V8.0.72

$head -n 1 /etc/nv_tegra_release

R28 (release), REVISION: 1.0, GCID: 9379712, BOARD: t186ref, EABI: aarch64,

Is there any changes I need to make to enable GPU?

Thanks.

Hi AastaLLL,

Yes The algorithm works fine after fixing the Tensorflow GPU installation.
Thankyou