Machine Learning For All

The Rise of the Machines

In recent decade we are witnessing the resurrection of interest in neural networks due to advances in computing hardware such as GPU accelerators and availability of large data sets such as Facebook, YouTube etc. for training those networks. As a result there are a great number of research articles and practical applications emerged in the filed of artificial intelligence that found fruitful usage at Google, Facebook, Amazon etc.

Meet TensorFlow Library

As a forerunner in the filed of applied machine learning Google has developed and open sourced TensorFlow software machine learning library that is accessible for all to tackle the problems in computer vision, natural speech processing and more. If you find this information interesting then following steps will help you to start playing with this library. The library is written in C++ with APIs available in C++ and Python. Actually most  education resources that are available online for TensorFlow use Python.

Installation Is Fast

Tensor Flow is developed with Linux and OS X in mind and struggles on Windows. That is why the steps below taken from official manual were run on Ubuntu 15.10.

  • Open terminal in Ubuntu/ Linux 64 bit and install pip package management system for Python
$ sudo apt-get install python-pip python-dev
  • Since I had no GPU on my  64 bit machine I chose this binary
# Ubuntu/Linux 64-bit, CPU only, Python 2.7
$ export TF_BINARY_URL=https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.11.0rc2-cp27-none-linux_x86_64.whl
  • Now let’s install TensorFlow library. Be prepared it will take a while
# Python 2
$ sudo pip install --upgrade $TF_BINARY_URL
  • If installation went flawlessly which it was in my case it is possible to test it typing
$ python
  • When you’ll see ‘>>>’ it means Python interpreter is running and you can play with it
>>> import tensorflow as tf
>>> hello = tf.constant('Hello, TensorFlow! I've made it so far.')
>>> sess = tf.Session()
>>> print(sess.run(hello))
Hello, TensorFlow! I've made it so far.
>>> a = tf.constant(10)
>>> b = tf.constant(32)
>>> print(sess.run(a + b))
42

Hot update: TensorFlow 0.12 available on Windows 7/10

Today we announced native Windows support in TensorFlow 0.12, with packages for Python 3.5. If you have installed the 64-bit version of Python 3.5 (either from Python.org or Anaconda), you can install TensorFlow with a single command:

C:\> pip install tensorflow

How to Use It?

If you want to get a feeling of what TensorFlow is capable of first hand then try to follow the Image Recognition official tutorial or do the steps below to recognize your most favorite image (do not try it with this one). TensorFlow Inception v-3 model will try to recognize the image provided by you and emit the caption for the image from the highest to lowest probability. For example, if you provide an image of Italian Alps then the result will be something along these lines.  

background

alp (score = 0.73395)
valley, vale (score = 0.18973)
cliff, drop, drop-off (score = 0.00309)
promontory, headland, head, foreland (score = 0.00171)
lakeside, lakeshore (score = 0.00154)

Try It yourself

  • The models and examples generally installed at this path
/usr/local/lib/python2.7/dist-packages/tensorflow
/usr/local/lib/python2.7/site-packages/tensorflow
  •  To figure out the exact location use this directive for python 2.7 (change ‘python’ to ‘python3’ for Python 3)
$ python -c 'import os; import inspect; import tensorflow; print(os.path.dirname(inspect.getfile(tensorflow)))'
  •  For Image Recognition you need to run classify_image.py script which can be found at this path
/usr/local/lib/python2.7/dist-packages/tensorflow/models/image/imagenet
  • Place the image in JPEG format you want to be recognized anywhere you like. In my case it was at this destination
/home/me/Pictures/image.jpg
  • Then run Inception v-3 model on that image this way. Pay attention that ‘– -image_file’ argument is there to indicate the path to the image
$ python /usr/local/lib/python2.7/dist-packages/tensorflow/models/image/imagenet/classify_image.py --image_file /home/me/Pictures/image.jpg

Teach Yourself Machine Learning In Ten Years

So you like what you did with TensorFlow and you want to learn the subject in more depth. Congratulations, since there are more resources than you can digest in your lifetime. What I personally found useful for me so far are.

1. Start with the TensorFlow site itself where you can find tutorials, guides and APIs description.

2. If you need a more thorough introduction to Machine Learning try to get helped by Udacity free courses on the subject

3. If you are like me and likes books and rigorous theoretical background then this book by Michael Nielsen is just for you.

4. Machine Learning Mastery site by Jason Brownlee is definitely a place to visit

5. If you are an expert in the filed of Machine Learning then maybe you’ll find this peculiar blog by Chris Olah from Google Brain Team useful.

More Posts Are Expected 

Stay in touch.

Java Code Geeks

Get Ready For Machine Learning

Welcome To The Machine

In the upcoming weeks I’ll plan to post materials about Machine Learning be it deep or shallow etc.

A Few Bits Here And There

  • Just to warm your interest start by skimming over this insightful blog by Chris Olah a member at Google Brain Team.
  • Then take a look at TensorFlow open source machine learning library developed in Google
  • Do not forget to check a very different and yet somewhat similar to Neural Networks  Numenta’s Hierarchical Temporal Memory (HTM) model
  • Those of you who want to know more about Numenta 

More Stuff is Coming

So stay tuned.

My Zoo has been just published

jungle12.png

Update to the latest version 1.3 at Google Play

What’s this all about?

My Zoo application will help your kids to learn about various animals, their names and sounds and it is out there at Google Play. This game was brought to you by raising star application company neaapps

Features

  • Animals names are in English, Russian and Hebrew
  • Dozens of jungle and domestic animals with their sounds
  • Interactive animation that will captivate your kids
  • Supported on tablets
  • No ads
  • Addctive and fun

What’s new in this version

To make navigation super fast and easy for kids two buttons were added to farm and jungle screens.

To jump to farm animals from jungle tap on the sheep’s icon

to_farm.png

To jump to jungle animals from farm animals tap on the parrot’s icon

to_jungle.png

Take a ride

Do try this at home or anywhere at all. Beware that the sounds may cause people around you to start smiling and laughing.

Your kids gonna love this game

screenshot_2016-10-14-22-41-47_com-neaapps-myzoogame-myzoogame

For Kids

There are plenty of games at Google Play that are related to animals but if you want something special for your kids then prepare for the upcoming neaapps MyZoo game.

Features

Though it may resemble similar games on the subject it brings nice graphics and an easy to use interface.

The game has two categories of animals images with their respective sounds. Those are wild and domestic animals.

duo.png

In addition, the application is customized for English, Russian and Hebrew. Animals sounds are international though.

How can I get it?

My Zoo at Google Play.

What’s next?

And then comes Nine

Sudoku Breeze has been published

publishBig2.png

 

Update to latest version 1.6 at Google Play

Intro

A fresh breeze of Sudoku is coming your way. Sudoku Breeze application for Android brings a fresh look at sudoku games. Light and refreshing user interface is just like a breeze at the seashore. It’s a nice and relaxing companion for your leisure time. It is brought to you by neaapps the creator of the Fast Currency Converter and 100% sMArTHapps.

With a great pleasure we want to inform you that Sudoku Breeze has been just published at Google Play. 

So hurry up and take a look at its beautiful design and functionality.

What’s new in 1.6?

  • Sounds added to Win/ Lose dialogs
  • Sounds settings preserved after app restart
  • Notification about current sound state added to Menu screen

Features

  • It’s free
  • Nice animation and pleasant user interface
  • Engaging sounds
  • Three levels of difficulty 
  • Share your scores with your friends

What’s next?

  • This post will be expanded to have a user manual for a game in case of any need
  • Bugs found by you will be fixed according to priority and severity since we are already working on a next game. It will be a game for little children and the draft name is MyZoo. So stay tuned.

 

Screenshot_2016-08-17-21-29-54.png

 

Fast Currency Converter Published

largepish.png

Update to latest version 2.13 at Google Play

Intro

Before or during a business or leisure trip there is a time when you want to know current currencies’ exchange rates even though credit cards are omnipresent. You check Google Play Store just to find that there are dozens of app just for this. However, they tend to be over-complicated. They have complex settings etc. Exactly because of this we at neaapps are glad to introduce to you Fast Currency Converter. A nice, simple and fast Android application.

What’s inside?

  • Conversion from currency to currency
  • Conversion based on Base currency available for all currencies
  • Easy sharing of current exchange rate with you friends
  • All settings retained after application restarts
  • It’s free

How to guide for version 2.13

Convert currencies

1. Choose first currency to convert from by tapping on a currency flag from currencies list

2. Choose second currency to convert into by tapping on a currency flag from currencies list

3. Tap on Insert Amount text field and insert desirable amount of money to convert

ss_0_partial.png

 

4. Tap on Convert button in keyboard section to convert currencies

ss2.png

 

Set Base currency

5. To set a base currency long press on desired currency row. For example, if current base is Euro and you want to change to US dollar, then long press on US dollar  currency row.

ss1_partial.png

 

As a result you’ll see following dialog that reminds you what base was set.

ss2.png

 

Finally, for this particular example the new base in US dollar will be shown. All the exchange rates were updated accordingly to the base currency.

ss3_partial.png

 

6. Additional information dialog on how to set base currency was added to Settings tab. To see it select Base currency in Settings.

ss4_partial.png

 

ss5.png

 

Share app

7. Share current exchange rate using Share today’s rate via Settings

share_app.png

 

What’s next?

In the upcoming update there will be

  • Bugs found by you fixed

 

Your feedback is welcomed

Here
Java Code Geeks

 

Android vs. iOS Development

fight.png

What platform to choose for development?

Well, you’ve come to conclusion to start developing mobile applications and can’t help doing it. The problem is it is quite difficult to decide what platform to choose for development. Both Android and iOS have their pros and cons and choosing one of them depends also on your personal feelings to Apple’s products or companies backing Android ecosystem.

In this post I’ll cover pros and cons of each platform and conclude with the comparison table. So lean back and enjoy reading.

Prerequisites for development

To develop for any platform be it Windows Phone or any other you’ll need all or part of the things below, depending on what you’ve already have.

  • Internet access
  • Computer
  • Phone
  • Developer Account
  • Application Store registration
  • Programming language
  • Development framework such as Visual Studio

To get those things you’ll have to make certain amount of investment in advance but there is a price to pay even for developing for open source platforms.

iOS development

Prerequisites for development

Below I provide what you’ll need for iOS development including the price tag as of today 7/16/2016 in US

  • Internet access ———–charges apply according to your cellphone provider
  • Mac Mini  ————– –$499 
  • iPhone 6 —————-$549   
  • iOS Developer account —–$99 every year
  • Apple ID —————–need to provide a valid credit card
  • Swit or Objective C ——– free of charge after setting up an Apple ID
  • XCode —————— -free of charge after setting up an Apple ID
  • Fan factor ————- –purely subjective feelings

As a rule of thumb Apple products are and tend to be expensive and there is no sign that in the future this trend will change. So taking this track for development will certainly be costly but if you already possess iPhone or Mac then you’ll spare the money.

I’ve only picked up the cheapest Apple products available as you can see because any Mac or iPhone except of mentioned above would cost you more money.

What I liked and not about iOS development

Recently I’ve participated in developing a number of modules in a security vulnerable mobile application for iPhone. It exemplifies a typical application that connects to a bank and has software security vulnerabilities built in to showcase capabilities of certain security company products.

cx

Intuitiveness of OS X UI and speed of Swift

The development for iPhone happened on Mac Mini with latest OS X version and XCode with Swift. As a regular user of Windows I was very impressed by ease and intuitiveness of OS X and like it very much.

Developing in Swift was also very impressive and nice in comparison to developing in Java under Android Studio. Swift is a modern high level language that is more concise and powerful than Java 1.7 is.

No refactoring

As for XCode it was also nice to play with but lack of refactoring capabilities for Swift places it behind Android Studio that is based on IntelliJ with powerful refactoring capabilities built in.

Knowledge of under the hood libraries required

In comparison to Android development in iOS you’ll need to dive deep into operating system libraries to be able to develop iPhone applications. In contrast, developing for Android you do not need to know inner workings of operating system since Application Framework layer abstracting them for the developer.

Development resources

There are few resources when it comes to developing for iPhone and you’ll face hard times looking for working examples.

Android development

Prerequisites for development

Below I provide what you’ll need for Android development including the price tag as of today 7/16/2016 in US

  • Internet access ———————charges apply according to your cellphone provider
  • Any computer with at least 2GB of RAM —$199.00
  • Any phone such as BLU —————$99.99
  • Google Developer account ————-$25 once and for lifetime
  • Java —————– ————–free of charge
  • Android Studio ———————-free of charge
  • Fan factor ————- ————-purely subjective feelings

What I liked and not about Android development

Take what you’ve got and get going

If you have an Android phone and any PC with at least 2GB of RAM you can start developing for Android right away. There is no need for any registration as long you want to run your application on your phone only.

Android Studio’s running anywhere

Android Studio that comes at no cost is powerful development environment that is intuitive and easy to use. In addition, in contrast to XCode that may be run only on Mac, Android Studio can run on Linux, Mac and Windows that makes it much more attractive option.

Developing fast

Due to wealth of tutorials, code example and entire applications available online it is very easy to proceed with Android development. It is possible to find almost any answer when there is a question during the development.

Development resources

There are plenty of resources when it comes to developing for Android

Conclusion

As you’ve seen from the price of development point of view Android is a platform to choose. But other considerations such as personal feelings and preferences are coming into way of cold logic. So decide for yourself and remember that after all every code is translated into ‘0’ and ‘1’ to run on a processor.

# Item iOS Price Tag Android Price Tag
1. Internet access same Same
2. Computer $499 = 500 $199.00 = 200
3. Phone $549 = 550 $99.99   = 100
4. Developer Account $99   = 100

Multiplied by years

$25

Once for a lifetime

  Total price  

$1150

 

$325

 

Do not miss

Check the post about neaapps because more games are coming.
Java Code Geeks