Skip to content

Latest commit

 

History

History
151 lines (110 loc) · 9.08 KB

README.md

File metadata and controls

151 lines (110 loc) · 9.08 KB

Deep Learning Playground

Web Application where people new to Machine Learning can input a dataset and experiment around with basic Pytorch modules through a drag and drop interface

Deployed website: https://datasciencegt-dlp.com
GitHub repo: https://github.com/DSGT-DLP/Deep-Learning-Playground

Getting Started

Prerequisites

Have the following installed first:

  1. If you are on Mac or Linux, we strongly recommend installing Homebrew. You can install Homebrew by running /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)". See this link for more information
  2. Node.js v20 via NVM (Install nvm first, and then install node & npm using nvm).
    1. For Mac or Linux, run the commands shown here
    2. For Windows, follow the instructions from the "How to Install NVM on Windows" section of this article
    3. To get Node v20 with NVM, run nvm install 20 followed by nvm use 20. Run node -v to confirm that the node version is at least v20
  3. Mamba (Make sure to install using the Miniforge distribution. On windows, remember to check the box that says that it will add mamba to PATH)
    1. See this section of the README to pick the right installer for Miniforge based on your Operating System. Note that for Mac, you will need to make the Miniforge installer script executable through running a command like chmod +x Miniforge3-MacOSX-arm64.sh (if you are on M1 or later) or chmod +x Miniforge3-MacOSX-x86_64 otherwise
    2. For Windows, Miniforge recommends running mamba related commands through "Miniforge Prompt". You can access it in your app catalog in your laptop. An error you may run into is described here and running in Miniforge Prompt should help unblock for now
    3. If you are not able to run mamba commands right after installing Miniforge on Mac or Linux, you can try closing and reopening the terminal so that updates to the environment variables persist
  4. pip (Is also automatically installed with Python via Python's installer, make sure this version of pip is installed globally)
  5. dlp-cli (We have our own cli!)
  6. AWS CLI
  7. VSCode
  8. git
  9. Docker Desktop

Recommended

  1. GitHub Student Developer Pack - Get GitHub Pro features and GitHub Copilot access for free
  2. GitKraken - for helping with Git commands, especially if you're new to Git
  3. Postman - Extremely helpful for testing REST APIs
  4. Chrome - For Chrome developer tools
  5. Redux Devtools - Helpful for debugging any Redux
  6. go - In case if you ever need to contribute to the dlp-cli
  7. VSCode Extensions:
    1. Github Copilot
    2. IntelliCode
    3. Python
    4. Black Formatter
    5. Pretter - Code formatter
    6. ESLint
    7. Docker
    8. Go

1. Request invites 📫

Please message a Project Lead (@Project Lead) in the DLP Discord Server. Request the following access:

  • Git Guardian Access
  • AWS Access
  • Write access to the Deep-Learning-Playground and dlp-cli repos
  • Access to collaborate on the Notion page to add any documentation

Project Leads should be following up on granting the access within 24-48 hours.

2. Clone the Repository

If you want the main project, run in the directory of your choice:

git clone https://github.com/DSGT-DLP/Deep-Learning-Playground.git

If this installation is for the beginner project, instead do:

git clone https://github.com/DSGT-DLP/dlp-practice.git

3. Frontend and Backend Package Installation

Run the following command in the project directory (the root folder created after cloning):

Action Command
Install/Update Frontend Packages dlp-cli frontend install

It's no longer necessary to install the backend, as the dependencies will be automatically installed when running dlp-cli backend start.

4. To start on localhost

Run the following commands in the project directory (the root folder created after cloning):

Action Command
Running the Frontend dlp-cli frontend start
Running the Backend dlp-cli backend start

Make sure to run the above two commands in separate terminals. You should see these Terminal messages and be able to go to these URLs on success:

5. GitGuardian Pre-commit Check

To install the GitGuardian cli and pre-commit, run

pip install ggshield
pip install pre-commit

To protect our secrets, we use the GitGuardian ggshield pre-commit check to ensure no keys are being committed. After installing the backend, run

pre-commit install

You should get output like pre-commit installed at .git/hooks/pre-commit. Login to GitGuardian to activate the pre-commit hook using

ggshield auth login

If this command works properly, you will be redirected to an auth route in the Git Guardian website. Sign in using your Github account. Then, you should be all set!

Additional VSCode Setup (Recommended)

Access the VSCode command palette via Ctrl+Shift+P. Press Python: Select Interpreter. You need the Python VSCode extension for this.

Select the Python Interpreter named dlp.

6. AWS Setup

If you will be working on tasks that interface with AWS resources/services, please follow the below steps (please install AWS CLI using this link first):

  1. Request an AWS Account for Deep Learning Playground by messaging a Project Lead (@Project Lead) in the DLP Discord. Please include your Github username. a personal email account, and full name
  2. Once an AWS Account has been created, you will receive an email from AWS that will require you to setup a password
  3. When you login, you should be seeing that the account you're added under is Data Science Initiative Inc
  4. Click on the dropdown to expand the Data Science Initiative Inc entry and select the Command Line or programmatic access button
  5. Open your terminal and navigate to the DLP directory
    1. Run `aws configure sso``. Follow the prompts to enter the SSO Start URL (this comes from step 2) and the below values
    sso_region = us-east-1
    sso_session = dlp
    sso_registration_scopes = sso:account:access
    default output format = None
    cli profile name = just press enter (use the default one provided)
    
    1. Make sure you follow the instructions in the terminal to ensure your credentials are set correctly (eg: allow botocore to access data should be selected as "yes")
    2. Run cat ~/.aws/config to look for the sso profile configured.
    3. IMPORTANT: Run export AWS_PROFILE=<sso_profile_name from the previous step>, for Linux and Mac, or setx AWS_PROFILE <sso_profile_name from the previous step> for Windows. Note that when you close and reopen your terminal, you will need to rerun this export command

Please message in the DLP Discord or view the Bug Manual page and Documentation if you have any difficulty/issue with these steps.

Architecture

See Architecture.md

License

Deep Learning Playground is MIT licensed, as found in the LICENSE file.

Deep Learning Playground documentation is Creative Commons licensed, as found in the LICENSE-docs file.