# 🎄 BLACK FRIDAY 2021 COUPONS AND DEALS

November 26, 2021

 Hello friends!   The Black Friday 2021 sale is on! I’m sending you links now which will give you the maximum possible discount during the Black Friday / Cyber Monday season (see below for specific dates). For those students who are new (welcome!), you may not know that I have a whole catalog of machine learning and AI courses built up and continuously updated over the past 6 years, with separate in-depth courses covering nearly every topic in the field, including: – Machine Learning (Linear Regression, Logistic Regression, K-Means Clustering, GMMs, Hierarchical Clustering, HMMs, Markov Models, Decision Trees, Random Forests, Naive Bayes, Perceptrons, SVMs, boosting, Bayesian ML, A/B Testing) – NLP (Attention, seq2seq, BiLSTMs, word2vec, GloVe, article spinning, latent semantic indexing, sentiment analysis, spam detection) – Reinforcement Learning (the basics, along with modern Deep RL topics like DQN, Policy Gradient Methods, Evolution Strategies, A2C and A3C, DDPG) – Deep Learning (separate courses for ANNs, CNNs, RNNs, GANs, Variational Autoencoders, Recommender Systems, Computer Vision) BOOKMARK THIS POST because these links will give you the best discount possible over the Black Friday / Cyber Monday sales later this month. The “Black Friday” links will work on the following dates: – Friday November 26, 2021 (Black Friday) – All week before Black Friday (starting November 19) – Monday November 29, 2021 (Cyber Monday) – Maybe a few days after that, but don’t wait and regret it     Outline of the following discounts: 1. Time Series Analysis, Forecasting, and Machine Learning (VIP) 2. Financial Engineering and Artificial Intelligence in Python (VIP) 3. PyTorch: Deep Learning and Artificial Intelligence (VIP) 4. Artificial Intelligence: Reinforcement Learning in Python (VIP) 5. Black Friday Discounts for Other Courses Note that the “VIP links” will work for the next 30 days, you don’t need to wait until Black Friday for those.

Time Series Analysis, Forecasting, and Machine Learning (VIP PROMOTION)

==The Complete Time Series Analysis Course Has Arrived==

https://www.udemy.com/course/time-series-analysis/?couponCode=TIMEVIP6

(note: this VIP coupon expires in 30 days!)

We will cover techniques such as:

• ETS and Exponential Smoothing
• Holt’s Linear Trend Model
• Holt-Winters Model
• ARIMA, SARIMA, SARIMAX, and Auto ARIMA
• ACF and PACF
• Vector Autoregression and Moving Average Models (VAR, VMA, VARMA)
• Machine Learning Models (including Logistic Regression, Support Vector Machines, and Random Forests)
• Deep Learning Models (Artificial Neural Networks, Convolutional Neural Networks, and Recurrent Neural Networks)
• GRUs and LSTMs for Time Series Forecasting

We will cover applications such as:

• Time series forecasting of sales data
• Time series forecasting of stock prices and stock returns
• Time series classification of smartphone data to predict user behavior

The VIP version (obtained by purchasing the course NOW during the VIP period) of the course covers even more exciting topics, such as:

• AWS Forecast (Amazon’s state-of-the-art low-code forecasting API)
• GARCH (financial volatility modeling)
• FB Prophet (Facebook’s time series library)

Financial Engineering and Artificial Intelligence in Python

VIP Promotion

https://www.udemy.com/course/ai-finance/?couponCode=FINANCEVIP15

This is a MASSIVE (20 hours) Financial Engineering course covering the core fundamentals of financial engineering and financial analysis from scratch. We will go in-depth into all the classic topics, such as:

• Exploratory data analysis, significance testing, correlations, alpha and beta
• Time series analysis, simple moving average, exponentially-weighted moving average
• Holt-Winters exponential smoothing model
• ARIMA and SARIMA
• Efficient Market Hypothesis
• Random Walk Hypothesis
• Time series forecasting (“stock price prediction”)
• Modern portfolio theory
• Efficient frontier / Markowitz bullet
• Mean-variance optimization
• Maximizing the Sharpe ratio
• Convex optimization with Linear Programming and Quadratic Programming
• Capital Asset Pricing Model (CAPM)

In addition, we will look at various non-traditional techniques which stem purely from the field of machine learning and artificial intelligence, such as:

• Regression models
• Classification models
• Unsupervised learning
• Reinforcement learning and Q-learning

List of VIP content:

• Classic Algorithmic Trading – Trend Following Strategy
• Reinforcement Learning-Based (Q-Learning) Trading Strategy
• Statistical Factor Models
• Regime Detection and Volatility Clustering with HMMs and Sequence Modeling

PyTorch: Deep Learning and Artificial Intelligence

VIP Promotion

https://www.udemy.com/course/pytorch-deep-learning/?couponCode=PYTORCHVIP20

This is a MASSIVE (over 22 hours) Deep Learning course covering EVERYTHING from scratch. That includes:

• Machine learning basics (linear neurons)
• ANNs, CNNs, and RNNs for images and sequence data
• Time series forecasting and stock predictions (+ why all those fake data scientists are doing it wrong)
• NLP (natural language processing)
• Recommender systems
• Transfer learning for computer vision
• Deep reinforcement learning and applying it by building a stock trading bot
• VIP only: Making predictions with your trained NLP model
• VIP only: Making predictions with your trained Recommender model
• VIP only: Modeling prediction uncertainty and heteroskedasticity (i.e. stock returns!)
• VIP only: Facial recognition with Siamese Networks

Artificial Intelligence: Reinforcement Learning in Python

VIP Promotion

===The complete Reinforcement Learning course has arrived===

https://deeplearningcourses.com/c/artificial-intelligence-reinforcement-learning-in-python

Reinforcement Learning is the most general form of AI we know of so far – some speculate it is the way forward to mimic animal intelligence and attain “AGI” (artificial general intelligence).

This course covers:

• The explore-exploit dilemma and the Bayesian bandit method
• MDPs (Markov Decision Processes)
• Dynamic Programming solution for MDPs
• Monte Carlo Method
• Temporal Difference Method (including Q-Learning)
• Approximation Methods using RBF Neural Networks
• Applying your code to OpenAI Gym with zero effort / code changes
• Building a stock trading bot (different approach in each course!)

Tensorflow 2: Deep Learning and Artificial Intelligence VIP

Exclusive to deeplearningcourses.com only

===The complete Tensorflow 2 course has arrived===

## BLACK FRIDAY DISCOUNTED Courses

### Looking for the LOWEST PRICE POSSIBLE Udemy Coupons?

Please enjoy the below Black Friday coupons for the rest of my courses on Udemy.

The best part is, you don’t have to enter any coupon code at all. Simply clicking on the links below will automatically get you the best possible price.

*Note: a few of the courses below, marked with an asterisk (*) are not part of the Black Friday sale. However, if you purchase these courses at the current price, you will receive, upon request, complimentary access to the full VIP version of the course on deeplearningcourses.com. Just email me at [email protected] for free access with proof of purchase.

# Why you shouldn’t use prices as inputs to predict stock prices in machine learning (YouTube Episode 20)

October 12, 2021

Ever come across a machine learning / data science blog demonstrating how to predict stock prices using an autoregressive model, with past stock prices as input?

It’s been awhile, but I am finally continuing this YouTube mini-series I started awhile back, which goes over common mistakes in popular blogs on predicting stock prices with machine learning. This is the 2nd installment.

It is about why you shouldn’t use prices as inputs.

# NEW COURSE: Financial Engineering and Artificial Intelligence in Python

September 8, 2020

# VIP Promotion

### The complete Financial Engineering course has arrived

Hello once again friends!

Today, I am announcing the VIP version of my latest course: Financial Engineering and Artificial Intelligence in Python.

https://www.udemy.com/course/ai-finance/?couponCode=FINANCEVIP (expires Oct 9, 2020)

https://www.udemy.com/course/ai-finance/?couponCode=FINANCEVIP17 (expires Feb 21, 2022)

(as usual, this coupon lasts only 30 days, so don’t wait!)

This is a MASSIVE (20 hours) Financial Engineering course covering the core fundamentals of financial engineering and financial analysis from scratch. We will go in-depth into all the classic topics, such as:

• Exploratory data analysis, significance testing, correlations
• Alpha and beta
• Advanced Pandas Data Frame manipulation for time series and finance
• Time series analysis, simple moving average, exponentially-weighted moving average
• Holt-Winters exponential smoothing model
• ARIMA and SARIMA
• Efficient Market Hypothesis
• Random Walk Hypothesis
• Time series forecasting (“stock price prediction”)
• Modern portfolio theory
• Efficient frontier / Markowitz bullet
• Mean-variance optimization
• Maximizing the Sharpe ratio
• Convex optimization with Linear Programming and Quadratic Programming
• Capital Asset Pricing Model (CAPM)

In addition, we will look at various non-traditional techniques which stem purely from the field of machine learning and artificial intelligence, such as:

• Regression models
• Classification models
• Unsupervised learning
• Reinforcement learning and Q-learning

We will learn about the greatest flub made in the past decade by marketers posing as “machine learning experts” who promise to teach unsuspecting students how to “predict stock prices with LSTMs”. You will learn exactly why their methodology is fundamentally flawed and why their results are complete nonsense. It is a lesson in how not to apply AI in finance.

### List of VIP-only Contents

As with my Tensorflow 2 release, some of the VIP content will be a surprise and will be released in stages. Currently, the entirety of the Algorithmic Trading sections are VIP sections. Newly added VIP sections include Statistical Factor Models and “The Lazy Programmer Bonus Offer”. Here’s a full list:

Classic Algorithmic Trading – Trend Following Strategy

You will learn how moving averages can be applied to do algorithmic trading.

Forecast returns in order to determine when to buy and sell.

I give you a full introduction to Reinforcement Learning from scratch, and then we apply it to build a Q-Learning trader. Note that this is *not* the same as the example I used in my Tensorflow 2, PyTorch, and Reinforcement Learning courses. I think the example included in this course is much more principled and robust.

Statistical Factor Models

The CAPM is one of the most renowned financial models in history, but did you know it’s only the simplest factor model, with just a single factor? To go beyond just this single factor model, we will learn about statistical factor models, where the multiple “factors” are found automatically using only the data.

Regime Detection with Hidden Markov Models (HMMs)

In the first section on financial basics, we learn how to model the distribution of returns. But can we really say “the” distribution, as if there is only one?

One important “stylized fact” about returns is that volatility “clusters” or “persists”. That is, large returns tend to be surrounded by more large returns, and small returns by more small returns.

In other words, returns are actually nonstationary and to build a more accurate model we should not assume that they all come from the same distribution at all times.

Using HMMs, we can model this behavior. HMMs allow you to model hidden state sequences (high volatility and low volatility regimes), from which observations (the actual returns) are generated.

The Lazy Programmer Bonus Offer

There are marketers out there who want to capitalize on your enthusiastic interest in finance, and unfortunately what they are teaching you is utter and complete garbage.

They will claim that they can “predict stock prices with LSTMs” and show you charts like this with nearly perfect stock price predictions.

Hint: if they can do this, why do they bother putting effort into making courses? Wouldn’t they already be billionaires?

Have you ever wondered if you are taking such a course from a fake data scientist / marketer? If so, just send me a message, and I will tell you whether or not you are taking such a course. (Hint: many of you are) I will give you a list of mistakes they made so you can look out for them yourself, and avoid “learning” things which will ultimately make YOU look very bad in front of potential future employers.

Believe me, if you ever try to get a job in machine learning or data science and you talk about a project where you “predicted stock prices with LSTMs”, all you will be demonstrating is how incompetent you are. I don’t want to see any of my students falling for this! Save yourself from this embarrassing scenario by taking the “Lazy Programmer Offer”!

Please note: The VIP coupon will work only for the next month (starting from the coupon creation time). It’s unknown whether the VIP period will renew after that time.

After that, although the VIP content will be removed from Udemy, all who purchased the VIP course will get permanent free access to these VIP contents on deeplearningcourses.com.

In case it’s not clear, the process is very easy. For those folks who want the “step-by-step” instructions:

STEP 1) I announce the VIP content will be removed.

STEP 2) You email me with proof that you purchased the course during the VIP period. Do NOT email me earlier as it will just get buried.

STEP 3) I will give you free access to the VIP materials for this course on deeplearningcourses.com.

### Benefits of taking this course

• Learn the knowledge you need to work at top tier investment firms
• Gain practical, real-world quantitative skills that can be applied within and outside of finance
• Make better decisions regarding your own finances

Personally, I think this is the most interesting and action-packed course I have created yet. My last few courses were cool, but they were all about topics which I had already covered in the past! GANs, NLP, Transfer Learning, Recommender Systems, etc etc. all just machine learning topics I have covered several times in different libraries. This course contains new, fresh content and concepts I have never covered in any of my courses, ever.

This is the first course I’ve created that extends into a niche area of AI application. It goes outside of AI and into domain expertise. An in-depth topic such as finance deserves its own course. This is that course. These are topics you will never learn in a generic data science or machine learning course. However, as a student of AI, you will recognize many of our tools and methods being applied, such as statistical inference, supervised and unsupervised learning, convex optimization, and optimal control. This allows us to go deeper than your run of the mill financial engineering course, and it becomes more than just the sum of its parts.

So what are you waiting for?

April 1, 2020

# VIP Promotion

### The complete PyTorch course has arrived

Hello friends!

I hope you are all staying safe. Well, I’m sure you’ve heard enough about that so how about some different news?

Today, I am announcing the VIP version of my latest course: PyTorch: Deep Learning and Artificial Intelligence

https://www.udemy.com/course/pytorch-deep-learning/?couponCode=PYTORCHVIP22 (expires Feb 21, 2022)

This is a MASSIVE (over 22 hours) Deep Learning course covering EVERYTHING from scratch. That includes:

• Machine learning basics (linear neurons)
• ANNs, CNNs, and RNNs for images and sequence data
• Time series forecasting and stock predictions (+ why all those fake data scientists are doing it wrong)
• NLP (natural language processing)
• Recommender systems
• Transfer learning for computer vision
• Deep reinforcement learning and applying it by building a stock trading bot

IN ADDITION, you will get some unique and never-before-seen VIP projects:

Estimating prediction uncertainty

Drawing the standard deviation of the prediction along with the prediction itself. This is useful for heteroskedastic data (that means the variance changes as a function of the input). The most popular application where heteroskedasticity appears is stock prices and stock returns – which I know a lot of you are interested in.

It allows you to draw your model predictions like this:

Sometimes, the data is simply such that a spot-on prediction can’t be made. But we can do better by letting the model tell us how certain it is in its predictions.

Facial recognition with siamese networks

This one is cool. I mean, I don’t have to tell you how big facial recognition has become, right? It’s the single most controversial technology to come out of deep learning. In the past, we looked at simple ways of doing this with classification, but in this section I will teach you about an architecture built specifically for facial recognition.

You will learn how this can work even on small datasets – so you can build a network that recognizes your friends or can even identify all of your coworkers!

You can really impress your boss with this one. Surprise them one day with an app that calls out your coworkers by name every time they walk by your desk. 😉

Please note: The VIP coupon will work only for the next month (ending May 1, 2020). It’s unknown whether the VIP period will renew after that time.

After that, although the VIP content will be removed from Udemy, all who purchased the VIP course will get permanent free access on deeplearningcourses.com.

## Minimal Prerequisites

This course is designed to be a beginner to advanced course. All that is required is that you take my free Numpy prerequisites to learn some basic scientific programming in Python. And it’s free, so why wouldn’t you!?

You will learn things that took me years to learn on my own. For many people, that is worth tens of thousands of dollars by itself.

There is no heavy math, no backpropagation, etc. Why? Because I already have courses on those things. So there’s no need to repeat them here, and PyTorch doesn’t use them. So you can relax and have fun. =)

## Why PyTorch?

All of my deep learning courses until now have been in Tensorflow (and prior to that Theano).

So why learn PyTorch?

Does this mean my future deep learning courses will use PyTorch?

In fact, if you have traveled in machine learning circles recently, you will have noticed that there has been a strong shift to PyTorch.

Case in point: OpenAI switched to PyTorch earlier this year (2020).

Major AI shops such as Apple, JPMorgan Chase, and Qualcomm have adopted PyTorch.

PyTorch is primarily maintained by Facebook (Facebook AI Research to be specific) – the “other” Internet giant who, alongside Google, have a strong vested interest in developing state-of-the-art AI.

But why PyTorch for you and me? (aside from the fact that you might want to work for one of the above companies)

As you know, Tensorflow has adopted the super simple Keras API. This makes common things easy, but it makes uncommon things hard.

With PyTorch, common things take a tiny bit of extra effort, but the upside is that uncommon things are still very easy.

Creating your own custom models and inventing your own ideas is seamless. We will see many examples of that in this course.

For this reason, it is very possible that future deep learning courses will use PyTorch, especially for those advanced topics that many of you have been asking for.

Because of the ease at which you can do advanced things, PyTorch is the main library used by deep learning researchers around the world. If that’s your goal, then PyTorch is for you.

In terms of growth rate, PyTorch dominates Tensorflow. PyTorch now outnumbers Tensorflow by 2:1 and even 3:1 at major machine learning conferences. Researchers hold that PyTorch is superior to Tensorflow in terms of the simplicity of its API, and even speed / performance!

Do you need more convincing?

March 18, 2020

# VIP Promotion

Hello all!

In this post, I am announcing the VIP coupon to my course titled “Artificial Intelligence: Reinforcement Learning in Python”.

There are 2 places to get the course.

1. Udemy, with this VIP coupon: https://www.udemy.com/course/artificial-intelligence-reinforcement-learning-in-python/?couponCode=REINFORCEVIP8 (expires Feb 21, 2022)
2. Deep Learning Courses (coupon automatically applied): https://deeplearningcourses.com/c/artificial-intelligence-reinforcement-learning-in-python

You may recognize this course as one that has already existed in my catalog – however, the course I am announcing today contains ALL-NEW material. The entire course has been gutted and every lecture contained within the course did not exist in the original version.

One of the most common questions I get from students in my PyTorch, Tensorflow 2, and Financial Engineering courses is: “How can I learn reinforcement learning?”

While I do cover RL in those courses, it’s very brief. I’ve essentially summarized 12 hours of material into 2. So by necessity, you will be missing some things.

While that serves as a good way to scratch the surface of RL, it doesn’t give you a true, in-depth understanding that you will get by actually learning each component of RL step-by-step, and most importantly, getting a chance to put everything into code!

This course covers:

• The explore-exploit dilemma and the Bayesian bandit method
• MDPs (Markov Decision Processes)
• Dynamic Programming solution for MDPs
• Monte Carlo Method
• Temporal Difference Method (including Q-Learning)
• Approximation Methods using Radial Basis Functions
• Applying your code to OpenAI Gym with zero effort / code changes
• Building a stock trading bot (different approach in each course!)

When you get the DeepLearningCourses.com version, note that you will get both versions (new and old) of the course – totalling nearly 20 hours of material.

If you want access to the tic-tac-toe project, this is the version you should get.

Otherwise, if you prefer to use Udemy, that’s fine too. If you purchase on Udemy but would like access to DeepLearningCourses.com, I will allow this since they are the same price. Just send me an email and show me your proof of purchase.

Note that I’m not able to offer the reverse (can’t give you access to Udemy if you purchase on DeepLerningCourses.com, due to operational reasons).

So what are you waiting for?

# 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

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!

## 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.

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

High-Level = Libraries and Frameworks

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 the 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:

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.

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.

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).

Pricier, but great specs. Same GPU!

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.

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

“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.)

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:

So you would install it using either:

pip install tensorflow
pip 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

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.

Disclaimer: this post contains Amazon affiliate links.

# 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.

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

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

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

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

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

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

• 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

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”

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

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)

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

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)

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

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

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:
• 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)

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

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

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

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

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

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)

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)

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

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

• 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

# 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.

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!

# Retreat from the heat with Machine Learning and Artificial Intelligence

July 18, 2019

 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 ### 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:

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!

# [June 2019] AI / Machine Learning HUGE Summer Sale! $9.99 June 10, 2019 ### AI / Machine Learning Summer Sale For the next week, all my Deep Learning and AI courses are available for just$9.99! (In addition to other courses on the site for the next few days)

For those of you who have been around for some time, you know that this sale doesn’t come around very often – just a few times per year. If you’ve been on the fence about getting a course, NOW is the time to do so. Get it now – save it for later.

For my courses, please use the coupons below (included in the links), or if you want, enter the coupon code: JUN2019.

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).

For prerequisite courses (math, stats, Python programming) and all other courses, follow the links at the bottom for sales of up to 90% off!

Since ALL courses on Udemy on sale, if you want any course not listed here, just click the general (site-wide) link, and search for courses from that page.

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

### 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:

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!