Description
I am currently trying to run a trained model in a runtime system. I am inputting a video feed into my model, but the model currently only computes about 1-2 Frames Per Second. After some research, I read that TensorRT can help with this, so I am currently trying to convert my model to TensorRT. I copied the following code from here Accelerating Inference In TF-TRT User Guide :: NVIDIA Deep Learning Frameworks Documentation.
The code and error are as follows:
Code
import numpy as np
import tensorflow as tf
from tensorflow import keras
from tensorflow.python.compiler.tensorrt import trt_convert as trt
conversion_params = trt.DEFAULT_TRT_CONVERSION_PARAMS
conversion_params = conversion_params._replace(max_workspace_size_bytes=(1<<32))
conversion_params = conversion_params._replace(precision_mode="FP16")
conversion_params = conversion_params._replace(maximum_cached_engines=100)
converter = trt.TrtGraphConverterV2(input_saved_model_dir='/home/sorozco/alan_bot_model',conversion_params = conversion_params)
converter.convert()
converter.build(input_fn=my_input_fn)
converter.save(output_model_dir='/home/sorozco/alan_bot_model_trt')
def my_input_fn():
# Input for a single inference call, for a network that has two input tensors:
Inp1 = np.random.normal(size=(8, 16, 16, 3)).astype(np.float32)
inp2 = np.random.normal(size=(8, 16, 16, 3)).astype(np.float32)
yield (inp1, inp2)
model = tf.saved_model.load('/home/sorozco/alan_bot_model_trt/', tags=[tag_constants.SERVING])
Error
2021-04-19 15:09:18.670488: I tensorflow/stream_executor/platform/default/dso_loader.cc:49]
Successfully opened dynamic library libcudart.so.10.2
2021-04-19 15:09:28.223133: I tensorflow/stream_executor/platform/default/dso_loader.cc:49]
Successfully opened dynamic library libnvinfer.so.7
2021-04-19 15:09:29.176650: I tensorflow/stream_executor/platform/default/dso_loader.cc:49]
Successfully opened dynamic library libcuda.so.1
2021-04-19 15:09:29.217699: E tensorflow/stream_executor/cuda/cuda_driver.cc:328] failed call to
cuInit: CUDA_ERROR_NO_DEVICE: no CUDA-capable device is detected
2021-04-19 15:09:29.217798: I tensorflow/stream_executor/cuda/cuda_diagnostics.cc:156] kernel driver does not appear to be running on this host (sorozco-desktop): /proc/driver/nvidia/version does not exist
2021-04-19 15:09:29.248773: W tensorflow/core/platform/profile_utils/cpu_utils.cc:116] Failed to find
bogomips or clock in /proc/cpuinfo; cannot determine CPU frequency
2021-04-19 15:09:29.249723: I tensorflow/compiler/xla/service/service.cc:168] XLA service
0x40da2780 initialized for platform Host (this does not guarantee that XLA will be used). Devices:
2021-04-19 15:09:29.249795: I tensorflow/compiler/xla/service/service.cc:176] StreamExecutor
device (0): Host, Default Version
2021-04-19 15:09:44.597539: I tensorflow/core/grappler/devices.cc:69] Number of eligible GPUs (core count >= 8, compute capability >= 0.0): 0
2021-04-19 15:09:44.597798: I tensorflow/core/grappler/clusters/single_machine.cc:356] Starting new session
2021-04-19 15:09:44.662813: I tensorflow/core/grappler/optimizers/meta_optimizer.cc:954]
Optimization results for grappler item: graph_to_optimize
function_optimizer: Graph size after: 45 nodes (34), 60 edges (49), time = 4.423ms.
function_optimizer: function_optimizer did nothing. time = 0.119ms.
2021-04-19 15:09:55.306136: I tensorflow/core/grappler/devices.cc:69] Number of eligible GPUs (core count >= 8, compute capability >= 0.0): 0
2021-04-19 15:09:55.391003: I tensorflow/core/grappler/clusters/single_machine.cc:356] Starting new session
Killed
I’m particular nervous about the following line:
2021-04-19 15:09:44.597539: I tensorflow/core/grappler/devices.cc:69] Number of eligible GPUs (core count >= 8, compute capability >= 0.0): 0
Does this mean that I am not utilizing the GPU in my Jetson Nano? I would also like to know how to convert my custom model to TensorRT in general. This is somewhat foreign territory to me, and most tutorials are not very helpful.
Environment
TensorRT Version:
dpkg -l | grep nvinfer
ii libnvinfer-bin 7.1.3-1+cuda10.2 arm64 TensorRT binaries
GPU Type:
I'm not sure how to check this.
Nvidia Driver Version:
I'm not sure how to check this.
CUDA Version:
cat /usr/local/cuda/version.txt
CUDA Version 10.2.89
CUDNN Version:
cat /usr/include/cudnn_version.h | grep CUDNN_MAJOR -A 2
#define CUDNN_MAJOR 8
#define CUDNN_MINOR 0
#define CUDNN_PATCHLEVEL 0
--
#define CUDNN_VERSION (CUDNN_MAJOR * 1000 + CUDNN_MINOR * 100 + CUDNN_PATCHLEVEL)
#endif /* CUDNN_VERSION_H */
Operating System + Version:
cat /etc/os-release
NAME="Ubuntu"
VERSION="18.04.5 LTS (Bionic Beaver)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 18.04.5 LTS"
VERSION_ID="18.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=bionic
UBUNTU_CODENAME=bionic
Python Version (if applicable): Python 3.6.9
TensorFlow Version (if applicable): 2.4.0
PyTorch Version (if applicable):
Baremetal or Container (if container which image + tag):