Friday, February 16, 2018

10 Opensource tools/frameworks for Artificial Intelligence

Here are 10 tools/frameworks which popular or getting popular in the “hot topic” of today’s IT world – Artificial Intelligence. The details below trying to give intro, features and links to where you can find more details.

1) TensorFlow: An open-source software library for Machine Intelligence


TensorFlow™ is an open source software library which originally developed by researchers and engineers working on the Google Brain Team. TensorFlow is for numerical computation using data flow graphs. Nodes in the graph represent mathematical operations, while the graph edges represent the multidimensional data arrays (tensors) communicated between them. The flexible architecture allows you to deploy computation to one or more CPUs or GPUs in a desktop, server, or mobile device with a single API.

Useful Links :

Tensorflow home: https://www.tensorflow.org



2) Apache SystemML: An optimal workplace for machine learning using big data


SystemML, the machine-learning technology created at IBM, has reached one of the top-level project status at the Apache Software Foundation and it’s a flexible, scalable machine learning system. Important  characteristics are:

1.       Algorithm customizability via R-like and Python-like languages.

2.       Multiple execution modes, including Spark MLContext, Spark Batch, Hadoop Batch, Standalone, and JMLC (Java Machine Learning Connector).

3.       Automatic optimization based on data and cluster characteristics to ensure both efficiency and scalability.

Useful Links :




3) Caffe: A deep learning framework made with expression, speed, and modularity in mind.


Caffe project initiated by Yangqing Jia during his PhD at UC Berkeley and the later developed by Berkeley AI Research (BAIR) and by community contributors. It mostly focusses on convolutional networks for computer vision applications. Caffe is a solid and popular choice for computer vision-related tasks and you can download many successful models made by Caffe users from the Caffe Model Zoo (link below) for out-of-the-box use.

Useful Links :




Tutorial presentation of the framework and a full-day crash course: https://docs.google.com/presentation/d/1UeKXVgRvvxg9OUdh_UiC5G71UMscNPlvArsWER41PsU/edit#slide=id.p



4)  Apache Mahout: A distributed linear algebra framework and mathematically expressive Scala DSL 


Mahout designed to let mathematicians, statisticians, and data scientists quickly implement their own algorithms. Apache Spark is the recommended out-of-the-box distributed back-end, or can be extended to other distributed backends.

·         Mathematically Expressive Scala DSL

·         Support for Multiple Distributed Backends (including Apache Spark)

·         Modular Native Solvers for CPU/GPU/CUDA Acceleration

Apache Mahout currently implements areas including Collaborative filtering (CF), Clustering and Categorization

Useful Links :


Intro to Mahout by Grant Ingersoll: https://www.ibm.com/developerworks/library/j-mahout/

5) OpenNN: An open source class library written in C++ which implements neural networks.


OpenNN (Open Neural Networks Library) was formerly known as Flood is based on Ph.D. thesis of R. Lopez, "Neural Networks for Variational Problems in Engineering", at Technical University of Catalonia, 2008.

Useful Links :


OpenNN Artelnics GitHub: https://github.com/Artelnics/OpenNN

Neural Designer: https://neuraldesigner.com/

6) Torch: An open source machine learning library, a scientific computing framework, and a script language based on the Lua programming language.


Torch provides a wide range of algorithms for deep machine learning, and uses the scripting language LuaJIT, and an underlying C/CUDA implementation. The core package of Torch is torch. It provides a flexible N-dimensional array or Tensor, which supports basic routines for indexing, slicing, transposing, type-casting, resizing, sharing storage and cloning. The nn package is used for building neural networks

Useful Links :

Torch Home: http://torch.ch/


7) Neuroph: An object-oriented neural network framework written in Java.


Neuroph can be used to create and train neural networks in Java programs. Neuroph provides Java class library as well as GUI tool easyNeurons for creating and training neural networks. Neuroph is lightweight Java neural network framework to develop common neural network architectures. It contains well designed, open source Java library with small number of basic classes which correspond to basic NN concepts. Also has nice GUI neural network editor to quickly create Java neural network components. It has been released as open source under the Apache 2.0 license.

Useful Links :



8) Deeplearning4j: The first commercial-grade, open-source, distributed deep-learning library written for Java and Scala.


Deeplearning4j (DL4J) Integrated with Hadoop and Spark, DL4J is designed to be used in business environments on distributed GPUs and CPUs. Skymind is its commercial support arm, bundling Deeplearning4j and other libraries such as Tensorflow and Keras in the Skymind Intelligence Layer (SKIL, Community Edition), a deep learning environment that gives developers an easy, fast way to train and deploy AI models. SKIL acts as a bridge between Python data science environments and the JVM.

Useful Links :





9) Mycroft : Claiming as the world’s first open source assistant and may be used in anything from a science project to an enterprise software application.


Mycroft runs anywhere – on a desktop computer, inside an automobile, or on a Raspberry Pi. This is open source software which can be freely remixed, extended, and improved. Mycroft may be used in anything from a science project to an enterprise software application.

Useful Links :

MyCroft Home: https://mycroft.ai



10) OpenCog: OpenCog is a project that aims to build an open source artificial intelligence framework


OpenCog is a diverse assemblage of cognitive algorithms, each embodying their own innovations — but what makes the overall architecture powerful is its careful adherence to the principle of cognitive synergy.  OpenCog was originally based on the release in 2008 of the source code of the proprietary "Novamente Cognition Engine" (NCE) of Novamente LLC. The original NCE code is discussed in the PLN book (ref below). Ongoing development of OpenCog is supported by Artificial General Intelligence Research Institute (AGIRI), the Google Summer of Code project, and others.

Useful Links :

OpenCog Home: https://opencog.org/



Thursday, December 14, 2017

Apache CloudStack - OpenSourceForYou - Dec, 2017

Grateful to OpenSourceForYou for publishing my article in their Dec, 2017 edition. This is about Apache Cloudstack and I compiled the "quick start" contents from Apache CloudStack documentation. Apache team rocks in all angles and thanks to their one another outstanding contribution to opensource community.
Link: http://lfymag.com/previousissue.asp?month=december&year=2017&tot=1&id=13

Friday, May 23, 2014

What best you can do today!

Things matter what best you are doing today. Nobody bothers what greatness you had or what best you contributed in the past. Try to keep the consistency whatever you do.. and, always try to do what you like. end of the day if you can satisfy/justify yourself for the effort you spend, no other appreciation/recognition come on top of that. its very important that you are satisfying yourself for the work you do!

Try to do what you like and try to do that in your best way! in your court, you are going to be the winner, always!!

Thursday, May 22, 2014

My old posts from s4java


i lost my domain s4java, but my posts still there in google site. thanks to google. go to s4java

Wednesday, December 1, 2010

From OAK to JAVA

I like to follow history behind computers and programming languages and I also wondered how peoples inventing or creating operating systesm or programming languages. One another thing amazed me is the way JAVA evolved (See the history in PPT) and how Green team at Sun arrived the name so called "JAVA". See below email from Gosling to Jonathan (copied from Jonathan's blog)
--------------------------------------------------------------------
From: James Gosling
Date: August 24, 2007 8:16:58 PM PDT
To: Jonathan Schwartz

Subject: How was Java named?

The story goes like this:
We needed a name. We had been using "oak" (which was selected essentially randomly by me), and while the team had grown attached to it, the trademark lawyers ruled it out. We had lots of email debates about names, but nothing got resolved. We ended up in the awkward position where the #1 thing stopping us from shipping was the name.
Our marketing lead knew someone who was a "naming consultant" (I don't remember his name, but he was great). We could neither afford the price nor the time of a conventional product naming process. He agreed to do something rather odd, but effective and quick: he acted as a facilitator at a meeting where about a dozen of us locked ourselves in a room for an afternoon. He started asking us questions like "How does this thing make you feel?" (Excited!) "What else makes you feel that way?" (Java!) We ended up with a board covered with essentially random words. Then he put us through a sorting process where we ended up with a ranking of the names. We ended up with a dozen name candidates and sent them off to the lawyers: they worked down the list until they hit one that cleared their search. "Java" was the fourth name on the list. The first name on the list was "Silk", which I hated but everyone else liked. My favorite was "Lyric", the third one on the list, but it didn't pass the lawyers test. I don't remember what the other candidate names where.
So, who named Java? Marketing organized the meeting, the consultant ran it, and a whole pile of us did a lot of yelling out of random words. I'm honestly not real sure who said "Java" first, but I'm pretty sure it was Mark Opperman.
There certainly wasn't any brilliant marketing mind who went through a coherent thought process.
--------------------------------------------------------------------------

But, there is another reason behind this wirte up,

public class HelloWorld{
public static void main(String args[]){
System.out.println("Hello "+args[0]);
}
}

What you think about above 5 line program? probably one answer among below,
- just a Hellow World program for a beginner
- this program or similar in other languages executed at least once in all amost all programmers life

but, the story I am going to explain here pretty unbelievable.
we just had a discussion - as a start up session for our SCJP campiagn. I planned a session for 15 mins to go over the basics
- Brief history of JAVA
- Compile Java file
- Execute java file
- Creting Jar
- Executing Jar
More over this is not a planned session, i just collected some info about above points and put into a PPT
I never expected this session going to cross around 1.5 hrs and the number of questions we received just based on the "Hellow World" program was amazing!
For others benefits, I am just adding the questions so that you can brush up the JAVA basics..
1. What will happen if the class is Private?
2. How many public classes can add in a single JAVA file?
3. Why the main class is public?
4. What is the significant of static and void in main method?
5. Why don’t a main method return something to the caller?
6. Why JAVA program execution slower comparing to C or C++?
7. Why the argument is a String array?
8. How we can package and compile a set of JAVA files together to meet a common functionality.
9. How to create and run a JAR?
10. How to specify our own MANIFEST file while creating JAR?
11. Why java is generating byte code instead of binary executable like C or C++
12. Why JAVA is not preferred or not meant for command line programming?
13. Java file name case sensitive?
14. Java class name case sensitive?
15. What will happen if file name & class different.
16. Can we have more than one class in a single file?

Interesting?

Question 5 iteslef can be a topic for a PHD. :)
Download Java Intro PDF @ >http://www.s4java.com/tutorials

10 Opensource tools/frameworks for Artificial Intelligence

Here are 10 tools/frameworks which popular or getting popular in the “hot topic” of today’s IT world – Artificial Intelligence. The detai...