Comments (6)
Thanks for trying this on Nano. I didn't have a Nano, so not able to do test for you. But I did test on Xavier and its result is same as expected.
First, Inception Resnet v1 and MTCNN both have no full layer support, but TRT could convert non-support layer to TensorFlow. You can check the logs https://github.com/JerryJiaGit/facenet_trt/blob/master/log_xavier_trt5.txt
Second, the init needs few minutes to convert layers, so you could check your log to see if it hang at init or extremely slow at face recognization.
Third, suggest that you could try on one modern NVIDIA dGPU to make sure code is good at first. Nano Tegra has a Maxwell architecture GPU, please check below links for some suggestions:
- https://devtalk.nvidia.com/default/topic/1057812/jetson-nano/optimize-tf-trt-models-on-jetson-nano-to-improve-inference-timing-and-efficiency/
- https://devtalk.nvidia.com/default/topic/1051546/jetson-nano/optimizing-tf-trt-load-time/
- https://jkjung-avt.github.io/tf-trt-on-nano/
from facenet_trt.
Thanks for trying this on Nano. I didn't have a Nano, so not able to do test for you. But I did test on Xavier and its result is same as expected.
First, Inception Resnet v1 and MTCNN both have no full layer support, but TRT could convert non-support layer to TensorFlow. You can check the logs https://github.com/JerryJiaGit/facenet_trt/blob/master/log_xavier_trt5.txt
Second, the init needs few minutes to convert layers, so you could check your log to see if it hang at init or extremely slow at face recognization.
Third, suggest that you could try on one modern NVIDIA dGPU to make sure code is good at first. Nano Tegra has a Maxwell architecture GPU, please check below links for some suggestions:
Thank you for the quick reply, I really appreciate it :) , I'll check it up and update here when there's any improvements.
from facenet_trt.
Hello @JerryJiaGit
I currently don't have time to test the above suggestions, but I have a small question, hope you'll help me out. Is it right that these methods are TF-TRT method, which is not a pure TensorRT method? As I have known so far, pure TensorRT method includes converting a Tensorflow frozen trained model to a file in .uff format then we use it to create an TensorRT engine which is then used by direct import tensorrt (not import tensorflow.contrib.tensorrt) API to code. And the pure TensorRT method is assumed to be faster than TF-TRT, so why everyone as well as you still uses TF-TRT method? Why don't you use pure TensorRT? Does it have additional advantages on doing that?
from facenet_trt.
To minimize code changes, but get perf improvement, it is the purpose.
from facenet_trt.
To minimize code changes, but get perf improvement, it is the purpose.
Hi @JerryJiaGit , thank you for sharing! I use your code to run on NV Xavier successfully. However, I run ./contributed/real_time_face_recognition.py and got only 4 FPS. Do you know TensorRT engine method to improve speed?
input video: 1x 720p@30fps
SVM classifier trained by 7 persons, total 11 images. Use python3 ./src/classifier.py TRAIN.
from facenet_trt.
To minimize code changes, but get perf improvement, it is the purpose.
Hi @JerryJiaGit , thank you for sharing! I use your code to run on NV Xavier successfully. However, I run ./contributed/real_time_face_recognition.py and got only 4 FPS. Do you know TensorRT engine method to improve speed?
input video: 1x 720p@30fps
SVM classifier trained by 7 persons, total 11 images. Use python3 ./src/classifier.py TRAIN.
4 FPS is too low, did you tried different L4T image for your Xavier? I encountered such low-performance issue with a very old image.
from facenet_trt.
Related Issues (11)
- Unresolved reference 'frozen_graph' HOT 11
- KeyError: "The name 'batch_join:0' refers to a Tensor which does not exist. The operation, 'batch_join', does not exist in the graph." HOT 4
- Dimension issue HOT 1
- No runtime reducing with TensorRT for face identify checkpoint graph HOT 31
- No runtime reducing with TensorRT5/CUDA10/cuDNN7.3 on Jetson Xavier HOT 7
- MTCNN TRT convert for RNET and ONET execution issue: Input data has inconsistent batch size HOT 1
- TRT INT8 calib issue "nvinfer1::DimsCHW nvinfer1::getCHW(const nvinfer1::Dims): Assertion `d.nbDims >= 3' failed" HOT 1
- Can't find a device placement for the op! HOT 4
- run HOT 2
- ready for inference model HOT 9
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from facenet_trt.