TensorFlow has released a Java API, so I decided to write a quick custom processor to run TensorFlow Inception v3.
It's a simple set of dependencies for Maven:
It's easy to add the new processor NiFi. First, build it using
mvn install (see my build script), then deploy it:
cp nifi-tensorflow-nar/target/nifi-tensorflow-nar-1.0.nar /Volumes/Transcend/Apps/nifi-1.2.0/lib
Once you restart NiFi, you can add the TensorFlow Processor.
An example flow is to the use the very smart
ListFile , which will iterate through a list of files and keep track of the timestamp of files it last accessed. I point to a directory of files and the NiFi processor gets fed a ton of images to very quickly process. This is much faster than my calling out to a script.
I gave it a picture of my RV...
And this is what it guessed. The result of the run is a new attribute, probabilities, which is a string description of what it could be a confidence percentage as text:
- Data Lake 3.0: Containerization, Erasure Coding, GPU Pooling n
- HDF 2.0 Flow for Processing Real-Time Tweets
- Using an ASUS Tinkerboard with TensorFlow and Python
- Setting Up GPU-Enabled TensorFlow to Work With Zeppelin
- IoT Capturing Photos and Analyzing the Image With TensorFlow on a Raspberry Pi
- Analyzing Images in HDF 2.0 With TensorFlow
- Deep Learning IoT Workflows With Raspberry Pi MQTT