nadeemlab / ImPartial

Interactive deep learning whole-cell segmentation and thresholding using partial annotations
Other
34 stars 3 forks source link

Multi-user support #16

Closed ricdodds closed 1 year ago

gunjan-sh commented 1 year ago

Hi @ricdodds , I have some questions, please help clarify.

  1. Server specifications questions:

    1. Multiple users

      1. How many users can connect / request server at the same time?
      2. How is the data stored for each user?
    2. User session:

      1. Can the session be terminated by the user / admin?
      2. Where is the data stored? Are these stored on S3 bucket?
      3. How long is the data stored?
      4. How to reconnect to a user session?
      5. How long is the user session? How to extend a user session? Can a user request more time on training if the data is big?
      6. How much data (in GB) that can be uploaded by the user? Add limits to size of uploads.
      7. Can the same user request multiple session?
      8. Where are the logs saved for the session? We should upload them to S3
    3. Termination:

      a. "Stop Server" button's functionality is confusing. What does it mean and what is its function? Does it stop the current user session? Or does it stop the entire server? What happens to data when this is pressed? Should the user even have the option to stop server? Would a "terminate session" be more useful - wherein the datasets are reset / etc. ?

      b. I understand that a mapping is done of the user (IP, or some other unique identifier token) to the previously assigned server. When the user re-connects (within the 2 hour window), do we provide the same server with user's previous data? Even when the server was stopped by the user and reconnected ?

  2. Error Handling and UI messaging

    1. Image upload should only accept only IMAGE formats like: .png, .tiff, etc. Errors for other formats / no formats should present the user with a graceful error message.

    2. Training errors: Currently, if there are any issue during training for any reasons like wrong parameters, etc. there is no communication to imageJ plugin on what is happening.

    3. When saving intermediate model check point, an internal server error (500) comes saying unable to complete request, after this the application hangs. On restarting the application, no info from previous session is loaded.

ricdodds commented 1 year ago

1.i.a. As of today the service supports 10 concurrent users but can be expanded using reasonable strategies 1.i.b. The are stored using the following format /<ip-address>/<session-id>/<path>/<filename>/<timestamp> in an S3 bucket

1.ii.a. Yes 1.ii.b. S3 1.ii.c. Permanently 1.ii.d. This feature is not implemented yet 1.ii.e. 2 hours and can't be extended 1.ii.f. There's no limit 1.ii.g. No 1.ii.h. Yes, they are saved on S3

1.iii.a. Good point, will add some GUI clarifications 1.iii.b. Users can always access to their sessions within the 2 hours limit but resuming sessions is not implemented yet.

  1. These seems to be bugs that I'll look into asap
gunjan-sh commented 1 year ago

Reviewed and ran extensive stress tests. General functionality is working. Found some more errors and bugs which will be reported separately.