Enterprise Tensorflow: Code Examples
Overview over the example projects for TensorFlow / Java integration
At ML Conference Berlin 2017 I gave a presentation on how to to integrate trained TensorFlow models into a Jave Server environment. The cleaned up example code for the talk is now available on github.
Currently there are three examples:
- TensorFlow SavedModel example: An IPython Notebook that illustrates the use of
Estimator
s to properly create aSavedModel
that can be imported to run the model, including proper preprocessing. - Tensorflow Java Command Line example: A bare-bones Java Command Line project that shows how the basic TensorFlow-Java interop works.
- Tensorflow Apache CXF REST Server: A JAXRS REST Service in an Apache CXF Server to show how to build a REST Service in Java using Tensorflow
A detailed discussion of the code and the gotchas will follow in an in-depth series of blog posts on the topic, for now, the code examples and comments should provide a good starting point.
-
08 Apr 2024
Whisper 3 Large for JAVA
For an internal product prototype we have traced OpenAI’s Whisper 3 model from Huggingface and made it usable under JAVA via DJL.
-
14 Jun 2023
ChatGPT for Teams: Privacy-Compliant Use in the Workplace
In today’s digital business world, AI-powered communication platforms like ChatGPT are essential for tasks such as answering complex code questions or creating top-notch texts for offers. However, in companies dealing with sensitive customer data, using ChatGPT can lead to a data protection dilemma. While ChatGPT offers an option to prevent the use of chat conversations for training purposes, it comes with certain limitations. Moreover, as of June 2023, there is no way to manage multiple team members or users through a company account. Each user must register individually and use their own email, phone number, and credit card. If you want to use ChatGPT+, for example, you cannot pay for all users with one credit card. Individual invoices also end up with individual users, creating an organizational and accounting nightmare. We at DIVISO have also grappled with this issue and went in search of a solution.
-
25 Oct 2021
Git as a management tool for training data and experiments in ML
In this part of the series of articles on MLOps, we start with information that will be familiar to most of you: With the basics of Git. However, to give a different perspective on the well-known tool, these basics provide the basis to highlight the function and benefits of Git for machine learning (ML) and the difference in managing training data.
-
02 Aug 2021
MLOps: Establishment and operation of an AI
With Machine Learning Operations (MLOps) we ensure that data is efficiently and strategically integrated into business processes through regular and automated training, thus contributing to increased revenue. The challenge is to establish and maintain these automated processes.
-
31 Aug 2020
Types of Artificial Neural Networks
In our real-world example, we used a “feed-forward neural network” to recognise handwritten numbers. This is probably the most basic form of a NN. In reality, however, there are hundreds of types of mathematical formulas that are used – beyond addition and multiplication – to compute steps in a neural network, many different ways to arrange the layers, and many mathematical approaches to train the network.
-
17 Jul 2020
Amazon DJL - a new DL framework for Java
Developers who wanted to explore neural networks and deep learning using the JVM, and especially Java, had little choice so far. Those who wanted to focus exclusively on Java could not get around DL4J until now. If it had to be the JVM, but not necessarily Java, the MXNet Scala Frontend was also an option. Finally, if a little Python didn’t scare you, you could try a hybrid solution, combining TensorFlow and Java just like we already explained in previous articles.
-
29 Jun 2020
NLP, NLU and NLG: AI and text
So far, we have generally steered clear of the areas of text comprehension and text generation by ML in our practical examples for the basic understanding of AI. For good reason, we have focused primarily on two types of problems: classification of images and prediction of numerical values.
-
23 Jun 2020
Neural networks - The five most common mistakes
AI and especially Neural Networks or Deep Learning have been the technological hype topic for some years now. However, since the subject is quite abstract – one could say it is uncharted territory for most people – we want to clear up some mistakes that we often encounter in our work.
-
02 Jun 2020
What are Neural Networks and how do they work?
In our past articles we mainly covered the basics of current AI research and tried to shed some light on them in a way that is understandable for non-IT scientists. We are now proceeding to the probably “hottest” current AI topic: Neural Networks (NN).
-
12 May 2020
Deep Java Learning Introduction - Part 1: NDManager & NDArray
After our first presentation of Amazon’s new Deep Learning Framework for Java, DJL, we now want to introduce the basics of Deep Learning under Java with DJL step by step in a series of beginner posts. This is not about quickly copying code snippets, but about really understanding the framework and the concepts.
-
11 May 2020
Deep Fakes - How to spot faked Images
A (fairly) new kind of neural networks, so-called Generative Adversarial Networks or GANs, are nowadays capable of generating deceptively real images of people that do not actually exist. These fake images are indistinguishable from real photos at first glance. Fortunately, you might still uncover them if you look closely – if you know what to look for!
-
28 Jun 2019
Recap: ML Conference 2019 in Munich
On 17.06. another round of the semi annual ML Conference started in Munich. As usual, it started with a day-long workshop with joint live coding, giving the participants an approachable introduction into Machine Learning and Deep Learning.
-
24 May 2019
Understanding AI - Part 5: Supervised & Unsupervised Learning in ML
In the previous article we introduced the basic concepts of Machine Learning and how the training of an ML model works, using a simple but practical algorithm. Next, we want to take a closer look at the different types of Machine Learning.
-
14 May 2019
BGL symposium 2019 - lecture 'AI and Magic'
“Any sufficiently advanced technology is indistinguishable from magic.” – Arthur C. Clarke JAX 2019 is barely over, but Christoph is already on the podium for the next talk. At the symposium of the BLG (Federal Association of Industrial Photographic Laboratories), his lecture will cover “AI and Magic – How does Artificial Intelligence work?
-
29 Apr 2019
Jax 2019 Recap
JAX 2019 is approaching and once again Christoph is contributing two sessions. This year he’s focussing on Neural Networks and explains how to use TensorFlow-Training while working with JVM.
-
25 Apr 2019
Understanding AI - Part 4: The basics of Machine Learning
After shedding some light onto Symbolic AI in the previous article, we’re now moving on to take a closer look at Machine Learning (ML). When it comes to Symbolic AI, breaking down a problem as minutely as possible is key for successfully solving it.
-
08 Apr 2019
Understanding AI - Part 3: Methods of symbolic AI
In the previous article we added two distinctions to our initial definition of AI: On the one hand we distinguish between strong and weak AI (Terminator & Science Fiction vs. the scientific status quo). Also we pointed out the difference between symbolic AI and Machine Learning.
-
21 Mar 2019
Understanding AI - Part 2: Symbolic AI, Neural Networks and Deep Learning
Artificial Intelligence (AI) is as old as computer science itself. Calculations, logical deductions, complex assignments… all this was once restricted to humans, until computers came forth.
-
07 Mar 2019
Understanding AI - Part 1: What is AI?
From household help to doomsday scenario - there’s hardly a topic where public perception, state of research and reality seem so incongruent as with artificial intelligence. Reason enough to shed some light onto this subject with a series of articles.
-
06 Aug 2018
DL4J Workshop at the ML Summit in Berlin
On October 1st and 2nd the first ML Summit takes place in Berlin. In 12 workshops in three parallel tracks, experts impart practical knowledge on the topics Applications for Business, Machine Learning Basics & Tools and Specialized Topics.
-
23 Apr 2018
Jax 2018 - Talks about DL4J and more
Christoph will give two talks about Java and Machine Learning at JAX 2018
-
29 Jan 2018
Enterprise TensorFlow 4 - Executing a TensorFlow Session in Java
A TensorFlow Session can be executed in Java in the same way as in Python. This post shows how.
-
23 Jan 2018
Enterprise TensorFlow 3 - Loading a SavedModel in Java
Part 3 in the series about Java / TensorFlow Interoperability, showing how to load a TensorFlow SavedModel in Java
-
22 Jan 2018
Enterprise TensorFlow 2 - Saving a trained model
Part 2 in the series about Java / TensorFlow Interoperability, discussing how to save a model so it can be reused in a different environment.
-
11 Jan 2018
TensorFlow and Java - An interview with entwickler.de
Our CTO was interviewed about TensorFlow / Java Interoperability while at ML Conference 2017 in Berlin.
-
30 Nov 2017
Enterprise Tensorflow - Java vs. Python
This is the first part of a series of posts about Java and Tensorflow interop. It is a more extensive version of my talk at ML Conference 2017 in Berlin
-
15 Nov 2017
ML Conference 2017 in Berlin
An announcement for my presentation at the ML Conference 2017 in Berlin