Jump to content

could someone point me to some good online websites/libraries where i can learn about these

(free is good)

Or are there other forums/communities where i can discuss about coding (only other one i am on are r/coding and r/noobscode)

 

 

PS : currently in engineering

doing it because it sounds cool

 

Link to comment
https://linustechtips.com/topic/804829-i-want-to-learn-about-pythonai/
Share on other sites

Link to post
Share on other sites

Libraries for AI:

  • For general data and numeric work: the Scipy stack (numpy, scipy, matplotlib, pandas in particular)--necessary for doing really any work with data (and AI is all about data).
    • Numpy gives you native multidimensional arrays and lots of very fast, efficient operations on those arrays (e.g., dot products, matrix norms, convolutions).
    • Scipy has a lot of general scientific functions (e.g. Fourier analysis, Voronoi tesselations, and function optimization routines), and also sparse matrix formats (for storing large data sets that have a lot of zeros in a memory-efficient way).
    • Matplotlib is a very large, but extremely powerful library for doing visualizations of data in pretty much whatever way you can imagine--scatter plots, line plots, 3d surfaces, shared axes, etc.  It's a big, big library that can be a bit confusing at times, but it's very good to know.  (Alternately, look into related libraries like Seaborn or Pygal--there are others, but Matplotlib is the one I use most so I don't know the others that well). 
    • Pandas gives you access to dataframe objects that make dealing with tabular data, particularly non-numeric data, pretty easy.  (though Numpy is better for strictly numeric data).
  • For non-neural machine learning: scikit-learn.  An excellent library that's got some of the best documentation I've ever found for anything, and a lot of pretty good implementations of classic ML algorithms (e.g., SVM, decision tree, Naive Bayes, TSNE, K-Means, and way more).
  • For neural networks:
    • Tensorflow or Theano if you want to build networks completely from scratch.  Both are general-purpose GPU accelerated math libraries, but with a focus on deep learning/neural networks.  Theano is older and a bit more general-purpose; Tensorflow is newer, made by Google, and more geared at deep learning/neural networks.  There are pros and cons to both, but they'll both be pretty comparable at the end of the day.  Tensorflow is becoming far more common in industry (it's the de facto platform for a huge amount of neural network work these days), so that might make it a more attractive options.
    • Keras--a library that acts as a very nice frontend to either Theano or Tensorflow (you can pick--I think it uses Tensorflow by default, but it's very easy to change).  The Keras people have already done a lot of the legwork with building different neural network architectures for you, so you don't have to go build an LSTM layer or GRU layer by hand--just use the one that comes in Keras.
  • For general speedups of non-Keras/Theano/Tensorflow code: Cython.  It adds static typing to Python and gives you a Python-to-C transpiler that does what I've been told are some very aggressive optimizations.  You'll spend more time actually writing you code than if you used pure Python, but if you need something to run super duper fast, this is an incredible tool.

And there are a bunch of other libraries for dealing with specific data sources, e.g. NLTK/spaCy/gensim for doing natural language processing.  Just google around a bit if you need something more specific.

 

For general Python resources, the official Python documentation is actually not a bad place to start--they have an introduction/tutorial in the language tha'ts pretty basic, but enough to get you up and running reasonably fast.  O'Reilly has a lot of very good Python books, but I don't think any of them are free.  No Starch Press also has a lot of Python books, some (but not all) of which might be free.  There are also lots of websites around that have problem sets designed to be solved using programming (they're usually not written with any specific language in mind): Project Euler for math-heavy stuff, Rosalind for biology/genetics, and Kaggle for machine learning are all ones that come to mind.  Also look around on EdX, Coursera, and MIT's open courseware--there should be some free classes there you can use.

 

For AI resources, all the above still applies (minus the main Python documentation), in addition to the PyData conferences.  The PyData YouTube channel posts a lot of videos, a few of which are more tutorial-oriented. (PyData is a group of conferences for data scientists, with a focus on Python as the primary tool).  The mayb PyCon (the general Python language conference) might also have some occasional AI-ish tutorials or talks.

Link to post
Share on other sites

https://www.codecademy.com/learn/ibm-watson

 

python and using Watson. 

                     ¸„»°'´¸„»°'´ Vorticalbox `'°«„¸`'°«„¸
`'°«„¸¸„»°'´¸„»°'´`'°«„¸Scientia Potentia est  ¸„»°'´`'°«„¸`'°«„¸¸„»°'´

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×