NLP is Natural Language Processing

Get ready for a real NLP

I am back to blogging and have a motivation to post a number of posts (or at least one) on the subject of Natural Language Processing. Upcoming posts also will contain information on recurrent neural networks such as LSTM. So stay tuned.

For now, check this out

If you are into Natural Language Processing (NLP) then you may find links below useful.

Papers

1. Attention Is All You Need paper in arxiv.

 

 

Deep Le… Space, Do You Copy?

600px-AS17-Flag_shots

There are other things too

In the middle of Deep Learning rush we forget that there are other things on this planet and off it that are fascinating. That’s right, I want to share with you the best materials I saw so far on Moon exploration that are highly recommended.

Books From Apollo Participants 

There are quite a few books written about US space program. But there are few that are really good. I’ve chanced to read some of them and below follow the best ones in my opinion.

The Last Man On The Moon Book

last1

The Last Man on the Moon: Astronaut Eugene Cernan and America’s Race in Space

This book is very special and it is a memoir by Gene Cernan the commander of Apollo 17. He was literally the last person to walk on the moon.

ProsThere is a special atmosphere in this book. The descriptions are so vivid and colorful. Gene Cernan was deeply touched by lunar visits since he was there twice on Apollo 10 and then Apollo 17. It is available on Kindle.

                                               Cons. It finished so fast. (No photos in the book)

The Last Man On The Moon Movie

lastmanmoon.jpg

There is also a movie named the same which may be found for free on the internet or bought here. Here is the trailer.

Two Sides of the Moon: Our Story of the Cold War Space Race

2side

Two Sides of the Moon: Our Story of the Cold War Space Race

This book combines recollections by Apollo 15 commander David Scott and his contemporary Alexi Leonov who was the first man to walk in space.

Pros. Very interesting book because of complementing accounts provided by both distinguished persons. Available in Kindle format.

Cons. Not a single photo.

From The Other Side

failureFailure Is Not an Option: Mission Control From Mercury to Apollo 13 and Beyond

The book below provides very different account of the matters described in the books above. It is written by Gene Kranz the Flight throughout entire US space program starting from Mercury and ending in Shuttle era.

Pros. The more technical book than astronauts accounts. Available on Kindle.

Cons. No photos again.

Documentaries that cannot be missed

  1. EARTHRISE: The First Lunar Voyage – documentary about Apollo 10.
  2. Apollo 13 Documentary 1958 – as it was portrayed by NASA.
  3. Apollo 15 Remembered 40 Years Later – documentary for Apollo 15 featuring Neil Armstrong and others.
  4. In The Shadow of The Moon – british documentary with interesting stuff.
  5. The Last Man On The Moon – documentary featuring Gene Cernan.
  6. Failure Is Not An Option A Flight Control History of NASA – documentary featuring flight controllers and Gene Kranz.
  7. Moon Machines – tools that made lunar program possible and people behind them.
  8. From The Earth To The Moon – a series produced by Tom Hanks. 

Not because they are easy, but because they are hard!

This post can’t be finished without the full inspirational to say the least speech by John F. Kennedy. It is incomparable to the current president of the US. It is a giant  speech for a president and a giant gap between then and now. 

potus.png

President Kennedy’s Speech at Rice University

No winter but AI global warming

formula

Name things for what they are

Is Deep Learning rage simply a bubble or is this time it here for a long time to stay. As researchers proposed first let’s change the Deep Learning title into the more humble and exact Multilayered Network for Functions Approximation. Now it sounds more practical and there is no sign of hype. Then check to what fields those networks were applied and see if it is diverse and if the algorithms used are universally applicable. Check the number of articles published that have a real essence within them. If you’ve got ‘yes’ as an answer to those questions then it feels like finally those approaches are really usefull.

What’s next?

This post will be updated in a near future. Meanwhile check the posts by Carlos E. Perez from IntuitionMachine.com that writes extensively on the subject and do not forget to check his ‘The Deep Learning Playbook

Wind of Deep Change

Welcome to the world of Machine and Deep Learning

Following my transition to another continent in near future I’ll be able to focus more on Machine and Deep Learning being a technical editor at renowned Machine Learning Mastery site authored by Dr. Jason Brownlee. It means you can expect more posts on machine learning to come especially on LSTM and recurrent neural networks.

What is it like to be a technical editor?

Throughout my career I’ve been a SW test engineer and SW developer but in parallel I’ve been busy helping to edit books as Jumping Into C++ by Alex Allain and other projects, such as Kindle Optimizer Chrome extension. So becoming a technical editor in machine learning field is just a logical step to make. Actually technical editor is a bit like a QA engineer and a developer at once since you have to understand how Python code is working to make that LSTM to be able to predict time series values and to be a test engineer to make the content and the code to be as good as it can be. In addition, there is a kind of freedom that regular tester or developer do not possess which is to suggest changes to the author which may be meaningful and influential. Most importantly, technical editor deals with the raw content of a future article, a blog post or a chapter from the book that millions of people may read and it provides you with the understanding of the responsibility that you bear on your shoulders. The corrections that you make may influence readers and make their experience pleasant or not.

Why machine or deep learning after all?

Technical editing as testing or programming is a universal position since it can be successfully applied to various topics in those fields, but machine learning has the proper ingredients of math, programming and future potential that makes it very attractive.

Stay tuned as John Sonmez says

So if you follow this blog stay around the corner to be up to date with the current progress in Deep Learning field and if you care check this public Deep Learning for All group at Facebook where I share latest and in my view greatest news coming from Deep Learning fruitful field.

 

 

How to achieve a goal?

Set a goal

Set any  goal that does not contradict known laws of physics, though remember that not all laws are known to us. 

Create a plan

Write a quick plan for a goal. Detailed or not it doesn’t matter since it will be refined in time.

Remember this while acting on a plan

A goal will be achieved by a plan while moving towards it

  • Gradually
  • Consistently
  • Constantly

It is a great force

Acting in this way is like being a force of nature.

 

OpenCV installation on Linux and Windows

ubuntu_opencv-1

How hard is to install OpenCV?

This was the question that I asked myself lately when I needed to use OpenCV for a project. I thought it must be simpler on Ubuntu than on Windows. But I was wrong. The goal of this tutorial is to provide working guidelines for OpenCV installation. I’ll cover installation instructions for OpenCV with following configurations:

Windows 7/ 10 

  • OpenCV 3.x.x with Python 2.7
  • OpenCV 3.x.x with Python 3.5

Ubuntu 16.04 

  • OpenCV 3.x.x with Python 3.5

Installation on Windows 7/ 10

OpenCV 3.x.x with Python 2.7 on Windows 32 bit

To have all the dependencies that are related to Python it is useful to install Anaconda.

  • Install Anaconda 2 for Python 2.7 (32 or 64 bit)
  • Install Anaconda 3 for Python 3.5 (32 or 64 bit)
  • Now we can install OpenCV by using pre-built libraries by downloading them from here.
  • For the sake of this tutorial I used OpenCV version 3.2.0
    • opencv-3.2.0-vc14.exe
  • After you’ve installed downloaded OpenCV version there is a need to move cv2.pyd file to a Python installation library.

Look for the cv2.pyd at the opencv installation folder

C:\Users\You\Downloads\opencv\build\python\2.7\x64\cv2.pyd

And move the cv2.pyd file to Python 2.7 installation folder

C:\Users\You\Anaconda2\Lib\site-packages\cv2.pyd

python_2.7.png

Example application

  • To test that opencv installed correctly
  • Open command line and run python. Then type the commands below to figure out what is the current opencv version.
C:\Users\You>python
Python 2.7.13 |Anaconda 4.3.0 (32-bit)| (default, Dec 19 2016, 13:36:02) [MSC v.1500 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
Anaconda is brought to you by Continuum Analytics.
Please check out: http://continuum.io/thanks and https://anaconda.org
>>> import cv2
>>> print(cv2.__version__)
3.2.0
>>>

OpenCV 3.x.x with Python 3.5 using Wheel on Windows 7 64 bit

  • There is no library for Python 3.5 support in OpenCV out of the box that is why we can use  unofficial Windows binaries for Python extension packages from here to be able to use it.

Note: I downloaded this one because I have Windows 7 64 bit

  • opencv_python-3.2.0-cp35-cp35m-win_amd64.whl

Pay attention that 3.2.0 means opencv version i.e. opencv-3.2.0

cp35 means Python version i.e. Python 3.5

  • After you downloaded this file open the command line and open the directory this file located in. For example, let’s say it was downloaded to Downloads folder.
  • Change current folder to Downloads 
C:\>cd C:\Users\You\Downloads
  • Install wheel with pip install command
C:\Users\You\Downloads>pip install opencv_python-3.2.0-cp35-cp35m-win_amd64.whl
Processing c:\users\andrei\downloads\opencv_python-3.2.0-cp35-cp35m-win_amd64.whl
Installing collected packages: opencv-python
Successfully installed opencv-python-3.2.0
You are using pip version 8.1.2, however version 9.0.1 is available.
You should consider upgrading via the 'python -m pip install --upgrade pip' command.

C:\Users\You\Downloads>
  • Pay attention that you saw this line ‘Successfully installed opencv-python-3.2.0’

Example application

  • To test that opencv installed correctly
  • Open command line and run python. Then type the commands below to figure out what is the current opencv version.
C:\Users\You\Downloads>python
Python 3.5.2 |Anaconda 4.2.0 (64-bit)| (default, Jul 5 2016, 11:41:13) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import cv2
>>> print(cv2.__version__)
3.2.0
>>>

Additional resources

Installation on Ubuntu 16.04

To install OpenCV on Ubuntu follow the steps in the guides below. The first one is the best and it worked for me.

  • Simply run this command for basic opencv3 installation.
conda install -c menpo opencv3
  • If Anaconda is not installed then run this one to install it.
sudo apt-get install python-opencv

Additional resources

What’s next?

Now that you have a working OpenCV you may watch this nice tutorial by Siraj Raval that is funny and hands on with OpenCV. It will teach you How to do Object Detection with OpenCV. It will also teach you that there is a need to run a code at least once before filming a YouTube video.

In addition if you are interested in object detection with OpenCV then definitely look at Satya Mallick tutorial on the subject.

 Java Code Geeks

Kids gonna love LSTM deep learning network

Teaser

Prepare for an upcoming Android game from neaapps applications development. This game will be based on a LSTM deep learning network for prediction of a next character from various length characters string.

For now you can check out the already existing apps brought to you by neaapps.

Why Long Short Term Memory deep learning network?

It turns out that LSTM is very good at learning and predicting sequences of patterns. That is why it is natural to use it for creating engaging games for little and not so kids. For more information what is LSTM and how to use it read Chris Olah’s post.

Stay tuned

It will be available soon in the nearest  Google Play Store.

Resources

The inspiration for this application came from a chapter on LSTM from Jason Brownlee’s Deep Learning With Python book.