# Multiple UIServer

**URL:** <https://community.konduit.ai/t/multiple-uiserver/757>\
**Category:** DL4J\
**Created:** [July 29, 2020, 11:01am UTC](https://community.konduit.ai/t/multiple-uiserver/757 "2020-07-29T11:01:31Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Cpt\_Whittmann](https://avatars.discourse-cdn.com/v4/letter/c/e480ec/32.png) [@Cpt\_Whittmann](https://community.konduit.ai/u/Cpt_Whittmann)\
**Post date:** [July 29, 2020, 11:01am UTC](https://community.konduit.ai/t/multiple-uiserver/757/1 "2020-07-29T11:01:31Z")

</div>

Is there anyway to use the UIServer in ‘multiple mode’. Training and viewing \>1 networks simultaneously and/or training networks in series and viewing them using the same UIServer?

Many thanks.

---

<div class="post-metadata">

**Author:** ![agibsonccc](https://yyz1.discourse-cdn.com/flex035/user_avatar/community.konduit.ai/agibsonccc/32/697_2.png) [@agibsonccc](https://community.konduit.ai/u/agibsonccc)\
**Post date:** [August 2, 2020, 10:28am UTC](https://community.konduit.ai/t/multiple-uiserver/757/2 "2020-08-02T10:28:22Z")

</div>

@Cpt_Whittmann take a look at our multi session support. You can find a bit more here:

> <https://github.com/eclipse/deeplearning4j/pull/7185>
>
> \## What changes were proposed in this pull request?
> 
> This closes #7110
> Add op…tional multi-session functionality to UIServer: separate sessions by including session ID in URL-s, like /train/:sessionId/overview instead of /train/overview in single-session UI-server.
> \- Add --multiSession command-line option to PlayUIServer. Pass this setting is to TrainModule and DefaultModule. The front-end javascript code queries this setting to choose working mode.
> \- enabling multi-session mode: change PlayUIServer constructor and add command-line option (--multiSession), add UIServer factory method
> \- logging attached and detached sessions with URL for convenience in multi-session mode
> \- JavaScript: in multi-session mode, the session ID is determined from the URL. A new function getSessionSettings(callback) defined in train.js is used to get this information, then query URLs for single/multi-session mode are determined in the callback.
> \- Set separate i18n for sessions in multi-session mode.
> \- add option for attaching StatsStorage based on session ID passed in the URL, via custom provider, when in multi-session mode
> 
> This closes #7274 
> Fix missing dependency for UIServer.stop(), handle stopped state, add test.
> 
> \## How was this patch tested?
> 
> New manual tests in \`TestPlayUIMultiSession\` to check multi-session support, auto-attaching functionality and an auto-attaching-detaching example.
> New test in \`TestPlayUI\` for stopping functionality.
> 
> \## Quick checklist
> 
> The following checklist helps ensure your PR is complete:
> 
> \- \[x\] Reviewed the \[Contributing Guidelines\](https://github.com/deeplearning4j/deeplearning4j/blob/master/CONTRIBUTING.md) and followed the steps within.
> \- \[x\] Created tests for any significant new code additions.
> \- \[x\] Relevant tests for your changes are passing.
> \- \[x\] Ran mvn formatter:format (see \[formatter instructions\](http://code.revelc.net/formatter-maven-plugin/examples.html#Setting\_Source\_Files) for targeting your specific files).

---

<div class="post-metadata">

**Author:** ![printomi](https://yyz1.discourse-cdn.com/flex035/user_avatar/community.konduit.ai/printomi/32/129_2.png) [@printomi](https://community.konduit.ai/u/printomi)\
**Post date:** [August 24, 2020, 2:02pm UTC](https://community.konduit.ai/t/multiple-uiserver/757/3 "2020-08-24T14:02:05Z")

</div>

@Cpt_Whittmann in single-session mode, you can do all of this, since a `StatsStorage` can store multiple training sessions. You may want to set a meaningful session ID for each training so that you can use the session selector drop-down that lists training sessions in the `StatsStorage`.

However, if you want to display only one session at a time, you can use multi-session mode, as I have described here:

> [@UIServer in multi use mode](https://community.konduit.ai/t/uiserver-in-multi-use-mode/796):
>
> Hi, I am trying to get the UIServer in multi use mode working. I can create it, create multiple InMemoryStatsStorage objects and pass them via the function argument. The problem seems to be that I cannot store the sessionIds within each InMemoryStatsStorage object? The server comes up with “unknown sessionID”. How do you store the sessionId within each InMemoryStatsStorage object? Many thanks.
