Hortonworks.com
  • Explore
    • All Tags
    • All Questions
    • All Articles
    • All Ideas
    • All Repos
    • All SKB
    • All Users
    • All Badges
    • Leaderboard
  • Create
    • Ask a question
    • Create Article
    • Post Idea
    • Add Repo
  • Tracks
    • All Tracks
    • Community Help
    • Cloud & Operations
    • CyberSecurity
    • Data Ingestion & Streaming
    • Data Processing
    • Data Science & Advanced Analytics
    • Design & Architecture
    • Governance & Lifecycle
    • Hadoop Core
    • Sandbox & Learning
    • Security
    • Solutions
  • Login
HCC Hortonworks Community Connection
  • Home /
  • Data Science & Advanced Analytics /
  • Home /
  • Data Science & Advanced Analytics /
avatar image

Integrating NVIDIA Jetson TX1 Running TensorRT into Deep Learning DataFlows with Apache MiniFi Part 1 of 4

  • Export to PDF
Article by Timothy Spann · Sep 09, 2017 at 01:40 PM · edited · Sep 11, 2017 at 06:39 PM
5

Article

Use Case:

Ingesting sensors, images, voice and video from moving vehicles and running deep learning in the running vehicle. Transporting data and messages to remote data centers via Apache MiniFi and NiFi over Secure S2S HTTPS.

Background:

NVidia Jetson TX1 is a specialized developer kit for running a powerful GPU as an embedded device for robots, UAV and specialized platforms. I envision it's usage in field trucks for intermodal, utilities, telecommunications, delivery services, government and other industries with field vehicles.


Installation and Setup



You will need a workstation running Ubuntu 16 with enough disk space and network access. This will be to download all the software and push it over a network to your NVidia Jetson TX1. You can download Ubuntu here (https://www.ubuntu.com/download/desktop). Fortunately I had a MiniPC with 4GB of RAM that reformatted with Ubuntu to be the host PC to build my Jetson. You cannot run this from a Mac or Windows machine.

You will need a monitor, mouse and keyboard for your host machine and a set for your NVIdia Jetson.

First step boot to your NVidia Jetson and set up WiFi networking and make sure your monitor, keyboards and mouse work.

Make sure you download the latest NVidia JetPack on your host Ubuntu machine https://developer.nvidia.com/embedded/jetpack The one I used was JetPack 3.1 and that included: 64-bit Ubuntu 16.04 cuDNN 6.0 TensorRT 2.1 CUDA 8.0.

Initial login: ubuntu/ubuntu

After installation it will be nvidia/nvidia.

Please change that password, security is important and this GPU could do some serious bitcoin mining.

sudo su
apt update
apt-get install git zip unzip autoconf automake libtool curl zlib1g-dev maven swig bzip2
apt-get purge libopencv4tegra-dev libopencv4tegra
apt-get purge libopencv4tegra-repo
apt-get update
apt-get install build-essential
apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
apt-get install libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev
apt-get install python2.7-dev
apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev
apt-get install libgtkglext1 libgtkglext1-dev
apt-get install qtbase5-dev
apt-get install libv4l-dev v4l-utils qv4l2 v4l2ucp cd $HOME/NVIDIA-INSTALL ./installer.sh

Downloaded and run NVidia Jetson TX1 JetPack from host Ubuntu computer ./JetPack-L4T-3.1-linux-x64.run.

This will run on the host server for probably an hour and require networking connection between the two and a few reboots.

I added a 64GB SD Card as the space on the Jetson is tiny. I would recommend adding a big SATA hard drive.

umount /dev/sdb1
mount -o umask=000 -t vfat /dev/sdb1 /media/

Turn on the fan on the Jetson, echo 255 > /sys/kernel/debug/tegra_fan/target_pwm.

Download MiniFi https://nifi.apache.org/minifi/download.html or https://hortonworks.com/downloads/#dataflow. You will need to install JDK 8.

sudo add-apt-repository ppa:webupd8team/java
sudo apt update
sudo apt install oracle-java8-installer -y
download minifi-0.2.0-bin.zip
unzip *.zip
bin/minifi.sh start

In the next part, we will classify images.

Part 2: Classifying Images with ImageNet

Part 3: Detecting Faces in Images

Part 4: Ingesting with MiniFi and NiFi


Shell Call Example

/media/nvidia/96ed93f9-7c40-4999-85ba-3eb24262d0a5/jetson-inference-master/build/aarch64/bin/detectnet-console pic-007.png outputface7.png facenet

Source Code

https://github.com/tspannhw/jetsontx1-TensorRT

References

  • http://elinux.org/Jetson/Computer_Vision_Performance#Hardware_Acceleration_of_OpenCV
  • https://github.com/dusty-nv/jetson-inference#system-setup
  • https://github.com/dusty-nv/jetson-inference/blob/master/docs/deep-learning.md
  • https://github.com/NVIDIA/DIGITS/tree/master/examples/semantic-segmentation
  • https://developer.nvidia.com/tensorrt
  • https://community.hortonworks.com/articles/130814/sensors-and-image-capture-and-deep-learning-analys.html
  • https://github.com/dusty-nv/jetson-inference/blob/master/detectnet-console/detectnet-console.cpp
  • http://elinux.org/Jetson_TX1#Jetson_TX1_Module
  • http://www.jetsonhacks.com/2016/12/30/tensorflow-nvidia-jetson-tx1-development-kit/
  • https://developer.nvidia.com/embedded/learn/tutorials#collapseOne
  • http://www.jetsonhacks.com/2016/12/30/install-tensorflow-on-nvidia-jetson-tx1-development-kit/
  • http://www.nvidia.com/object/JetsonTX1DeveloperKitSE.html?
  • http://www.nvidia.com/object/embedded-systems-dev-kits-modules.html
  • https://github.com/jetsonhacks/installTensorFlowTX1/blob/master/scripts/installDependencies.sh
  • https://github.com/dusty-nv/jetson-inference#system-setup
  • http://docs.nvidia.com/jetpack-l4t/index.html#developertools/mobile/jetpack/l4t/3.0/jetpack_l4t_install.htm
  • https://github.com/dusty-nv/jetson-inference/blob/master/data/networks/ilsvrc12_synset_words.txt
  • https://github.com/tspannhw/rpi-rainbowhat/blob/master/minifi.py
  • https://community.hortonworks.com/articles/130814/sensors-and-image-capture-and-deep-learning-analys.html
  • https://nifi.apache.org/minifi/system-admin-guide.html

thub.nodes.view.add-new-comment
How-To/Tutorialdeep-learninggpuimagesnividiatx1
jetsonnew.jpg (1.3 MB)
nvidiahostbuilding.jpg (1.4 MB)
jetsonboardcloseup.jpg (1.8 MB)
jetson3.jpg (989.9 kB)
jetsoninstallfromubuntuhost.jpg (1.4 MB)
jetsoncudasimulator.png (1.0 MB)
jetsonnetworked.png (1.3 MB)
Add comment · Featured
10 |6000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

Up to 5 attachments (including images) can be used with a maximum of 524.3 kB each and 1.0 MB total.

Article

Contributors

avatar image

avatar image avatar image avatar image avatar image avatar image
avatar image avatar image avatar image avatar image avatar image
avatar image avatar image avatar image avatar image avatar image
avatar image avatar image avatar image avatar image avatar image
avatar image avatar image avatar image avatar image avatar image
avatar image avatar image avatar image avatar image

Navigation

Integrating NVIDIA Jetson TX1 Running TensorRT into Deep Learning DataFlows with Apache MiniFi Part 1 of 4

Related Articles

Deep Learning in Medicine: Classifying Melanoma Part 2: Implementing with TensorFlow and Keras

Integrating NVIDIA Jetson TX1 Running TensorRT into Deep Learning DataFlows with Apache MiniFi Part 2 of 4 : Classifying Images with ImageNet

Integrating NVIDIA Jetson TX1 Running TensorRT into Deep Learning DataFlows with Apache MiniFi Part 3 of 4 : Detecting Faces in Images

Integrating NVIDIA Jetson TX1 Running TensorRT into Deep Learning DataFlows with Apache MiniFi Part 4 of 4 : Ingestion and Processing

Running TensorFlow on YARN 3.1 with or without GPU and with or without Docker

Using Apache MXNet GluonCV with Apache NiFi for Deep Learning Computer Vision

Deep Learning 101: Using Apache MXNet in DSX Notebooks

Apache Deep Learning 101: Using Apache MXNet in Apache Zeppelin Notebooks

Creating a Kibana dashboard of Twitter data pushed to Elasticsearch with NiFi

Apache Deep Learning 101: Processing Apache MXNet Model Server Results

This website uses cookies for analytics, personalisation and advertising. To learn more or change your cookie settings, please read our Cookie Policy. By continuing to browse, you agree to our use of cookies.

HCC Guidelines | HCC FAQs | HCC Privacy Policy | Privacy Policy | Terms of Service

© 2011-2019 Hortonworks Inc. All Rights Reserved.

Hadoop, Falcon, Atlas, Sqoop, Flume, Kafka, Pig, Hive, HBase, Accumulo, Storm, Solr, Spark, Ranger, Knox, Ambari, ZooKeeper, Oozie and the Hadoop elephant logo are trademarks of the Apache Software Foundation.

  • Anonymous
  • Login
  • Create
  • Ask a question
  • Create Article
  • Post Idea
  • Add Repo
  • Create SupportKB
  • Tracks
  • Community Help
  • Cloud & Operations
  • CyberSecurity
  • Data Ingestion & Streaming
  • Data Processing
  • Data Science & Advanced Analytics
  • Design & Architecture
  • Governance & Lifecycle
  • Hadoop Core
  • Sandbox & Learning
  • Security
  • Solutions
  • Explore
  • All Tags
  • All Questions
  • All Articles
  • All Ideas
  • All Repos
  • All SKB
  • All Users
  • Leaderboard
  • All Badges