## AI PROGRAMMING WITH PYTHON COURSE

## Programming Skills, Linear Algebra, Neural Networks

##### Overview:

Learn **Python, NumPy, Pandas, Matplotlib, PyTorch, Calculus, and Linear Algebra** - the foundations for building your own neural network.

**Course Summary**

**Program Info**

In this program, you'll learn all the foundational skills necessary to start using AI techniques in your current role, prepare for a full-time career in an AI-powered industry, or get started in the amazing world of artificial intelligence.

This program focuses on the fundamental building blocks you will need to learn in order to become an AI practitioner.

Specifically, you will learn programming skills, and essential math for building an AI architecture.

You'll even dive into neural networks and deep learning.

1

**Course 1**

**Using a Pre-trained Image Classifier to Identify Dog Breeds**

In this Project you will be testing your newly acquired python coding skills by using a trained image classifier.

You will need to use the trained neural network to classify images of dogs (by breeds) and compare the output with the known dog breed classification.

You will have a chance to build your own functions, use command line arguments, test the runtime of the code, create a dictionary of lists, and more.

**Anaconda, Jupyter Notebook, NumPy, Pandas, and Matplotlib**

**ANACONDA:**Learn how to use Anaconda to manage packages and environments for use with Python.**JUPYTER NOTEBOOKS:**Learn how to use Jupyter Notebooks to create documents combining code, text, images, and more.**NUMPHY BASICS:**Learn the value of NumPy and how to use it to manipulate data for AI problems. Mini-Project: Use NumPy to mean normalize an ndarray and separate it into several smaller ndarrays.**PANDAS BASICS:**Learn to use Pandas to load and process data for machine learning problems. Mini-Project: Use Pandas to plot and get statistics from stock data.**MATPLOTLIB BASICS:**Learn how to use Matplotlib to choose appropriate plots for one and two variables based on the types of data you have.

**Linear Algebra Essentials**

**INTRODUCTION:**Learn the basics of the beautiful world of Linear Algebra and learn why it is such an important mathematical tool.**VECTORS:**Learn about the basic building block of Linear Algebra.**LINEAR COMBINATION:**Learn how to scale and add vectors and how to visualize them in 2 and 3 dimensions.**LINEAR TRANSFORMATION AND MATRICES:**Learn what a linear transformation is and how is it directly related to matrices. Learn how to apply the math and visualize the concept.**LINEAR ALGEBRA IN NEURAL NETWORKS:**Learn about the world of Neural Networks and see how it relates directly to Linear Algebra.

**Calculus Essentials**

**INTRODUCTION:**Visualize the essence of calculus. Learn why it is such a powerful concept in mathematics.**DERIVATIVES THROUGH GEOMETRY:**Learn about the derivative, one of the most important tools in calculus. See how a derivative can measure the steepness of a function and why it is such an important indicator in the world of machine learning.**CHAIN RULE AND DOT PRODUCT:**Learn how to find the derivative of a composition of two or more functions, a very important tool in training a neural network.**MORE ON DERIVATIVES:**Learn more about derivatives while focusing on exponential and implicit functions.**LIMITS:**Learn about the formal definition of a derivative through understanding limits.**INTEGRATION:**Learn about the inverse of a derivative: the integral.**CALCULUS IN NEURAL NETWORKS:**Learn more about the world of neural networks and see how it relates directly to calculus through an explicit example.

**Neural Networks**

**INTRODUCTION TO NEURAL NETWORKS:**Acquire a solid foundation in deep learning and neural networks. Implement gradient descent and backpropagation in Python**TRAINING NEURAL NETWORKS:**Learn about techniques for how to improve training of a neural network, such as: early stopping, regularization and dropout.**DEEP LEARNING WITH PYTORCH:**Learn how to use PyTorch for building deep learning models.****

2

**Course 2**

**Create Your Own Image Classifier**

Successful software developers need to know how to incorporate deep learning models into everyday applications.

Any device with a camera will be using image classification, object detection, and face recognition, all based on deep learning models. In this project you will implement an image classification application.

This application will train a deep learning model on a dataset of images. It will then use the trained model to classify new images.

First you will develop your code in a Jupyter notebook to ensure your training implementation works well.

Then, you will convert your code into a Python application that you will run from the command line of your system.