https://github.com/teozosa/deep-learning-v2-pytorch
https://github.com/teozosa/deep-learning-v2-pytorch
Last synced: 22 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/teozosa/deep-learning-v2-pytorch
- Owner: TeoZosa
- License: apache-2.0
- Created: 2021-05-07T18:56:13.000Z (about 4 years ago)
- Default Branch: master
- Last Pushed: 2023-01-12T14:04:18.000Z (over 2 years ago)
- Last Synced: 2023-03-04T04:50:45.352Z (over 2 years ago)
- Language: Jupyter Notebook
- Size: 15.1 MB
- Stars: 0
- Watchers: 1
- Forks: 1
- Open Issues: 43
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING_GUIDE.rst
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.rst
Awesome Lists containing this project
README
Deep Learning v2 PyTorch
==============================





[](https://github.com/pre-commit/pre-commit)
[](https://github.com/psf/black)
[](https://semgrep.dev/)
[](https://dependabot.com/)---
**Documentation**: [https://deep-learning-v2-pytorch.readthedocs.io](https://deep-learning-v2-pytorch.readthedocs.io)
**Source Code**: [https://github.com/TeoZosa/deep-learning-v2-pytorch](https://github.com/TeoZosa/deep-learning-v2-pytorch)
---
Overview
--------
Fork of [udacity/deep-learning-v2-pytorch](https://github.com/udacity/deep-learning-v2-pytorch)------------
Table of Contents
* [Tutorials](#tutorials)
+ [Introduction to Neural Networks](#introduction-to-neural-networks)
+ [Convolutional Neural Networks](#convolutional-neural-networks)
+ [Recurrent Neural Networks](#recurrent-neural-networks)
+ [Generative Adversarial Networks](#generative-adversarial-networks)
+ [Deploying a Model (with AWS SageMaker)](#deploying-a-model-with-aws-sagemaker)
+ [Projects](#projects)
+ [Elective Material](#elective-material)
- [Development](#development)
* [Package and Dependencies Installation](#package-and-dependencies-installation)
* [Testing](#testing)
* [Code Quality](#code-quality)
+ [Automate via Git Pre-Commit Hooks](#automate-via-git-pre-commit-hooks)
* [Documentation](#documentation)
- [Summary](#summary)
- [Further Reading](#further-reading)
- [Legal](#legal)
* [License](#license)
* [Credits](#credits)Tutorials
---------### Introduction to Neural Networks
* [Introduction to Neural Networks](https://github.com/udacity/deep-learning-v2-pytorch/tree/master/intro-neural-networks): Learn how to implement gradient descent and apply it to predicting patterns in student admissions data.
* [Sentiment Analysis with NumPy](https://github.com/udacity/deep-learning-v2-pytorch/tree/master/sentiment-analysis-network): [Andrew Trask](http://iamtrask.github.io/) leads you through building a sentiment analysis model, predicting if some text is positive or negative.
* [Introduction to PyTorch](https://github.com/udacity/deep-learning-v2-pytorch/tree/master/intro-to-pytorch): Learn how to build neural networks in PyTorch and use pre-trained networks for state-of-the-art image classifiers.### Convolutional Neural Networks
* [Convolutional Neural Networks](https://github.com/udacity/deep-learning-v2-pytorch/tree/master/convolutional-neural-networks): Visualize the output of layers that make up a CNN. Learn how to define and train a CNN for classifying [MNIST data](https://en.wikipedia.org/wiki/MNIST_database), a handwritten digit database that is notorious in the fields of machine and deep learning. Also, define and train a CNN for classifying images in the [CIFAR10 dataset](https://www.cs.toronto.edu/~kriz/cifar.html).
* [Transfer Learning](https://github.com/udacity/deep-learning-v2-pytorch/tree/master/transfer-learning). In practice, most people don't train their own networks on huge datasets; they use **pre-trained** networks such as VGGnet. Here you'll use VGGnet to help classify images of flowers without training an end-to-end network from scratch.
* [Weight Initialization](https://github.com/udacity/deep-learning-v2-pytorch/tree/master/weight-initialization): Explore how initializing network weights affects performance.
* [Autoencoders](https://github.com/udacity/deep-learning-v2-pytorch/tree/master/autoencoder): Build models for image compression and de-noising, using feedforward and convolutional networks in PyTorch.
* [Style Transfer](https://github.com/udacity/deep-learning-v2-pytorch/tree/master/style-transfer): Extract style and content features from images, using a pre-trained network. Implement style transfer according to the paper, [Image Style Transfer Using Convolutional Neural Networks](https://www.cv-foundation.org/openaccess/content_cvpr_2016/papers/Gatys_Image_Style_Transfer_CVPR_2016_paper.pdf) by Gatys et. al. Define appropriate losses for iteratively creating a target, style-transferred image of your own design!### Recurrent Neural Networks
* [Intro to Recurrent Networks (Time series & Character-level RNN)](https://github.com/udacity/deep-learning-v2-pytorch/tree/master/recurrent-neural-networks): Recurrent neural networks are able to use information about the sequence of data, such as the sequence of characters in text; learn how to implement these in PyTorch for a variety of tasks.
* [Embeddings (Word2Vec)](https://github.com/udacity/deep-learning-v2-pytorch/tree/master/word2vec-embeddings): Implement the Word2Vec model to find semantic representations of words for use in natural language processing.
* [Sentiment Analysis RNN](https://github.com/udacity/deep-learning-v2-pytorch/tree/master/sentiment-rnn): Implement a recurrent neural network that can predict if the text of a moview review is positive or negative.
* [Attention](https://github.com/udacity/deep-learning-v2-pytorch/tree/master/attention): Implement attention and apply it to annotation vectors.### Generative Adversarial Networks
* [Generative Adversarial Network on MNIST](https://github.com/udacity/deep-learning-v2-pytorch/tree/master/gan-mnist): Train a simple generative adversarial network on the MNIST dataset.
* [Batch Normalization](https://github.com/udacity/deep-learning-v2-pytorch/tree/master/batch-norm): Learn how to improve training rates and network stability with batch normalizations.
* [Deep Convolutional GAN (DCGAN)](https://github.com/udacity/deep-learning-v2-pytorch/tree/master/dcgan-svhn): Implement a DCGAN to generate new images based on the Street View House Numbers (SVHN) dataset.
* [CycleGAN](https://github.com/udacity/deep-learning-v2-pytorch/tree/master/cycle-gan): Implement a CycleGAN that is designed to learn from unpaired and unlabeled data; use trained generators to transform images from summer to winter and vice versa.### Deploying a Model (with AWS SageMaker)
* [All exercise and project notebooks](https://github.com/udacity/sagemaker-deployment) for the lessons on model deployment can be found in the linked, Github repo. Learn to deploy pre-trained models using AWS SageMaker.
### Projects
* [Predicting Bike-Sharing Patterns](https://github.com/udacity/deep-learning-v2-pytorch/tree/master/project-bikesharing): Implement a neural network in NumPy to predict bike rentals.
* [Dog Breed Classifier](https://github.com/udacity/deep-learning-v2-pytorch/tree/master/project-dog-classification): Build a convolutional neural network with PyTorch to classify any image (even an image of a face) as a specific dog breed.
* [TV Script Generation](https://github.com/udacity/deep-learning-v2-pytorch/tree/master/project-tv-script-generation): Train a recurrent neural network to generate scripts in the style of dialogue from Seinfeld.
* [Face Generation](https://github.com/udacity/deep-learning-v2-pytorch/tree/master/project-face-generation): Use a DCGAN on the CelebA dataset to generate images of new and realistic human faces.### Elective Material
* [Intro to TensorFlow](https://github.com/udacity/deep-learning-v2-pytorch/tree/master/tensorflow/intro-to-tensorflow): Starting building neural networks with TensorFlow.
* [Keras](https://github.com/udacity/deep-learning-v2-pytorch/tree/master/keras): Learn to build neural networks and convolutional neural networks with Keras.Development
===========> 📝 **Note**
> For convenience, many of the below processes are abstracted away
> and encapsulated in single [Make](https://www.gnu.org/software/make/) targets.> 🔥 **Tip**
> Invoking `make` without any arguments will display
> auto-generated documentation on available commands.Package and Dependencies Installation
--------------------------------------Make sure you have Python 3.6+ and [`poetry`](https://python-poetry.org/)
installed and configured.To install the package and all dev dependencies, run:
```shell script
make provision_environment
```> 🔥 **Tip**
> Invoking the above without `poetry` installed will emit a
> helpful error message letting you know how you can install poetry.Testing
------------We use [`tox`](https://tox.readthedocs.io/en/latest/) for our test automation framework
and [`pytest`](https://pytest.readthedocs.io/) for our testing framework.To invoke the tests, run:
```shell script
make test
```Run [mutation tests](https://opensource.com/article/20/7/mutmut-python) to validate test suite robustness (Optional):
```shell script
make test-mutations
```> 📝 **Note**
> Test time scales with the complexity of the codebase. Results are cached
> in `.mutmut-cache`, so once you get past the initial [cold start problem](https://en.wikipedia.org/wiki/Cold_start_(recommender_systems)),
> subsequent mutation test runs will be much faster; new mutations will only
> be applied to modified code paths.Code Quality
------------We are using [`pre-commit`](https://pre-commit.com/) for our code quality
static analysis automation and management framework.To invoke the analyses and auto-formatting over all version-controlled files, run:
```shell script
make lint
```> 🚨 **Danger**
> CI will fail if either testing or code quality fail,
> so it is recommended to automatically run the above locally
> prior to every commit that is pushed.### Automate via Git Pre-Commit Hooks
To automatically run code quality validation on every commit (over to-be-committed
files), run:```shell script
make install-pre-commit-hooks
```> ⚠️ Warning
> This will prevent commits if any single pre-commit hook fails
> (unless it is allowed to fail)
> or a file is modified by an auto-formatting job;
> in the latter case, you may simply repeat the commit and it should pass.Documentation
--------------```shell script
make docs-clean docs-html
```> 📝 **Note**
> For faster feedback loops, this will attempt to automatically open the newly
> built documentation static HTML in your browser.---
Legal
=====License
-------Deep Learning v2 PyTorch is licensed under the Apache License, Version 2.0.
See [LICENSE](./LICENSE) for the full license text.Credits
-------This project was generated from
[`@TeoZosa`'s](https://github.com/TeoZosa)
[`cookiecutter-cruft-poetry-tox-pre-commit-ci-cd`](https://github.com/TeoZosa/cookiecutter-cruft-poetry-tox-pre-commit-ci-cd)
template.