Advice needed for AI / ML / DL libraries & tools

Hello again. I’m wondering if there is a software bundle that comes with Python based libraries and tools (Numpy, TensorFlow,…) that are widely used by AI / ML / DL scientists and engineers for free. While I have googled this information, I would also like to hear directly from the experts ! Thanks.

The answer of course is ‘It depends…’ on what part(s) of AI/ML/Data Science you are working in. Here are just three python-based libraries that I think are worth knowing about. I’m sure others will want to extend this list.

SciPy - Fundamental algorithms for scientific computing in Python

rpy2 - an interface to R running embedded in a Python process.

Matplotlib - a comprehensive library for creating static, animated, and interactive visualizations in Python.

Thanks but I prefer a “bundle” that offers multiple free Python based libraries & tools for doing AI / ML / DL, you know, all in one install, especially if they are all based on the same language like Python. I may not need everything but the ones that are mostly used by the AI / ML / DL community should be there. I wonder if Anaconda is a good one.

Always a tradeoff between ease and control. There are on the order of 1,000 packages in the Anaconda distribution, but how many of them do you really need or want installed? I started there a few years ago, but these days I use package managers to create tailored virtual environments into which I install exactly the libraries/ versions I want (and their dependencies) and nothing else.

Right. Anaconda is not an ML/DL package: it’s a framework for managing different environments, where an “environment” is a particular combination of versions of python and the various support libraries you need to run some particular application. The whole problem in the python OSS world “writ large” is the everything mutates with great speed. The creators of any given application or higher level packages do it with a particular set of versions of whatever the libraries are that they need. Then they frequently move on with their lives and don’t bother to update their app to the changes in the underlying libraries. That means that you can’t just pull the latest versions of the required packages and expect that version of that app to work.

The DLS notebooks are a classic example of this phenomenon: you can’t just download them, install the latest versions of python, numpy, matplotlib, yadda, yadda and expect them to work. We don’t have “official” instructions for how to get that to work, but here’s a thread from a fellow student with lots of useful pointers.

If you’re going to be living in this world, it’s a great idea to learn how to use Anaconda. It will come in handy, but it’s only a tool for managing environments, not an end in itself.

Thanks everyone, I appreciate it !

In addition to SciPy, the other main choices are TensorFlow/Keras versus PyTorch. Those are high level packages that are specifically designed for implementing ML/DL/AI systems. They have prepackaged versions of essentially all the current “state of the art” algorithmic components you need to put together real solutions. There are others, but TF and PyTorch seem to have the widest acceptance at this point. So you need to decide which environment you prefer. Or learn them both. If you’re applying for jobs, it’s always better to know both, since you don’t know a priori which one your company will use. Most of the specializations here at DeepLearning.AI use TF, but the GANs specialization uses PyTorch. The GANs specialization is really well done and incredibly interesting in its own right, so you might consider taking it after DLS in any case. And one other benefit of taking GANs will be that it’s a great way to get introduced to PyTorch. They include PyTorch tutorials along with their real assignments. Definitely worth a look!

Might be useful to take a look at this page of the conda docs…

https://conda.io/projects/conda/en/latest/user-guide/install/download.html#anaconda-or-miniconda

I started out using Anaconda, but deleted it after switching to mini. Anaconda does give you more of the ‘bundle’ experience, but as @paulinpaloalto points out, it won’t be long before you run into versionitis and have to start managing things yourself anyway

Thanks Paul! Are you a mentor for the GANs specialization too ?

I have taken those courses, but I am not a mentor for GANs.

Are you familiar with Google Colab? https://colab.research.google.com/
An introduction video is here: Google Colab Tutorial for Beginners | Get Started with Google Colab - YouTube

Look for PyCaret, it is very insteresting :slight_smile:

Hello ,

You can use Anaconda Navigator framework which consists all python libraries you needed. It is available for free. You can download ysing this link : https://www.anaconda.com/products/individual

Thank you