This is a collection of AI projects that I present at Carleton AI Society (CAIS) workshops. The repository includes code for various applications of deep learning, such as text generation with GPT-2, sentiment analysis with BERT, and generating fake images with GAN. Each project is accompanied by a detailed description and a link to the necessary sources. Whether you're an AI enthusiast or a beginner looking to learn more about deep learning, this repository provides a range of interesting and informative projects to explore.
ATTENTION: Please note that in the event that the project necessitates an external dataset, the URL and associated guide is provided in the corresponding module.
To run the projects, you will need to install the required libraries. Follow the steps below to get started:
- Clone the repository and navigate to the project directory.
git clone https://github.com/Farzad-R/CAIS.git
cd yourproject
- Create a new virtual environment using a tool like virtualenv or conda, and activate the environment:
conda create --name projectenv python=3.10
conda activate projectenv
- Install the required libraries using the following commands:
For TensorFlow: (requires cuda for GPU configuration)
pip install tensorflow==2.6.0 numpy==1.23.5 pandas==1.4.3 scikit-learn==1.1.2
For PyTorch: (requires cuda for GPU configuration)
pip install torch==1.12.0 numpy==1.23.5 pandas==1.4.3 scikit-learn==1.1.2
Alternativly you can run:
pip install -r tfenvv_requirements.txt
or
pip install -r torchenv_requirements.txt
Note: The "tfenvv_requirements.txt" file contains the required libraries for TensorFlow, and the "torchenv_requirements.txt" file contains the required libraries for PyTorch. However, using these files may install additional libraries that may not be required for the projects at the moment, so it is recommended to manually install the required libraries. You may also want to have one separate environment for TensorFlow and another one for PyTorch. If you encounter any issues during installation, please refer to the official documentation for each library.
- GAN-fashion_mnist: Training a Generative Adversarial Network (GAN) using the Fashion-MNIST dataset to generate fake images.
- VAE-fashion_mnist: Implementing a Variational Autoencoder (VAE) to generate fashion MNIST images.
- ChatBot: Useing DialoGPT_medium and DialoGPT_large to make chatbots. The code also applies some filters to the responses that the models will genereate. (Please note that the conversations generated by this code are not intended to make sense, as this demonstration serves purely as an illustrative example.)
- GPT2-TextGeneration: Using GPT-2 to generate text based on an open-source dataset of movie summaries.
- BERT-sentiment-analysis: Performing sentiment analysis on a dataset of movie reviews using the BERT (Bidirectional Encoder Representations from Transformers) language model.
- predict-the-next-word: Training a language model based on LSTM architecture to generate text data, specifically movie dialogue.
- OpenCV-real-time-face-detection: Using the Haar Cascade face detection algorithm to detect faces in each frame of the video stream from the webcam.
- image-classification: Performing image classification on two datasets (cifar10 and mnist) using Convolutional Neural Network.
- U-NET-Image-Segmentation: Designing a U-Net to perform semantic image segmentation on the CARLA self-driving car dataset, and apply sparse categorical crossentropy for pixelwise prediction.
- attention-mechanism: Developing a custom layer for attention mechanism using Keras and seeing an example of attention mechanism in traffic forecasting.
- distributed-training: Distributing tensorflow and pytorch models over a single/multiple available GPUs.
- MLflow-experiment: MLflow-based pipeline for efficient Machine Learning experimentation and tracking.
