Lazy Programmer

Your source for the latest in deep learning, big data, data science, and artificial intelligence. Sign up now


Featured partners

How to setup NVIDIA GPU laptop with Ubuntu for Deep Learning (CUDA and CuDNN)

January 5, 2020

See the corresponding YouTube video lecture here: https://youtu.be/3r5eNV7WZ6g

gpusetup-playbutton copy

In this article, I will teach you how to setup your NVIDIA GPU laptop (or desktop!) for deep learning with NVIDIA’s CUDA and CuDNN libraries.

The main thing to remember before we start is that these steps are always constantly in flux – things change and they change quickly in the field of deep learning. Therefore I remind you of my slogan: “Learn the principles, not the syntax“. We are not doing any coding here so there’s no “syntax” per se, but the general idea is to learn the principles at a high-level, don’t try to memorize details which may change on you and confuse you if you forget about what the principles are.

This article is more like a personal story rather than a strict tutorial. It’s meant to help you understand the many obstacles you may encounter along the way, and what practical strategies you can take to get around them.

There are about 10 different ways to install the things we need. Some will work; some won’t. That’s just how cutting-edge software is. If that makes you uncomfortable, well, stop being a baby. Yes, it’s going to be frustrating. No, I didn’t invent this stuff, it is not within my control. Learn the principles, not the syntax!

This article will be organized into the following sections:

  1. Why you need this guide
  2. Choosing your laptop (i.e. a laptop that has an NVIDIA GPU)
  3. Choosing your Operating System
  4. Installing CUDA and CuDNN on Ubuntu and similar Linux OSes (Debian, Pop!_OS, Xubuntu, Lubuntu, etc.)
  5. Installing CUDA and CuDNN on Windows
  6. Installing GPU-enabled Tensorflow
  7. Installing GPU-enabled PyTorch
  8. Installing GPU-enabled Keras
  9. Installing GPU-enabled Theano

Why you need this guide

If you’ve never setup your laptop for GPU-enabled deep learning before, then you might assume that there’s nothing you need to do beyond buying a laptop with a GPU. WRONG!

You need to have a specific kind of laptop with specific software and drivers installed. Everything must work together.

You can think of all the software on your computer as a “stack” of layers.

stack

At the lowest layer, you have the kernel (very low-level software that interacts with the hardware) and at higher levels you have runtimes and libraries such as SQLite, SSL, etc.

When you write an application, you need to make use of lower-level runtimes and libraries – your code doesn’t just run all by itself.

So, when you install Tensorflow (as an example), that depends on lower-level libraries (such as CUDA and CuDNN) which interact with the GPU (hardware).

If any of the layers in your stack are missing (all the way from the hardware up to high-level libraries), your code will not work.

Low-Level = Hardware

gtx1080

High-Level = Libraries and Frameworks

keras-logo-2018-large-1200

Choosing your laptop

Not all GPUs are created equal. If you buy a MacBook Pro these days, you’ll get a Radeon Pro Vega GPU. If you buy a Dell laptop, it might come with an Intel UHD GPU.

These are no good for machine learning or deep learning.

You will need a laptop with an NVIDIA GPU.

Some laptops come with a “mobile” NVIDIA GPU, such as the GTX 950m. These are OK, but ideally you want a GPU that doesn’t end with “m”. As always, check performance benchmarks if you want to full story.

I would also recommend at least 4GB of RAM (otherwise, you won’t be able to use larger batch sizes, which will affect training).

In fact, some of the newer neural networks won’t even fit on the RAM to do prediction, never mind training!

 

One thing you have to consider is if you actually want to do deep learning on your laptop vs. just provisioning a GPU-enabled machine on a service such as AWS (Amazon Web Services).

These will cost you a few cents to a dollar per hour (depending on the machine type), so if you just have a one-off job to run, you may want to consider this option.

I already have a walkthrough tutorial in my course Modern Deep Learning in Python about that, so I assume if you are reading this article, you are rather interested in purchasing your own GPU-enabled computer and installing everything yourself.

 

Personally, I would recommend Lenovo laptops. The main reason is they always play nice with Linux (we’ll go over why that’s important in the next section). Lenovo is known for their high-quality and sturdy laptops and most professionals who use PCs for work use Thinkpads. They have a long history (decades) of serving the professional community so it’s nearly impossible to go wrong. Other brands generally have lots of issues (e.g. sound not working, WiFi not working, etc.) with Linux.

Here are some good laptops with NVIDIA GPUs:

Lenovo Ideapad L340 Gaming Laptop, 15.6 Inch FHD (1920 X 1080) IPS Display, Intel Core i5-9300H Processor, 8GB DDR4 RAM, 512GB Nvme SSD, NVIDIA GeForce GTX 1650, Windows 10, 81LK00HDUS, Black ($694.95)


L340

This one only has an i5 processor and 8GB of RAM, but on the plus side it’s cost-effective. Note that the prices were taken when I wrote this article; they might change.

 

2019 Newest Lenovo Premium Gaming PC Laptop L340: 15.6″ FHD IPS Anti-Glare Display, 9th Gen Intel 6-core i7-9750H, 16GB Ram, 256GB SSD, NVIDIA GeForce GTX 1650, WiFi, USB-C, HDMI, Win 10 ($964.00)


L340

Same as above but different specs. 16GB RAM with an i7 processor, but only 256GB of SSD space. Same GPU. So there are some tradeoffs to be made.

2019 Lenovo Legion Y540 15.6″ FHD Gaming Laptop Computer, 9th Gen Intel Hexa-Core i7-9750H Up to 4.5GHz, 24GB DDR4 RAM, 1TB HDD + 512GB PCIE SSD, GeForce GTX 1650 4GB, 802.11ac WiFi, Windows 10 Home ($998.00)

Legion

This is the best option in my opinion. Better or equal specs compared to the previous two. i7 processor, 24GB of RAM (32GB would be ideal!), lots of space (1TB HD + 512GB SSD), and the same GPU. Bonus: it’s nearly the same price as the above (currently).

Dell XPS 15 7590, 15.6″ 4K UHD Touch, 9th Gen Intel Core i7-6 Core 9750H, NVIDIA GeForce GTX 1650 4GB GDDR5, 16GB DDR4 RAM, 1TB SSD ($1,830.00)

DellXPS

Pricier, but great specs. Same GPU!

Lenovo ThinkPad P53 Mobile Workstation 20QN0018US – Intel Six Core i7-9850H, 16GB RAM, 512GB PCIe Nvme SSD, 15.6″ HDR 400 FHD IPS 500Nits Display, NVIDIA Quadro RTX 5000 16GB GDDR6, Windows 10 Pro ($3,472.69)

thinkpad_p53

If you really want to splurge, consider one of these big boys. Thinkpads are classic professional laptops. These come with real beast GPUs – NVIDIA Quadro RTX 5000 with 16GB of VRAM.

You’ve still got the i7 processor, 16GB of RAM, and a 512GB NVMe SSD (basically a faster version of already-super-fast SSDs). Personally, I think if you’re going to splurge, you should opt for 32GB of RAM and a 1TB SSD.

 

If you’ve watched my videos, you might be wondering: what about a Mac? (I use a Mac for screen recording).

Macs are great in general for development, and they used to come with NVIDIA GPUs (although those GPUs are not as powerful as the ones currently available for PCs). Support for Mac has dropped off in the past few years, so you won’t be able to install say, the latest version of Tensorflow, CUDA, and CuDNN without a significant amount of effort (I spent probably a day and just gave up). And on top of that the GPU won’t even be that great. Overall, not recommended.

Choosing your Operating System

As I mentioned earlier, you probably want to be running Linux (Ubuntu is my favorite).

Why, you might ask?

“Tensorflow works on Windows, so what’s the problem?”

Remember my motto: “Learn the principles, not the syntax“.

What’s the principle here? Many of you probably haven’t been around long enough to know this, but the problem is, many machine learning and deep learning libraries didn’t work with Windows when they first came out.

So, unless you want to wait a year or more after new inventions and software are being made, then try to avoid Windows.

Don’t take my word for it, look at the examples:

  • Early on, even installing Numpy, Matplotlib, Pandas, etc. was very difficult on Windows. I’ve spent hours with clients on this. Nowadays you can just use Anaconda, but that’s not always been the case. At the time of this writing, things only started to shape up a few years ago.
  • Theano (the original GPU-enabled deep learning library) initially did not work on Windows for many years.
  • Tensorflow, Google’s deep learning library and the most popular today, initially did not work on Windows.
  • PyTorch, a deep learning library popular with the academic community, initially did not work on Windows.
  • OpenAI Gym, the most popular reinforcement learning library, only partially works on Windows. Some environments, such as MuJoCo and Atari, still have no support for Windows.

There are more examples, but these are the major historical “lessons” I point to for why I normally choose Linux over Windows.

One benefit of using Windows is that installing CUDA is very easy, and it’s very likely that your Windows OS (on your Lenovo laptop) will come with it pre-installed. The original use-case for GPUs was gaming, so it’s pretty user-friendly.

If you purchase one of the above laptops and you choose to stick with Windows, then you will not have to worry about installing CUDA – it’s already there. There is a nice user interface so whenever you need to update the CUDA drivers you can do so with just a few clicks.

Installing CuDNN is less trivial, but the instructions are pretty clear (https://docs.nvidia.com/deeplearning/sdk/cudnn-install/index.html#installwindows). Simply download the zip file, unzip it, copy the files to the locations specified in the instructions, and set a few environment variables. Easy!

 

TO BE CLEAR:

Aside from the Python libraries below (such as Tensorflow / PyTorch) you need to install 2 things from NVIDIA first:

  1. CUDA (already comes with Windows if you purchase one of the above laptops, Ubuntu instructions below)
  2. CuDNN (you have to install it yourself, following the instructions on NVIDIA’s website)

 

DUAL-BOOTING:

I always find it useful to have both Windows and Ubuntu on-hand, and if you get the laptop above that has 2 drives (1TB HD and 512GB SSD) dual-booting is a natural choice.

These days, dual booting is not too difficult. Usually, one starts with Windows. Then, you insert your Ubuntu installer (USB stick), and choose the option to install Ubuntu alongside the existing OS. There are many tutorials online you can follow.

Hint: Upon entering the BIOS, you may have to disable the Secure Boot / Fast Boot options.

 

INSTALLING PYTHON:

I already have lectures on how to install Python with and without Anaconda. These days, Anaconda works well on Linux, Mac, and Windows, so I recommend it for easy management of your virtual environments.

Environment Setup for UNIX-Like systems (includes Ubuntu and MacOS) without Anaconda

Environment Setup for Windows and/or Anaconda

 

Installing CUDA and CuDNN on Ubuntu and similar Linux OSes (Debian, Pop!_OS, Xubuntu, Lubuntu, etc.)

popos

Ok, now we get to the hard stuff. You have your laptop and your Ubuntu/Debian OS.

Can you just install Tensorflow and magically start making use of your super powerful GPU? NO!

Now you need to install the “low-level” software that Tensorflow/Theano/PyTorch/etc. make use of – which are CUDA and CuDNN.

This is where things get tricky, because there are many ways to install CUDA and CuDNN, and some of these ways don’t always work (from my experience).

Examples of how things can “randomly go wrong”:

  • I installed CUDA on Linux Mint. After this, I was unable to boot the machine and get into the OS.
  • Pop!_OS (System76) has their own versions of CUDA and CuDNN that you can install with simple apt commands. Didn’t work. Had to install them the “regular way”.
  • Updating CUDA and CuDNN sucks. You may find the nuclear option easier (installing the OS and drivers from scratch)

Here is a method that consistently works for me:

  1. Go to https://developer.nvidia.com/cuda-downloads and choose the options appropriate for your system. (Linux / x86_64 (64-bit) / Ubuntu / etc.). Note that Pop!_OS is a derivative of Ubuntu, as is Linux Mint.
  2. You’ll download a .deb file. Do the usual “dpkg -i <filename>.deb” to run the installer. CUDA is installed!
  3. Next, you’ll want to install CuDNN. Instructions from NVIDIA are here: https://docs.nvidia.com/deeplearning/sdk/cudnn-install/index.html#ubuntu-network-installation

Those instructions are subject to change, but basically you can just copy and paste what they give you (don’t copy the below, check the site to get the latest version):

sudo dpkg -i \ http://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1604/x86_64/nvidia-machine-learning-repo-ubuntu1604_1.0.0-1_amd64.deb
sudo apt-get update && sudo apt-get install libcudnn7 libcudnn7-dev

 

 

Installing CUDA and CuDNN on Windows

If you decided you hate reinforcement learning and you’re okay with not being able to use new software until it becomes mainstream, then you may have decided you want to stick with Windows.

Luckily, there’s still lots you can do in deep learning.

As mentioned previously, installing CUDA and CuDNN on Windows is easy.

If you did not get a laptop which has CUDA preinstalled, then you’ll have to install it yourself. Go to https://developer.nvidia.com/cuda-downloads, choose the options appropriate for your system (Windows 10 / x86_64 (64-bit) / etc.)

This will give you a .exe file to download. Simply click on it and follow the onscreen prompts.

As mentioned earlier, installing CuDNN is a little more complicated, but not too troublesome. Just go to https://docs.nvidia.com/deeplearning/sdk/cudnn-install/index.html#installwindows and follow NVIDIA’s instructions for where to put the files and what environment variables to set.

 

Installing GPU-enabled Tensorflow

Unlike the other libraries we’ll discuss, there are different packages to separate the CPU and GPU versions of Tensorflow.

The Tensorflow website will give you the exact command to run to install Tensorflow (it’s the same whether you are in Anaconda or not).

It will look like this:

Screen Shot 2019-06-27 at 2.58.15 PM

So you would install it using either:

pip install tensorflow
pip install tensorflow-gpu

Since this article is about GPU-enabled deep learning, you’ll want to install tensorflow-gpu.

UPDATE: Starting with version 2.1, installing “tensorflow” will automatically give you GPU capabilities, so there’s no need to install a GPU-specific version (although the syntax still works).

After installing Tensorflow, you can verify that it is using the GPU:

tf.test.is_gpu_available()

This will return True if Tensorflow is using the GPU.

 

Installing GPU-enabled PyTorch

Nothing special nowadays! Just do:

pip install torch

as usual.

To check whether PyTorch is using the GPU, you can use the following commands:

In [1]: import torch

In [2]: torch.cuda.current_device()
Out[2]: 0

In [3]: torch.cuda.device(0)
Out[3]: <torch.cuda.device at 0x7efce0b03be0>

In [4]: torch.cuda.device_count()
Out[4]: 1

In [5]: torch.cuda.get_device_name(0)
Out[5]: 'GeForce GTX 950M'

In [6]: torch.cuda.is_available()
Out[6]: True

Installing GPU-enabled Keras

Luckily, Keras is just a wrapper around other libraries such as Tensorflow and Theano. Therefore, there is nothing special you have to do, as long as you already have the GPU-enabled version of the base library.

Therefore, just install Keras as you normally would:

pip install keras

As long as Keras is using Tensorflow as a backend, you can use the same method as above to check whether or not the GPU is being used.

Installing GPU-enabled Theano

For both Ubuntu and Windows, as always I recommend using Anaconda. In this case, the command to install Theano with GPU support is simply:

conda install theano pygpu

If necessary, further details can be found at:

 

 

SIDE NOTE: Unfortunately, I will not provide technical support for your environment setup. You are welcome to schedule a 1-on-1 but availability is limited.

Go to comments


Data Science Interview Questions: Random Walk Hypothesis and Stock Price Prediction

December 10, 2019

Welcome to another episode of Data Science Interview Questions! In this episode, I discuss the Random Walk Hypothesis and Stock Price Prediction.

Why is stock price data often considered to be a random walk?

If your data is best modeled as a random walk, how can you do a time series forecast into the future?

How can you draw a confidence interval around the forecast?

What does this mean for stock price predictions?

Find out here:

rwhpreview

What you will learn:

  • How to make the best forecast possible if your data is from a random walk model
  • How to find the confidence bounds for your forecast (also called confidence limits or prediction intervals)
  • Why pretty much all the “data science” instructors out there are really just marketers who have been selling you lies for years
  • Hint: No, LSTMs will not help you predict stock prices and in fact perform worse than the simple model described above
Go to comments


BLACK FRIDAY / CYBER MONDAY 2019 — Deep Learning and Artificial Intelligence in Python

November 28, 2019

Yearly Black Friday sale is HERE! As I always tell my students – you never know when Udemy’s next “sale drought” is going to be – so if you are on the fence about getting a course, NOW is the time.

NOTE: If you are looking for the Tensorflow 2.0 VIP materials, as of now they can only be purchased here: https://deeplearningcourses.com/c/deep-learning-tensorflow-2 (coupon code automatically applied). The site contains only the VIP materials, and the main part of the course can be purchased on Udemy as per the link below. Therefore, if you want the “full” version of the course, each part now must be purchased separately.

 

tf2

https://www.udemy.com/course/deep-learning-tensorflow-2/

  • What you’ll learn:
    • Neurons and Machine Learning
    • ANNs
    • CNNs
    • RNNs
    • GANs
    • NLP
    • Recommender Systems
    • Reinforcement Learning
    • build a stock trading bot with Deep RL
    • Low-level and advanced Tensorflow 2.0 features
    • Exporting models for Tensorflow Lite
    • Tensorflow Serving

rl3

https://www.udemy.com/course/cutting-edge-artificial-intelligence/

  • What you’ll learn: A2C, Evolution Strategies, and DDPG

svm

https://www.udemy.com/course/support-vector-machines-in-python/

  • What you’ll learn: Support Vector Machines (SVMs) in-depth starting from linear classification theory to the maximum margin method, kernel trick, quadratic programming, and the SMO (sequential minimal optimization) algorithm

rec

https://www.udemy.com/course/recommender-systems/

  • What you’ll learn:
    • Reddit and Hacker News algorithms
    • PageRank (what Google Search uses)
    • Bayesian / Thompson sampling
    • Collaborative filtering
    • Matrix factorization
    • We use the 20 million ratings dataset, not the puny 100k dataset everyone else uses
    • Implementing matrix factorization with Deep Learning
    • Using Deep Neural Networks for recommenders
    • Autoencoders for recommenders
    • Restricted Boltzmann Machines (RBMs) for recommenders
    • Recommenders with big data (PySpark) on AWS cluster

nlp3

https://www.udemy.com/course/deep-learning-advanced-nlp/

  • What you’ll learn:
    • modern Deep NLP techniques such as Bidirectional LSTMs
    • CNNs for text classification
    • seq2seq
    • attention
    • memory networks

cv

https://www.udemy.com/course/advanced-computer-vision/

  • What you’ll learn:
    • Deep Learning techniques for computer vision, such as state-of-the-art networks (VGG, ResNet, Inception)
    • Train state-of-the-art models fast with transfer learning
    • Object detection with SSD
    • Neural style transfer

gan

https://www.udemy.com/course/deep-learning-gans-and-variational-autoencoders/

  • What you’ll learn:
    • Generate realistic, high quality images with deep neural networks
    • Apply game theory and Bayesian machine learning to deep learning
    • Learn about the “transpose convolution”

deeprl

https://www.udemy.com/course/deep-reinforcement-learning-in-python/

  • What you’ll learn:
    • Learn how we got from classical reinforcement learning to deep reinforcement learning and why it’s nontrivial
    • Play OpenAI Gym environments such as CartPole and Atari
    • Learn the “tricks” of DQN and A3C and how they improve classical RL approaches

rl

https://www.udemy.com/course/artificial-intelligence-reinforcement-learning-in-python/

  • What you’ll learn:
    • Learn what makes Reinforcement Learning special compared to basic supervised/unsupervised learning (hint: it’s very complicated!)
    • Learn how epsilon-greedy and Bayesian machine learning can optimize click-through rates
    • Implement a tic-tac-toe agent
    • MDPs (Markov Decision Processes) and the Bellman equation
    • Learn the 3 approaches to RL: Dynamic Programming, Monte Carlo, and Temporal Difference (which includes the famous Q-Learning algorithm)

lin

https://www.udemy.com/course/data-science-linear-regression-in-python/

  • What you’ll learn:
    • Learn about the most fundamental of machine learning algorithms: linear regression
    • Believe it or not, this gets you MOST of the way there to understanding deep learning

log

https://www.udemy.com/course/data-science-logistic-regression-in-python/

  • What you’ll learn:
    • After learning about linear regression, see how a similar model (logistic regression) can be used for classification
    • Importantly, understand how and why this is a model of the “neuron” (and because of that, we can use it to build neural networks)

deep1

https://www.udemy.com/course/data-science-deep-learning-in-python/

  • What you’ll learn:
    • Learn IN-DEPTH the theory behind artificial neural networks (ANNs)
    • This is THE fundamental course for understanding what deep learning is doing, from ANNs to CNNs to RNNs to GANs and beyond

nlp

https://www.udemy.com/course/data-science-natural-language-processing-in-python/

  • What you’ll learn:
    • Learn how to apply machine learning to NLP tasks, such as: spam detection, sentiment analysis, article spinning, and latent semantic analysis
    • Learn how to preprocess text for use in a ML algorithm
    • Learn about the classic NLTK library

deep2

https://www.udemy.com/course/data-science-deep-learning-in-theano-tensorflow/

  • What you’ll learn:
    • Learn how we went from the fundamental ANNs to many of the key technologies we use today, such as:
    • Batch / stochastic gradient descent instead of full gradient descent
    • (Nesterov) momentum, RMSprop, Adam, and other adaptive learning rate techniques
    • Dropout regularization
    • Batch normalization
    • Learn how deep learning is accelerated by GPUs (and how to set one up yourself)
    • Learn how deep learning libraries improve the development process with GPUs (faster training) and automatic differentiation (so you don’t have to write the code or derive the math yourself)

sql

https://www.udemy.com/course/sql-for-marketers-data-analytics-data-science-big-data/

  • What you’ll learn:
    • Learn the fundamentals of the SQL language and how to apply it to data
    • Practice for job interviews by going through several interview-style questions

cnn

https://www.udemy.com/course/deep-learning-convolutional-neural-networks-theano-tensorflow/

  • What you’ll learn:
    • Go from ANNs to CNNs
    • Learn about the all important “convolution” operation in-depth
    • Implement convolution yourself (no other course does this!)
    • Design principles for CNNs and why they specialize to work with images

cluster

https://www.udemy.com/course/cluster-analysis-unsupervised-machine-learning-python/

  • What you’ll learn:
    • Learn about classic clustering methods such as K-Means, Hierarchical Clustering, and Gaussian Mixture Models (a probabilistic approach to Cluster Analysis)
    • Apply clustering to real-world datasets such as organizing books, clustering Hillary Clinton and Donald Trump tweets, and DNA

udeep

https://www.udemy.com/course/unsupervised-deep-learning-in-python/

  • What you’ll learn:
    • Learn about how Deep Learning an be applied to data without labels/targets using Autoencoders and RBMs (Restricted Boltzmann Machines)
    • Learn how Autoencoders are like a “nonlinear” version of PCA
    • Visualize / transform data with PCA and t-SNE
    • Apply RBMs to recommender systems

hmm

https://www.udemy.com/course/unsupervised-machine-learning-hidden-markov-models-in-python/

  • What you’ll learn:
    • Learn how unsupervised learning extends to cover sequences of data (like DNA, text processing, etc.)
    • The HMM is a probabilistic graphical model and uses the same learning approach (expectation-maximization) as k-means clustering and GMMs
    • We also review Markov models and you’ll see how they (surprisingly) apply to a famous modern algorithm: Google’s PageRank

rnn

https://www.udemy.com/course/deep-learning-recurrent-neural-networks-in-python/

  • What you’ll learn:
    • Learn how Deep Learning handles sequences of data (like DNA, text processing, etc.)
    • Learn the limitations of a naive (simple) RNN
    • How to extend / improve RNNs with GRUs and LSTMs
    • Build GRUs and LSTMs by yourself (not just calling some library function)

deepnlp

https://www.udemy.com/course/natural-language-processing-with-deep-learning-in-python/

  • What you’ll learn:
    • Apply deep learning to natural language processing (NLP)
    • Covers the famous word2vec and GloVe algorithms
    • See how RNNs apply to text problems
    • Learn about a neural network structured like a “tree” which we call recursive neural networks and a more powerful version: recursive neural tensor networks (RNTNs)

super

https://www.udemy.com/course/data-science-supervised-machine-learning-in-python/

  • What you’ll learn:
    • Covers classic machine learning algorithms which EVERY student of machine learning should know (AND be able to implement)
    • K-Nearest Neighbor (KNN), Naive Bayes and non-Naive Bayes Classifiers, the Perceptron, and Decision Trees
    • Learn how to build a machine learning web service using Python server frameworks

bayes

https://www.udemy.com/course/bayesian-machine-learning-in-python-ab-testing/

  • What you’ll learn:
    • Learn how Bayesian machine learning differs from traditional machine learning
    • We focus mostly on “comparing” multiple things (i.e. A/B Testing)
    • Learn why traditional (frequentist) A/B Testing is limited
    • Learn about adaptive approaches to “choosing the best item”

ensemble

https://www.udemy.com/course/machine-learning-in-python-random-forest-adaboost/

  • What you’ll learn:
    • Learn how combining multiple machine learning models is better than just one
    • Covers fundamental ensemble approaches such as Random Forest and AdaBoost
    • Learn/derive the famous “bias-variance tradeoff” (most people can only discuss it at a high level, you will learn what it really means)
    • Learn about the difference between the “bagging” and “boosting” approaches

 

Go to comments


Tensorflow 2.0 is here! Get the VIP version now

August 14, 2019

Tensorflow 2.0 is here!

***FINAL UPDATE***

Old coupon no longer works. Use this one instead: https://www.udemy.com/course/deep-learning-tensorflow-2/?couponCode=LASTVIP

PLEASE NOTE: VIP material will be removed from Udemy on November 27. If you signed up for the VIP version (using the VIP coupon) and want access beyond that point, you must email me at info [at] lazyprogrammer [dot] me.

If you want the VIP (full) version of the course beyond that date, you now need to purchase the “main” part and the “VIP” part separately. The “main” part can be purchased on Udemy and the “VIP” part can be purchased from: https://deeplearningcourses.com/c/deep-learning-tensorflow-2

 

—–

I am happy to announce my latest and most massive course yet – Tensorflow 2.0: Deep Learning and Artificial Intelligence.

Guys I am not joking – this really is my most massive course yet – check out the curriculum.

Many of you will be interested in the stock prediction example, because you’ve been tricked by marketers posing as data scientists in the past – I will demonstrate why their results are seriously flawed.

[if you don’t want to read my little spiel just click here to get your VIP coupon: https://www.udemy.com/deep-learning-tensorflow-2/?couponCode=TENSORVIP]

This is technically Deep Learning in Python part 12, but importantly this need not be the 12th deep learning course of mine that you take!

There are quite few important points to cover in this announcement, so let me outline what I will discuss:

A) What’s covered in this course
B) Why there are almost zero prerequisites for this course
C) The VIP content and near-term additions
D) The story behind this course (if you’ve been following my courses for some time you will be interested in this)

What’s covered in this course

As mentioned – this course is massive. It’s going to take you from basic linear models (the neuron) to ANNs, CNNs, and RNNs.

Thanks to the new standardized Tensorflow 2.0 API – we can move quickly.

The theme of this course is breadth, not depth. If you’re looking for heavy theory (e.g. backpropagation), well, I already have courses for those. So there’s no point in repeating that.

We will however go pretty in-depth to ensure that convolution (the main component of CNNs) and recurrent units (the main component of RNNs) are explained intuitively and from multiple perspectives.

These will include explanations and intuitions you have likely not seen before in my courses, so even if you’ve taken my CNN and RNN courses before, you will still want to see this.

There are many applications in this course. Here are a few:

– we will prove Moore’s Law using a neuron
– image classification with modern CNN design and data augmentation
– time series analysis and forecasting with RNNs

Anyone who is interested in stock prediction should check out the RNN section. Most RNN resources out there only look at NLP (natural language processing), including my old RNN course, but very few look at time series and forecasting.

And out of the ones that do, many do forecasting totally wrong!

There is one stock forecasting example I see everywhere, but its methodology is flawed. I will demonstrate why it’s flawed, and why stock prediction is not as simple as you have been led to believe.

There’s also a ton of Tensorflow-specific content, such as:

– Tensorflow serving (i.e. how to build a web service API from a Tensorflow model)
– Distributed training for faster training times (what Tensorflow calls “distribution strategies”)
– Low-level Tensorflow – this has changed completely from Tensorflow 1.x
– How to build your own models using the new Tensorflow 2.0 API
– Tensorflow Lite (how to export your models for mobile devices – iOS and Android) (coming soon)
– Tensorflow.js (how to export your models for the browser) (coming soon)

Why there are almost zero prerequisites for this course

Due to the new standardized Tensorflow 2.0 API, writing neural networks is easier than ever before.

This means that we’ll be able to blast through each section with very little theory (no backpropagation).

All you will need is a basic understanding of Python, Numpy, and Machine Learning, which are all taught in my free Numpy course.

As I always say, it’s free, so you have no excuses!

Tensorflow 2.0 however, does not invalidate or replace my other courses. If you haven’t taken them yet, you should take this course first for breadth, and then take the other courses which focus on individual models (CNNs, RNNs) for depth.

The VIP content and near-term additions

I had so much content in mind for this course, but I wanted to get this into your hands as soon as possible. With Tensorflow 2.0 due to be released any day now, I wanted to give you all a head start.

This field is moving so fast things were changing while I was making the course. Insane!

I’ll be adding more content in the coming weeks, possibly including but not limited to:

– Transfer Learning
– Natural Language Processing
– GANs
– Recommender Systems
– Reinforcement Learning

For this release, only the VIP version will be available for some time. That is why you do not see the usual Udemy discount.

You may be wondering: Which parts of the content are VIP content, and which are not?

This time, I wanted to do something interesting: it’s a surprise!

The VIP content will be added to a special section called the “VIP Section”, and this will be removed once the course becomes “Non-VIP”.

I will make an announcement well before that happens, so you will have the chance to download the VIP content before then, as well as get access to the VIP content permanently from deeplearningcourses.com.

The story behind this course

Originally, this course was going to be an RNN course only (hence why the RNN sections have so much more content – both time series and NLP).

The reason for this was, my original RNN course was tied to Theano and building RNNs from scratch.

In Tensorflow, building RNNs is completely different. This is unlike ANNs and CNNs which are relatively similar.

Thus, I could never reconcile the differences between the Theano approach and the Tensorflow approach in my original RNN course. So, I decided that simply making a new course for RNNs in Tensorflow would be best.

But lo and behold – Tensorflow was evolving so fast that a new version was about to be released – so I thought, it’s probably best to just cover everything in Tensorflow 2.0!

And that is how this current course came to be.

I hope you enjoy this action-packed course.

I’ll see you in class!

Get the course now
Go to comments


Retreat from the heat with Machine Learning and Artificial Intelligence

July 18, 2019

udemybannerjuly2019

For the next week, all my Deep Learning and AI courses are available for just $10.99!

Please use the coupons below (included in the links), or if you want, enter the coupon code: JUL2019.

As usual, if you want to know what order to take my courses in, check out the lecture “What order should I take your courses in?” in the Appendix of any of my courses (including the free Numpy course).


https://www.udemy.com/cutting-edge-artificial-intelligence/?couponCode=JUL2019


https://www.udemy.com/support-vector-machines-in-python/?couponCode=JUL2019


https://www.udemy.com/recommender-systems/?couponCode=JUL2019


https://www.udemy.com/deep-learning-advanced-nlp/?couponCode=JUL2019


https://www.udemy.com/advanced-computer-vision/?couponCode=JUL2019


https://www.udemy.com/deep-learning-gans-and-variational-autoencoders/?couponCode=JUL2019


https://www.udemy.com/deep-reinforcement-learning-in-python/?couponCode=JUL2019


https://www.udemy.com/artificial-intelligence-reinforcement-learning-in-python/?couponCode=JUL2019


https://www.udemy.com/data-science-linear-regression-in-python/?couponCode=JUL2019


https://www.udemy.com/data-science-logistic-regression-in-python/?couponCode=JUL2019


https://www.udemy.com/data-science-deep-learning-in-python/?couponCode=JUL2019


https://www.udemy.com/data-science-natural-language-processing-in-python/?couponCode=JUL2019


https://www.udemy.com/data-science-deep-learning-in-theano-tensorflow/?couponCode=JUL2019


https://www.udemy.com/sql-for-marketers-data-analytics-data-science-big-data/?couponCode=JUL2019


https://www.udemy.com/deep-learning-convolutional-neural-networks-theano-tensorflow/?couponCode=JUL2019


https://www.udemy.com/cluster-analysis-unsupervised-machine-learning-python/?couponCode=JUL2019


https://www.udemy.com/unsupervised-deep-learning-in-python/?couponCode=JUL2019


https://www.udemy.com/unsupervised-machine-learning-hidden-markov-models-in-python/?couponCode=JUL2019


https://www.udemy.com/deep-learning-recurrent-neural-networks-in-python/?couponCode=JUL2019


https://www.udemy.com/natural-language-processing-with-deep-learning-in-python/?couponCode=JUL2019


https://www.udemy.com/data-science-supervised-machine-learning-in-python/?couponCode=JUL2019


https://www.udemy.com/bayesian-machine-learning-in-python-ab-testing/?couponCode=JUL2019


https://www.udemy.com/machine-learning-in-python-random-forest-adaboost/?couponCode=JUL2019

PREREQUISITE COURSE COUPONS

And just as important, $9.99 coupons for some helpful prerequisite courses. You NEED to know this stuff to understand machine learning in-depth:

General (site-wide): http://bit.ly/2oCY14Z
Python http://bit.ly/2pbXxXz
Calc 1 http://bit.ly/2okPUib
Calc 2 http://bit.ly/2oXnhpX
Calc 3 http://bit.ly/2pVU0gQ
Linalg 1 http://bit.ly/2oBBir1
Linalg 2 http://bit.ly/2q5SGEE
Probability (option 1) http://bit.ly/2p8kcC0
Probability (option 2) http://bit.ly/2oXa2pb
Probability (option 3) http://bit.ly/2oXbZSK

OTHER UDEMY COURSE COUPONS

As you know, I’m the “Lazy Programmer”, not just the “Lazy Data Scientist” – I love all kinds of programming!

iOS courses:
https://lazyprogrammer.me/ios

Android courses:
https://lazyprogrammer.me/android

Ruby on Rails courses:
https://lazyprogrammer.me/ruby-on-rails

Python courses:
https://lazyprogrammer.me/python

Big Data (Spark + Hadoop) courses:
https://lazyprogrammer.me/big-data-hadoop-spark-sql

Javascript, ReactJS, AngularJS courses:
https://lazyprogrammer.me/js

EVEN MORE COOL STUFF

Into Yoga in your spare time? Photography? Painting? There are courses, and I’ve got coupons! If you find a course on Udemy that you’d like a coupon for, just let me know and I’ll hook you up!

Go to comments