Skip to main content

How to start Machine learning Easily

So I have started learning machine learning at least 1 year ago. Many People ask me "how do i start Machine learning ?". So here's the tip start.


Question: Which OS to use?
Answer: Use Linux, if you are on Windows you will be stuck at some point. If you don't want standalone Linux Operating System then Dual Boot with windows. Ubuntu and Arch Linux are my favorite distros. Linux Mint can be added to the list. But Many Machine learning APIs target Ubuntu. and Arch has all the libraries in the repository. If you do not trust me just go to this link, and check your self.
Short answer:
Arch (if you are advanced user)
Ubuntu (beginner or just get things done )


Question: Which programming language to start with?
Short answer: Use python don't get a headache with java or c in machine learning, i am not against both of them. but the installation of libraries become easy in Linux for python. and also python is a sea of Machine learning libraries. so just get started with Python.


Question: Which IDE to choose for Python?
Answer: Sublime text + Terminal = Couple Made in heaven (For beginners)
                Vim + Terminal = Couple Made in heaven (For Advance users)
                Or you can use Pycharm if you have a nice pocket.

Question: Which API to get started?
Answer: Use keras on top of tensorflow, because keras is now official tensorflow wrapper in Python. The reason of keras is If you want to add a layer (any layer , hidden or input or output layer). you have to add just one line. and you are good to go.
After achieving mastery in Keras, start with tensorflow. Core tensorflow will give you nightmare because of its syntax.
but once you get started then you have abilities to control core parts of tensorflow and also you will get more flexibility over the code.

Question: Python 3 or Python 2.
Answer: This answer mainly depends on two things.
Personal preference or distro you are using.

If you are on arch then Python 3 has tensorflow support for Cuda you don't have to compile for your system.But on Arch Linux, if you want to start with python 2 and you are with Nvidia graphic card. then you have to re-compile it for python2 for Cuda support. and on my i7 laptop, it got 2 hours to compile.

Ubuntu: does not matter, Ubuntu has both python 2 and python 3 with Cuda support. and it is directly shipped by Google developers for Ubuntu users. so as I said Ubuntu has targeted os for most of the development libraries. Like swift.
Swift is available as snapshot and also as installation via Ubuntu repository.
But arch Linux has available this language in AUR which compiles it from source and then install.


Miscellaneous :

Best combination :
Ubuntu : Sublime + Python 2 / Python 3 + tilix terminal + keras (tensorflow )  = made in heaven
Arch Linux : Sublime + Python 3 + tilix Terminal + Keras (tensorflow ) = made in Heaven, and if possible use Nvidia Graphic card for faster training.
CPU will train in months and nvdia will train in hours. ;p
and Nvidia also cost money.
And then depends on your own choice.


NOTICE: Before jumping to the conclusion. This is beginner's guide to just get started with machine learning.

Links : -

Ubuntu Download
Arch Linux Installation tutorial [its headache and hard, But fun :) ]
Tensorflow Guide
Keras Guide 


https://youtube.com/robokishan
https://facebook.com/robokishan
https://instagram.com/robokishan
https://twitter.com/robokishan
https://linkedin.com/in/robokishan
https://patreon.com/robokishan














Comments

Popular posts from this blog

Python Reads gmail

This is tutorial on how to read gmail emails with python programme : ----------------- #!/usr/bin/python __author__ = 'Robokishan' import email import imaplib import ctypes import getpass mail = imaplib.IMAP4_SSL('imap.gmail.com',993) unm = raw_input("insert Email : ") #pwd = raw_input("insert password : ") pwd = getpass.getpass("input : ") mail.login(unm,pwd) mail.select("INBOX") def loop():    mail.select("INBOX")    n=0    (retcode, messages) = mail.search(None, '(UNSEEN)')    if retcode == 'OK':             for num in messages[0].split() :          #print 'Processing '          n=n+1          print n          typ, data = mail.fetch(num,'(RFC822)')          for response_part in data:             if isinstance(response_part, tuple): ...

ArduPilot reverse engineering #1

its been a long time, from drone development and also from electronics and blogging, let it go, tonight it is ardupilot time, I have seen some algorithms working like get position and velocity from accelerometer data but haven't found anything yet. so was surfing through the code and found that AP_InertialNavEKF.h library is just fallback library for the ardupilot to switch between ekf and normal mode.  a comment from first line /* A wrapper around the AP_InertialNav class which uses the NavEKF filter if available, and falls back to the AP_InertialNav filter when EKF is not available */ /** now working on how can I implement on my own drone since my plans are different from ardupilot. so here i am now sleepless nights and go on until I finally make my quadcopter (the only incomplement project left).

How to make stoppable thread in python

Python multi threading: stoppable thread:     many of you heard about threading in python is very bad. its not easy to stop it but there are several method to do that thing happen .     so lets get started.     create file name called <filename>.py then paste this code in your text editor. import threading import time ##writer = Robokishan ##stopable thread class ThreadingExample(object):     """ Threading example class     The run() method will be started and it will run in the background     until the application exits.     """     #NOTE: STOPING THREAD IS BAD METHOD     def __init__(self, interval=1):         """ Constructor         :type interval: int         :param interval: Check interval, in seconds       ...