Tools For Artificial Intelligence
About Onkar Khaladkar
“Artificial intelligence would be the ultimate version of Google. The ultimate search engine that would understand everything on the web. It would understand exactly what you wanted, and it would give you the right thing. We’re nowhere near doing that now. However, we can get incrementally closer to that, and that is basically what we work on”. This quote by Larry Page, co-founder of Google gives brief idea about what Artificial Intelligence is and its impact.
Also, as rightly stated by visionaries around the globe, advent of Artificial Intelligence will help humanity surpass its capabilities to achieve great heights beyond its perceptions. In the next 30 years, Artificial Intelligence is expected to help in diagnoses in healthcare, surveillance, accident detection, space exploration and much more.
Experimenting is the best way to learn Artificial Intelligence. There are plenty of tools out there which can help you to experiment and create. Aim of this article is to give you information about these Artificial Intelligence tools.
TensorFlow is an open source tool developed by Google for Artificial Intelligence and Machine Learning. It is widely used across communities around the world. It’s used in the areas of text analytics (Ex. Google smart reply), image processing (Ex. Diabetic Retinopathy), Signal/waves analytic (Ex. Building music or ECG scan) etc. It is wide range of research in software and hardware will provide optimized versions which can work on small devices like cell phones and tablets. It also provides an elaborative information and API on image processing, CNN, RNN, linear model etc. Use of API helps in early stages of a project to finalize models and ML approach. With these tools a developer gets the liberty to try different models on an use case to learn pattern in a short span of time.
Platforms: Ubuntu, Windows, MAC
Languages: Python, Java, C, Go
Tensor Flow: https://www.tensorflow.org/
Mxnet is an open source Artificial Intelligence tool which works in a combination of symbolic and imperative programming to boost efficiency and flexibility.
Imperative programs perform computation as you run them. Symbolic programs are abstract functions in terms of place holders where no numeric computation takes place unless it is complied with real inputs. Mxnet dynamically parallizes symbolic and imperative programs and helps in scaling across machines and GPU. Mxnet stands favourites for cloud computing because of its scalability, portability to platforms and development speed. It provides wide range of ML packages and libraries for algorithms and cloud integration in R, scala and Python. Our interest for Mxnet is R, scala and python which helps in integration with bigdata applications and visualization frameworks.
Platform: Ubuntu/Debian, Amazon Linux, OS X, and Windows, Android
Language: Python, R, Julia and Scala
CNTK is an open source deep learning toolkit built by Microsoft for neural networks computation series. It focuses on models of DNN, CNN, RNN, logistic regression etc. Also promises to work with optimized CPU and GPU utilization. It works with Keras and Azure . We will be implementing CNTK in future as it works with Keras.
Platform: Linux, Windows, Azure cloud
Language: Python, C++, C#.Net, Java
It is open source built in C, C++ and Python on top with focus on efficient CPU and GPU utilisation with Faster execution, Faster compile and stabilization. Its primary objective is to optimize maximum memory usage and increasing compiling time for huge datasets to perform aspects of computer algebra. It mostly deals with structured data to solve mathematical problems like expressions evaluation, logistic functions, regression, gradient descent, graphs etc. This encapsulates an object-oriented approach to leverage different wrappers across mathematical terminologies in ML. It helps in granularly trace the flow of setup, initialize, implement, optimize, test etc unlike using built in API’s to improvise a model. With a wide access of algorithms Theano can be a gem in minimizing hardware utilization, algebraic and statistical data use cases.
Platform: Ubuntu, Mac, Windows, CentOS
Language: C, C++ and Python
Keras is a opensource deep learning API built on top of tenser flow, Theano and CNTK. It is developed in Python for faster and easier experimentation in ML and specifically neural networks. It provides API Layers for modelling, pre-processing, predicting and visualising the outcome opening gateway for research on choosing the efficiency and category of model that fits the dataset. With the right setup it facilitates switching between tensor flow, Theano and CNTK frameworks. It works seamlessly on GPU and CPU minimizing hardware requirement and execution time. We can use Keras in the initial stages of a project re-validate, re-test and re-engineer our model of execution. It is an excellent tool for beginners to holistically understand image processing, text processing and other fundamental techniques in ML.
6) Open CV
Cv is open source library for computer vision application. It contains over 500 algorithms which helps to identify and recognise objects, track moving objects like cars or human actions, extract 3D images etc. These aspects inspired countries and organizations to adopt OpenCV in surveillance, self-driving vehicles and accident detection, street view imaging, finding targets in drone/quadcopter streams and many more. Object motion detection in a video or image processing opens a Pandora’s box for use cases where OpenCV can be latched on. Currently accuracy in object detection and image pattern recognition puts OpenCV in top of our research in image processing but there is lot more to explore. Video motion detection intrigues me to build a private home surveillance with Rasberry pi.
Platform: Ubuntu, Mac, Rasberry pi.
Languages: C++, C, Python, Java and MATLAB interfaces
I hope this list encourages you to experiment. Are you using any of these tools? I am totally open to discuss various use cases. Contact me here: email@example.com
If you liked this one, you might my other article as well:
How To Get The Best Out of R Programming : http://bit.ly/2ifdAyB