A couple of my Perfect Abstractions Ignition developers wrote an article about Machine Learning in Ignition. I’d like to share it and know what other’s think.
Good article, thanks for posting. I’ve been dipping my toes in machine learning lately with a view to doing something with the masses of production data and parameters we are collecting. Ignition seems a perfect place to both collect and process the data. I assume with the interest your developers are showing, a module is perhaps in the pipeline?
For those interested in an overview of machine learning, Kevin McClusky and I will be doing a session on ML at the ICC in September.
And if you have questions on ML projects before then, feel free to contact us. Kevin has implemented some interesting ML projects in Ignition, and my Master’s in CS specialized in machine learning, AI, and data mining.
Thanks @nmudge enjoyed the article. Since I work in wastewater, especially enjoyed your example
For us, we would find an extreme amount of value in ML predicting the impact on our facility due to predicted rainfall, and would also want to use it to predict treatment impact due to changing conditions. There are some tests that take 5 days to run, so wastewater so there are a lot of times you don’t know things are getting worse until too late. Would love to see more ML in wastewater!
I do alot of oil and gas monitoring. I would be interesting in seeing what ML analysis could provide for my customers. I have a large amount of data that gets stored but outside of viewing in trends, we really dont do any analysis on it.
If we have a python file with ML def that we place in the userlib for python, then can we not use these def in python scripting?
Is using a Java based ML program for introducing classes and methods into the ignition environment is recommended path for ML in Ignition?
All the differences between Python 2.5 and Python 2.7, plus all of the limitations of the Java environment, plus all of the advantages of the Java environment. Primarily, the biggies are:
No support for any addon to CPython that depends on native C-code. That means no numpy or anything like it.
Direct support for java classes and objects as if they were jython, including automatic conversion of netbeans compliant getter/setter methods into python properties.
Jython strings use Java’s UTF-16 storage of characters instead of python2’s undifferentiated byte-oriented storage, eliminating the biggest motivator for the creation of python3.
Java array types, including byte arrays, are available through the jython-only “jarray” module.
Just wondering, why do we need a full stack Python engine inside Ignition which may overload and affect the performance?. Can't we push the data outside, process it and pushback the results to Ignition as JSON data?. For presentation we can always use a Javascript engine like FB's ReactJS.
First ask your customers, their wish list. Design a questionnaire and get their feedbacks. This will help you to decide some goals. Interact with some institutions who use machine learning to make some good money