A collection of exercises and mini-projects I have completed as part of my Udacity AI Programming Nanodegree Programme.
The nanodegree included a series of projects, mini-projects and quizes which are included in this repo.
- Develop a python programme to compare performance of three pre-trained classifiers in classifying dogs and their breeds.
- Develop your own image classifier from scratch using pytorch to classify flowers by their types
- Develop a command line application to allow others to use the flower classifier
- Implementing OOP for Clothing
- Implementing Gaussian Distributions with OOP
- Implementing Inheritance OOP for Clothing
- Implementing Inheritance for Probability Distributions
- Undertaking Mean Normalization and Data Separation with Numpy
- Developing Statistics From Stock Data with Pandas
- Visualising Data with Bar Charts, Histograms, Scatter plot, Violin and Box Plot, Scales and Transformations, Categorical Plot with Matplotlib
- Vectors Lab, Linear Combination Lab, Linear Mapping Lab
- Implementing Gradient Descent
- Predicting Student Admissions with Neural Networks
- Deep Learning with Pytorch
- Part 1: Introduction to PyTorch and using tensors
- Part 2: Building a fully-connected neural networks with PyTorch
- Part 3: Training a fully-connected network with backpropagation on MNIST (Handwritten Digits)
- Part 4: Training neural network on Fashion-MNIST
- Part 5: Using a trained network for making predictions and validating networks, Implementing Dropout to avoid overfitting
- Part 6: Saving and loading trained models
- Part 7: Loading image data with torchvision, also data augmentation
- Part 8: Using transfer learning to train a state-of-the-art image classifier for dogs and cats
- Python
- Data Types and Variables: Arithmetic Operators, Variables and Assignment Operators, Integers and Floats, Booleans - Comparison Operators and Logical Operators, Strings, Type and Type Conversion, String Methods
- Data Structures: Lists and Membership Operators, List Methods, Tuples, Sets, Dictionaries and Identity Operators, Compound Data Structures
- Control Flow: Conditional Statements, Boolean Expressions for Conditions, For Loops, Iterating Through Dictionaries, While Loops, Break and Continue, Zip and Enumerate, List Comprehensions
- Functions: Defining Functions, Variable Scope, Function Documentation, Lambda Expressions, Iterators and Generators
- Scripting: Scripting with Raw Input, Errors and Exceptions, Handling Input Errors, Reading and Writing Files, The Standard Library
- OOP: OOP Syntax, Magic Methods, Inheritance
- Numpy: Creating ndarrays, Manipulating ndarrays, Broadcasting
- Pandas: Manipulate a Series, Manipulate a DataFrame
- Linear Algebra: Vectors, Linear Combination and Transformation