Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[FEATURE]: Trainspace Run CRUD Endpoints #992

Open
1 of 3 tasks
karkir0003 opened this issue Sep 25, 2023 · 1 comment
Open
1 of 3 tasks

[FEATURE]: Trainspace Run CRUD Endpoints #992

karkir0003 opened this issue Sep 25, 2023 · 1 comment
Assignees
Labels
enhancement New feature or request

Comments

@karkir0003
Copy link
Member

karkir0003 commented Sep 25, 2023

Feature Name

CRUD Endpoints for Trainspace runs

Your Name

Karthik Subramanian

Description

Purpose

DLP has migrated the underlying data representation of training requests of users to a model called the Trainspace model. However, a problem is that Trainspace is designed to store metadata for a given user's training request. During the model training phase, there are several result files generated that get written to dlp-executions-bucket. In order to ensure a clear purpose behind each database table, we propose to create a separate DynamoDB table to store "trainspace runs".

Trainspace vs. Trainspace Run

**Trainspace: **The datatype that stores data on a user's training request
**Trainspace Run: **The datatype that stores result files related to a user running a training request

Implementation Steps

  1. We want trainspace run and trainspace to be separate concepts. In order to maintain good practices on database design, we will create a new DynamoDB table in SST called trainspace-run-db with the following schema:
  • run_id (unique id denoting a trainspace run. This will be a primary key)
  • trainspace_id (what trainspace request is used in the run. This will be a GSI)
  • user_id (id of user initiating the trainspace run. This will be another GSI)
  • run_timestamp (timestamp that denotes when a trainspace run starts)
  • result_csv_uri (S3 URL for result csv file)
  • model_pt_uri (S3 URL for model.pt file)
  • onnx_uri (S3 URL for onnx file)
  • confusion_matrix_uri (S3 URL for confusion matrix file)
  • auc_roc_uri (S3 URL for auc_roc file)
  1. Create the following endpoints in SST (that will live in API Gateway)
    a. GET trainspace run by trainspace id
    b. GET trainspace run by run id
    c. GET all trainspace runs by user id
    d. DELETE trainspace run by run id
    e. CREATE trainspace run
    f. UPDATE trainspace run by run id (we update individual run here, not overwrite all trainspace runs!)

  2. Add calls to the new SST endpoints in the Django tabular.py file (since that's the current trainer we have right now)

Tasks

  1. backend
    karkir0003
  2. backend
    karkir0003
  3. backend
    karkir0003
@github-actions
Copy link
Contributor

Hello @karkir0003! Thank you for submitting the Feature Request Form. We appreciate your contribution. 👋

We will look into it and provide a response as soon as possible.

To work on this feature request, you can follow these branch setup instructions:

  1. Checkout the main branch:
```
 git checkout nextjs
```
  1. Pull the latest changes from the remote main branch:
```
 git pull origin nextjs
```
  1. Create a new branch specific to this feature request using the issue number:
```
 git checkout -b feature-992
```

Feel free to make the necessary changes in this branch and submit a pull request when you're ready.

Best regards,
Deep Learning Playground (DLP) Team

@karkir0003 karkir0003 self-assigned this Sep 25, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
Status: Backlog
Development

No branches or pull requests

1 participant