This repository is dedicated to sharing my personal journey and notes on Deep Learning as a professional Data Scientist. These notes are part of a my course, and I hope they will be beneficial for other Data Scientists and enthusiasts looking to learn and grow in this field.
In this repository, you will find labs, notes, and resources related to the following course outline:
- Linear Algebra: Understanding vectors, matrices, determinants, eigenvalues and eigenvectors, vector spaces, and linear transformations.
- Calculus: Understanding derivatives, integrals, limits, and series. Multivariable calculus and the concept of gradients are also important.
- Probability and Statistics: Understanding probability theory, random variables, probability distributions, expectations, variance, covariance, correlation, hypothesis testing, confidence intervals, maximum likelihood estimation, and Bayesian inference.
- Mathematical Building Blocks: Understanding the mathematical foundations of deep learning, including linear algebra, calculus, and probability theory.
- A First Look at a Neural Network: Introduction to the basic concepts of neural networks, including perceptrons, multilayer perceptrons, and backpropagation.
- Classifying Movie Reviews: Hands-on exercise in building a neural network to classify movie reviews.
- Classifying Newswires: Hands-on exercise in building a neural network to classify newswires.
- Predicting House Prices: Hands-on exercise in building a neural network to predict house prices.
- Overfitting and Underfitting: Understanding the concepts of overfitting and underfitting in neural networks.
- Introduction to Keras and TensorFlow: Introduction to the Keras and TensorFlow libraries for building neural networks.
- Getting Started with Neural Networks: Hands-on exercise in building a neural network using Keras.
- Fundamentals of Machine Learning: Understanding the basics of machine learning, including supervised and unsupervised learning, regression, and classification.
- Working with Keras: Hands-on exercise in building and training neural networks using Keras.
- Introduction to Deep Learning for Computer Vision: Introduction to the basics of computer vision and deep learning.
- Image Segmentation: Hands-on exercise in building a neural network to perform image segmentation.
- Modern ConvNet Architecture Patterns: Understanding the modern architecture patterns for convolutional neural networks.
- Interpreting What ConvNets Learn: Understanding how to interpret the outputs of convolutional neural networks.
- Deep Learning for Time Series: Introduction to deep learning for time series data.
- Introduction to PyTorch: Introduction to the PyTorch library for building neural networks.
- Sequence Models: Hands-on exercise in building sequence models using PyTorch.
- Transformer: Introduction to the transformer architecture for sequence-to-sequence learning.
- Sequence-to-Sequence Learning: Hands-on exercise in building sequence-to-sequence models using PyTorch.
- Text Generation: Hands-on exercise in building a text generation model using PyTorch.
- Deep Dream: Hands-on exercise in building a deep dream model.
- Neural Style Transfer: Hands-on exercise in building a neural style transfer model .
- Variational Autoencoders: Introduction to variational autoencoders and their applications.
- Generative Adversarial Networks (GANs): Introduction to GANs and their applications.
- Introduction to ConvNets: Introduction to the basics of convolutional neural networks.
- Using ConvNets with Small Datasets: Hands-on exercise in building a convolutional neural network to classify images with small datasets.
- Using a Pretrained ConvNet: Hands-on exercise in using a pretrained convolutional neural network for image classification.
- Visualizing What ConvNets Learn: Understanding how to visualize the outputs of convolutional neural networks.
- Introduction to RNNs: Introduction to the basics of recurrent neural networks.
- Advanced Usage of RNNs: Hands-on exercise in building advanced recurrent neural networks for sequence data.
- Sequence Processing with ConvNets: Hands-on exercise in building a convolutional neural network to process sequence data.
- Text Generation with LSTM: Hands-on exercise in building a long short-term memory (LSTM) network for text generation.
- Deep Dream: Hands-on exercise in building a deep dream model using RNNs.
- Neural Style Transfer: Hands-on exercise in building a neural style transfer model using RNNs.
- Generating Images with VAEs: Hands-on exercise in building a variational autoencoder to generate images.
- Introduction to GANs: Introduction to generative adversarial networks and their applications.
The repository is organized into folders corresponding to each section of the course. Within each folder, you will find relevant labs, notes, and resources related to that particular topic.
Feel free to browse through the content, and I hope you find this repository helpful in your Deep Learning journey!
Here are the tables for each folder in Markdown format:
A list of notebooks related to large language models.
Notebook | Description |
---|---|
1-mathematical-building-blocks | Understanding the mathematical foundations of deep learning |
Notebook | Description |
---|---|
1.1-a-first-look-at-a-neural-network | Introduction to the basic concepts of neural networks |
1.2-classifying-movie-reviews | Hands-on exercise in building a neural network to classify movie reviews |
1.3-classifying-newswires | Hands-on exercise in building a neural network to classify newswires |
1.4-predicting-house-prices | Hands-on exercise in building a neural network to predict house prices |
1.5-overfitting-and-underfitting | Understanding the concepts of overfitting and underfitting in neural networks |
Notebook | Description |
---|---|
2-introduction-to-keras-and-tf | Introduction to the Keras and TensorFlow libraries for building neural networks |
2.1-getting-started-with-neural-networks | Hands-on exercise in building a neural network using Keras |
2.2-fundamentals-of-ml | Understanding the basics of machine learning, including supervised and unsupervised learning, regression, and classification |
2.3-working-with-keras | Hands-on exercise in building and training neural networks using Keras |
Notebook | Description |
---|---|
3-intro-to-dl-for-computer-vision | Introduction to deep learning for computer vision |
3.1-image-segmentation | Hands-on exercise in building a neural network to perform image segmentation |
3.2-modern-convnet-architecture-patterns | Understanding modern convolutional neural network architecture patterns |
3.3-interpreting-what-convnets-learn | Understanding how to interpret the outputs of convolutional neural networks |
3.4-dl-for-timeseries | Introduction to deep learning for time series data |
Notebook | Description |
---|---|
4.1_introduction | Introduction to PyTorch for building neural networks |
4.2-sequence-models | Hands-on exercise in building sequence models using PyTorch |
4.3-transformer | Introduction to the transformer architecture for sequence-to-sequence learning |
4.4-sequence-to-sequence-learning | Hands-on exercise in building sequence-to-sequence models using PyTorch |
4.5-text-generation | Hands-on exercise in building a text generation |
4.6-deep-dream | Hands-on exercise in building a deep dream |
4.7-neural-style-transfer | Hands-on exercise in building a neural style transfer |
4.8-variational-autoencoders | Introduction to variational autoencoders and their applications |
4.9-gans | Introduction to generative adversarial networks and their applications |
Notebook | Description |
---|---|
5.1-introduction-to-convnets | Introduction to the basics of convolutional neural networks |
5.2-using-convnets-with-small-datasets | Hands-on exercise in building a convolutional neural network to classify images with small datasets |
5.3-using-a-pretrained-convnet | Hands-on exercise in using a pretrained convolutional neural network for image classification |
5.4-visualizing-what-convnets-learn | Understanding how to visualize the outputs of convolutional neural networks |
Notebook | Description |
---|---|
6.3-advanced-usage-of-recurrent-neural-networks | Hands-on exercise in building advanced recurrent neural networks for sequence data |
6.4-sequence-processing-with-convnets | Hands-on exercise in building a convolutional neural network to process sequence data |
6.5-text-generation-with-lstm | Hands-on exercise in building a long short-term memory (LSTM) network for text generation |
6.6-deep-dream | Hands-on exercise in building a deep dream model using RNNs |
6.7-neural-style-transfer | Hands-on exercise in building a neural style transfer model using RNNs |
6.8-generating-images-with-vaes | Hands-on exercise in building a variational autoencoder to generate images |
6.9-introduction-to-gans | Introduction to generative adversarial networks and their applications |