dev_environment #2

Merged
grosse merged 4 commits from dev_environment into master 2024-05-14 09:23:10 +00:00
6 changed files with 61 additions and 23 deletions
Showing only changes of commit e55ca5c42c - Show all commits

View File

@ -14,7 +14,7 @@
## NAS
Additional 20TB backup storage is located at IKARUS NAS.
Additional 20TB backup storage is located at TAURUS NAS.

View File

@ -2,19 +2,10 @@
## Conceptual Design
![Sandbox Architecture](res/sandbox-architecture.png)
## Development Environment
An interactive, browser-based, development playground provides beginners and advanced users an isolated and safe AI playground.
## Training Environment
For long running processes (building/training) a userfriendly pipeline is available.
## Use Cases
The sandbox offers the possibility to provide interactive use cases and demo scripts for online courses.
## Data Generator
In order to analyse training behaviour of maschine learning models, synthetic data can be generator according to the user requirements. (tbd)
## Data Pool
The Data Pool allows the user to exchange data with other sandbox users, advanced users, and scientific users. Therefore the users can use the storage for their assignments (notebook files), data (training) and other sandbox driven data.
## Sandbox Use Cases
The following scenarios can be derived for the system: on the one hand, the system is to be used for teaching and on the other hand, the system is to be used for training.
Therefore, a mixed-use architecture is provided, which allows the system to be used for these two different requirements, hence following role concept has been designed:
The platform is a web-based, interactive environment runing on isolated and privacy friendly containers, designed to support an interdisciplinary user base comprising normal users, advanced users and scientific users. It facilitates teaching, research, and AI experimentation integrating four perspectives from Ethics, Law, Business and Computer Science.
### Roles
@ -29,8 +20,20 @@ Therefore, a mixed-use architecture is provided, which allows the system to be u
* Provide/develop (own) examples/demos.
**Scientific User**
* Data generation using synthetic data generator (tbd)
* GPU usage
* version control (GIT)
* CI/CD for long running tasks
* Storage
## Development Environment
An interactive, browser-based, development playground provides beginners and advanced users an isolated and safe AI playground. The platform is a web-based, interactive Jupyter Notebook environment powered by Kubernetes, designed to provide scalable and efficient computational resources. Users can create, edit, and run Jupyter Notebooks in their browsers, benefiting from the integrated environment to dynamically allocate computing power, manage resources, and ensure high availability. This setup allows for seamless collaboration, reproducibility, and the ability to handle complex data science workflows and provide a playground for AI, making it ideal for researchers, educators, and developers.
## Training Environment
The training environment empowers scientific users with a suite of flexible and advanced toolsets. This includes access to GPU-supported high-memory/CPU instances, ideal for tackling computationally intensive tasks and long-running training pipelines. For enhanced reproducibility and collaboration, the environment utilizes isolated containers with full version control, all seamlessly managed by a robust Kubernetes infrastructure. This ensures a consistent and scalable platform for your scientific workflows.
## Data Pool
The data pool caters to a wide range of users by offering a variety of flexible data storage options. Basic and advanced users alike can leverage the user-friendly Sandbox browser-based Explorer for intuitive data management. This web interface provides a drag-and- drop functionality and visual tools, making data exploration and organization effortless. For a more streamlined workflow, the Share UI provides a standalone interface. For power users, a powerful Share CLI is available, enabling them to efficiently save and manage their long-running trained models. This command-line interface integrates seamlessly with common data science tools and scripting languages, allowing for automation and customization.

View File

@ -1,13 +1,16 @@
# Data Pool
In the following section we describe how to store data on the Sandbox. There are three different ways to do achieve: Inside the Sandbox, headless file upload on Object storage and Git LFS.
In the following section we describe how to store data on the Sandbox. There are four different ways to do achieve: Inside the Sandbox, headless file upload & user interface on Object storage and Git LFS.
![Sandbox Data Pool](res/sandbox_datapool.png)
## Inside the Sandbox
To store the data inside the Sandbox, you just have to drag & drop or click on the upload button to save the file to your running instance. You can also create folders and new Notebooks. Please see the free space limitations [here](sandbox/dev_env#resources.md).
![file upload](res/sandbox_upload_file_selector.png "File Upload")
## Headless file storage
## Share CLI (Headless)
To use the headless object storage, you can upload a file via REST-Interface or curl. The json response message provides you the destination url.
**Upload Example**
@ -37,8 +40,23 @@ To use the headless object storage, you can upload a file via REST-Interface or
```
## Share UI
[Share UI](https://share.sandbox.iuk.hdm-stuttgart.de/) is a web application that allows file transfer between all user groups. The user interface allows you to drag and drop files onto the sandbox, delete them and set passwords, which provides additional security for the data. Once the file has been successfully uploaded, a URL can be used to make the file(s) available to course participants or other user groups.
## Git LFS
The following solution we highly recomment only for users which are familiar with git command line tools! Git Large File Storage (LFS). An open source Git extension for versioning large files. Git LFS replaces large files (audio, sample, datasets, videos) by a text pointer inside git. The files get stored on our gitea Server.
For further information visit [Git LFS](https://git-lfs.com/).
For further information visit [Git LFS](https://git-lfs.com/).
## Troubleshooting
- Files do not exist anymore after a certain period of time: The shared space is limited to 3 or 6 months.
- Impossible to curl from Share UI: The Share UI is mainly for UI users only, please use the Share CLI instead
## Useful Links
- [CLI Share](https://share.storage.sandbox.iuk.hdm-stuttgart.de/upload/uuid/filename)
- [Share UI](https://share.sandbox.iuk.hdm-stuttgart.de/)
- [Curl](https://curl.se/docs/tutorial.html)
- [GIT LFS](https://git-lfs.com/)

View File

@ -88,4 +88,18 @@ Please carefully follow the terms and conditions at [Sandbox](https://sandbox.iu
```
tf.keras.backend.clear_session()
```
```
## Troubleshooting
- when using javascript based plugins, it can happened that they either not load or run buggy: make sure you use chrome. Other browsers are often not supported by third party plugins
- Notebooks/Server/Dev Environment is going down: To avoid blocking resources, each environment has a certain timeout (frontend inactivity), so idling notebooks get culled to free resources for other user.
- my favourite xyz python packages is missing: use conda/pip (or inside a notebook: !pip install) to add additional packages
- all my data is gone after the semester break: all persistent storages get recycled of every(!) user each semester break. Please backup your data locally if needed
- package conflicts: common issue is to install a unspecific library version, please specify or upgrade all dependencies manually.
## Useful Links
- [Jupyter Documentation](https://docs.jupyter.org/en/latest/)
- [pip](https://pip.pypa.io/en/stable/user_guide/)
- [python](https://docs.python.org/3.11/)

View File

@ -2,14 +2,17 @@
![Sandbox Architecture](res/sandbox-architecture.png)
## Use Cases
A brief overview how to create [Use Cases](use_cases.md) on the Sandbox
## Development Environment
A [Development Environment](dev_env.md) or Playground for beginners and advanced users.
## Use Cases
A brief overview how to create [Use Cases](use_cases.md) on the Sandbox
## Data Pool
Details about how to store and manage data on the Sandbox: Additional information: [Data Pool](data_pool.md)
## Training Environment
(tbd)
## Data Generator
(tbd)
Detailed Information about how to perform a GPU supported model training on the Sandbox Environment.

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB