531 lines
20 KiB
Java
Raw Normal View History

DL4J UI: Migrate from Play to Vertx (#68) * Vertx transition initial steps Signed-off-by: AlexDBlack <blacka101@gmail.com> * Assets serving works Signed-off-by: AlexDBlack <blacka101@gmail.com> * Next steps Signed-off-by: AlexDBlack <blacka101@gmail.com> * Add other pages Signed-off-by: AlexDBlack <blacka101@gmail.com> * Add remaining modules Signed-off-by: AlexDBlack <blacka101@gmail.com> * Delete deeplearning4j-play module Signed-off-by: AlexDBlack <blacka101@gmail.com> * SD UI module Signed-off-by: AlexDBlack <blacka101@gmail.com> * Main UI works Signed-off-by: AlexDBlack <blacka101@gmail.com> * Multi-session UI fixed Signed-off-by: AlexDBlack <blacka101@gmail.com> * TSNE fixed Signed-off-by: AlexDBlack <blacka101@gmail.com> * Polish, fixes, re-add CLI launch option Signed-off-by: AlexDBlack <blacka101@gmail.com> * Fix remote UI functionality Signed-off-by: AlexDBlack <blacka101@gmail.com> * Final tweaks Signed-off-by: AlexDBlack <blacka101@gmail.com> * Remove Scala version suffix from deeplearning4j-ui Signed-off-by: AlexDBlack <blacka101@gmail.com> * Update Arbiter UI to vertx Signed-off-by: AlexDBlack <blacka101@gmail.com> * Missing version tag Signed-off-by: AlexDBlack <blacka101@gmail.com> * Remove (now unneeded) scala from arbiter UI Signed-off-by: AlexDBlack <blacka101@gmail.com> * Move vertx version to parent pom Signed-off-by: AlexDBlack <blacka101@gmail.com> * Switch template loading from classpath to a more reliable mechanism Signed-off-by: AlexDBlack <blacka101@gmail.com> * Small fix for I18N message loading Signed-off-by: AlexDBlack <blacka101@gmail.com> * Switch to shaded jackson for UI module JSON conversion Signed-off-by: AlexDBlack <blacka101@gmail.com> * Small test tweaks and copyright header fix Signed-off-by: AlexDBlack <blacka101@gmail.com> * pom file copyright headers Signed-off-by: AlexDBlack <blacka101@gmail.com> * plugins -> pliginManagement for java 8 modules Signed-off-by: AlexDBlack <blacka101@gmail.com> * plugins -> pliginManagement for java 8 modules Signed-off-by: AlexDBlack <blacka101@gmail.com>
2019-11-22 23:50:34 +11:00
/* ******************************************************************************
* Copyright (c) 2019 Konduit K.K.
2019-06-06 15:21:15 +03:00
*
* This program and the accompanying materials are made available under the
* terms of the Apache License, Version 2.0 which is available at
* https://www.apache.org/licenses/LICENSE-2.0.
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations
* under the License.
*
* SPDX-License-Identifier: Apache-2.0
******************************************************************************/
DL4J UI: Migrate from Play to Vertx (#68) * Vertx transition initial steps Signed-off-by: AlexDBlack <blacka101@gmail.com> * Assets serving works Signed-off-by: AlexDBlack <blacka101@gmail.com> * Next steps Signed-off-by: AlexDBlack <blacka101@gmail.com> * Add other pages Signed-off-by: AlexDBlack <blacka101@gmail.com> * Add remaining modules Signed-off-by: AlexDBlack <blacka101@gmail.com> * Delete deeplearning4j-play module Signed-off-by: AlexDBlack <blacka101@gmail.com> * SD UI module Signed-off-by: AlexDBlack <blacka101@gmail.com> * Main UI works Signed-off-by: AlexDBlack <blacka101@gmail.com> * Multi-session UI fixed Signed-off-by: AlexDBlack <blacka101@gmail.com> * TSNE fixed Signed-off-by: AlexDBlack <blacka101@gmail.com> * Polish, fixes, re-add CLI launch option Signed-off-by: AlexDBlack <blacka101@gmail.com> * Fix remote UI functionality Signed-off-by: AlexDBlack <blacka101@gmail.com> * Final tweaks Signed-off-by: AlexDBlack <blacka101@gmail.com> * Remove Scala version suffix from deeplearning4j-ui Signed-off-by: AlexDBlack <blacka101@gmail.com> * Update Arbiter UI to vertx Signed-off-by: AlexDBlack <blacka101@gmail.com> * Missing version tag Signed-off-by: AlexDBlack <blacka101@gmail.com> * Remove (now unneeded) scala from arbiter UI Signed-off-by: AlexDBlack <blacka101@gmail.com> * Move vertx version to parent pom Signed-off-by: AlexDBlack <blacka101@gmail.com> * Switch template loading from classpath to a more reliable mechanism Signed-off-by: AlexDBlack <blacka101@gmail.com> * Small fix for I18N message loading Signed-off-by: AlexDBlack <blacka101@gmail.com> * Switch to shaded jackson for UI module JSON conversion Signed-off-by: AlexDBlack <blacka101@gmail.com> * Small test tweaks and copyright header fix Signed-off-by: AlexDBlack <blacka101@gmail.com> * pom file copyright headers Signed-off-by: AlexDBlack <blacka101@gmail.com> * plugins -> pliginManagement for java 8 modules Signed-off-by: AlexDBlack <blacka101@gmail.com> * plugins -> pliginManagement for java 8 modules Signed-off-by: AlexDBlack <blacka101@gmail.com>
2019-11-22 23:50:34 +11:00
package org.deeplearning4j.ui;
2019-06-06 15:21:15 +03:00
import com.beust.jcommander.JCommander;
import com.beust.jcommander.Parameter;
DL4J UI: Migrate from Play to Vertx (#68) * Vertx transition initial steps Signed-off-by: AlexDBlack <blacka101@gmail.com> * Assets serving works Signed-off-by: AlexDBlack <blacka101@gmail.com> * Next steps Signed-off-by: AlexDBlack <blacka101@gmail.com> * Add other pages Signed-off-by: AlexDBlack <blacka101@gmail.com> * Add remaining modules Signed-off-by: AlexDBlack <blacka101@gmail.com> * Delete deeplearning4j-play module Signed-off-by: AlexDBlack <blacka101@gmail.com> * SD UI module Signed-off-by: AlexDBlack <blacka101@gmail.com> * Main UI works Signed-off-by: AlexDBlack <blacka101@gmail.com> * Multi-session UI fixed Signed-off-by: AlexDBlack <blacka101@gmail.com> * TSNE fixed Signed-off-by: AlexDBlack <blacka101@gmail.com> * Polish, fixes, re-add CLI launch option Signed-off-by: AlexDBlack <blacka101@gmail.com> * Fix remote UI functionality Signed-off-by: AlexDBlack <blacka101@gmail.com> * Final tweaks Signed-off-by: AlexDBlack <blacka101@gmail.com> * Remove Scala version suffix from deeplearning4j-ui Signed-off-by: AlexDBlack <blacka101@gmail.com> * Update Arbiter UI to vertx Signed-off-by: AlexDBlack <blacka101@gmail.com> * Missing version tag Signed-off-by: AlexDBlack <blacka101@gmail.com> * Remove (now unneeded) scala from arbiter UI Signed-off-by: AlexDBlack <blacka101@gmail.com> * Move vertx version to parent pom Signed-off-by: AlexDBlack <blacka101@gmail.com> * Switch template loading from classpath to a more reliable mechanism Signed-off-by: AlexDBlack <blacka101@gmail.com> * Small fix for I18N message loading Signed-off-by: AlexDBlack <blacka101@gmail.com> * Switch to shaded jackson for UI module JSON conversion Signed-off-by: AlexDBlack <blacka101@gmail.com> * Small test tweaks and copyright header fix Signed-off-by: AlexDBlack <blacka101@gmail.com> * pom file copyright headers Signed-off-by: AlexDBlack <blacka101@gmail.com> * plugins -> pliginManagement for java 8 modules Signed-off-by: AlexDBlack <blacka101@gmail.com> * plugins -> pliginManagement for java 8 modules Signed-off-by: AlexDBlack <blacka101@gmail.com>
2019-11-22 23:50:34 +11:00
import io.vertx.core.AbstractVerticle;
import io.vertx.core.Vertx;
import io.vertx.core.http.HttpServer;
import io.vertx.core.http.impl.MimeMapping;
import io.vertx.ext.web.Router;
import io.vertx.ext.web.RoutingContext;
import io.vertx.ext.web.handler.BodyHandler;
2019-06-06 15:21:15 +03:00
import lombok.Data;
DL4J UI: Migrate from Play to Vertx (#68) * Vertx transition initial steps Signed-off-by: AlexDBlack <blacka101@gmail.com> * Assets serving works Signed-off-by: AlexDBlack <blacka101@gmail.com> * Next steps Signed-off-by: AlexDBlack <blacka101@gmail.com> * Add other pages Signed-off-by: AlexDBlack <blacka101@gmail.com> * Add remaining modules Signed-off-by: AlexDBlack <blacka101@gmail.com> * Delete deeplearning4j-play module Signed-off-by: AlexDBlack <blacka101@gmail.com> * SD UI module Signed-off-by: AlexDBlack <blacka101@gmail.com> * Main UI works Signed-off-by: AlexDBlack <blacka101@gmail.com> * Multi-session UI fixed Signed-off-by: AlexDBlack <blacka101@gmail.com> * TSNE fixed Signed-off-by: AlexDBlack <blacka101@gmail.com> * Polish, fixes, re-add CLI launch option Signed-off-by: AlexDBlack <blacka101@gmail.com> * Fix remote UI functionality Signed-off-by: AlexDBlack <blacka101@gmail.com> * Final tweaks Signed-off-by: AlexDBlack <blacka101@gmail.com> * Remove Scala version suffix from deeplearning4j-ui Signed-off-by: AlexDBlack <blacka101@gmail.com> * Update Arbiter UI to vertx Signed-off-by: AlexDBlack <blacka101@gmail.com> * Missing version tag Signed-off-by: AlexDBlack <blacka101@gmail.com> * Remove (now unneeded) scala from arbiter UI Signed-off-by: AlexDBlack <blacka101@gmail.com> * Move vertx version to parent pom Signed-off-by: AlexDBlack <blacka101@gmail.com> * Switch template loading from classpath to a more reliable mechanism Signed-off-by: AlexDBlack <blacka101@gmail.com> * Small fix for I18N message loading Signed-off-by: AlexDBlack <blacka101@gmail.com> * Switch to shaded jackson for UI module JSON conversion Signed-off-by: AlexDBlack <blacka101@gmail.com> * Small test tweaks and copyright header fix Signed-off-by: AlexDBlack <blacka101@gmail.com> * pom file copyright headers Signed-off-by: AlexDBlack <blacka101@gmail.com> * plugins -> pliginManagement for java 8 modules Signed-off-by: AlexDBlack <blacka101@gmail.com> * plugins -> pliginManagement for java 8 modules Signed-off-by: AlexDBlack <blacka101@gmail.com>
2019-11-22 23:50:34 +11:00
import lombok.Getter;
import lombok.Setter;
2019-06-06 15:21:15 +03:00
import lombok.extern.slf4j.Slf4j;
DL4J UI: Migrate from Play to Vertx (#68) * Vertx transition initial steps Signed-off-by: AlexDBlack <blacka101@gmail.com> * Assets serving works Signed-off-by: AlexDBlack <blacka101@gmail.com> * Next steps Signed-off-by: AlexDBlack <blacka101@gmail.com> * Add other pages Signed-off-by: AlexDBlack <blacka101@gmail.com> * Add remaining modules Signed-off-by: AlexDBlack <blacka101@gmail.com> * Delete deeplearning4j-play module Signed-off-by: AlexDBlack <blacka101@gmail.com> * SD UI module Signed-off-by: AlexDBlack <blacka101@gmail.com> * Main UI works Signed-off-by: AlexDBlack <blacka101@gmail.com> * Multi-session UI fixed Signed-off-by: AlexDBlack <blacka101@gmail.com> * TSNE fixed Signed-off-by: AlexDBlack <blacka101@gmail.com> * Polish, fixes, re-add CLI launch option Signed-off-by: AlexDBlack <blacka101@gmail.com> * Fix remote UI functionality Signed-off-by: AlexDBlack <blacka101@gmail.com> * Final tweaks Signed-off-by: AlexDBlack <blacka101@gmail.com> * Remove Scala version suffix from deeplearning4j-ui Signed-off-by: AlexDBlack <blacka101@gmail.com> * Update Arbiter UI to vertx Signed-off-by: AlexDBlack <blacka101@gmail.com> * Missing version tag Signed-off-by: AlexDBlack <blacka101@gmail.com> * Remove (now unneeded) scala from arbiter UI Signed-off-by: AlexDBlack <blacka101@gmail.com> * Move vertx version to parent pom Signed-off-by: AlexDBlack <blacka101@gmail.com> * Switch template loading from classpath to a more reliable mechanism Signed-off-by: AlexDBlack <blacka101@gmail.com> * Small fix for I18N message loading Signed-off-by: AlexDBlack <blacka101@gmail.com> * Switch to shaded jackson for UI module JSON conversion Signed-off-by: AlexDBlack <blacka101@gmail.com> * Small test tweaks and copyright header fix Signed-off-by: AlexDBlack <blacka101@gmail.com> * pom file copyright headers Signed-off-by: AlexDBlack <blacka101@gmail.com> * plugins -> pliginManagement for java 8 modules Signed-off-by: AlexDBlack <blacka101@gmail.com> * plugins -> pliginManagement for java 8 modules Signed-off-by: AlexDBlack <blacka101@gmail.com>
2019-11-22 23:50:34 +11:00
import org.apache.commons.io.FilenameUtils;
2019-06-06 15:21:15 +03:00
import org.deeplearning4j.api.storage.StatsStorage;
import org.deeplearning4j.api.storage.StatsStorageEvent;
import org.deeplearning4j.api.storage.StatsStorageListener;
import org.deeplearning4j.api.storage.StatsStorageRouter;
import org.deeplearning4j.config.DL4JSystemProperties;
import org.deeplearning4j.ui.api.Route;
import org.deeplearning4j.ui.api.UIModule;
import org.deeplearning4j.ui.api.UIServer;
import org.deeplearning4j.ui.i18n.I18NProvider;
DL4J UI: Migrate from Play to Vertx (#68) * Vertx transition initial steps Signed-off-by: AlexDBlack <blacka101@gmail.com> * Assets serving works Signed-off-by: AlexDBlack <blacka101@gmail.com> * Next steps Signed-off-by: AlexDBlack <blacka101@gmail.com> * Add other pages Signed-off-by: AlexDBlack <blacka101@gmail.com> * Add remaining modules Signed-off-by: AlexDBlack <blacka101@gmail.com> * Delete deeplearning4j-play module Signed-off-by: AlexDBlack <blacka101@gmail.com> * SD UI module Signed-off-by: AlexDBlack <blacka101@gmail.com> * Main UI works Signed-off-by: AlexDBlack <blacka101@gmail.com> * Multi-session UI fixed Signed-off-by: AlexDBlack <blacka101@gmail.com> * TSNE fixed Signed-off-by: AlexDBlack <blacka101@gmail.com> * Polish, fixes, re-add CLI launch option Signed-off-by: AlexDBlack <blacka101@gmail.com> * Fix remote UI functionality Signed-off-by: AlexDBlack <blacka101@gmail.com> * Final tweaks Signed-off-by: AlexDBlack <blacka101@gmail.com> * Remove Scala version suffix from deeplearning4j-ui Signed-off-by: AlexDBlack <blacka101@gmail.com> * Update Arbiter UI to vertx Signed-off-by: AlexDBlack <blacka101@gmail.com> * Missing version tag Signed-off-by: AlexDBlack <blacka101@gmail.com> * Remove (now unneeded) scala from arbiter UI Signed-off-by: AlexDBlack <blacka101@gmail.com> * Move vertx version to parent pom Signed-off-by: AlexDBlack <blacka101@gmail.com> * Switch template loading from classpath to a more reliable mechanism Signed-off-by: AlexDBlack <blacka101@gmail.com> * Small fix for I18N message loading Signed-off-by: AlexDBlack <blacka101@gmail.com> * Switch to shaded jackson for UI module JSON conversion Signed-off-by: AlexDBlack <blacka101@gmail.com> * Small test tweaks and copyright header fix Signed-off-by: AlexDBlack <blacka101@gmail.com> * pom file copyright headers Signed-off-by: AlexDBlack <blacka101@gmail.com> * plugins -> pliginManagement for java 8 modules Signed-off-by: AlexDBlack <blacka101@gmail.com> * plugins -> pliginManagement for java 8 modules Signed-off-by: AlexDBlack <blacka101@gmail.com>
2019-11-22 23:50:34 +11:00
import org.deeplearning4j.ui.module.SameDiffModule;
2019-06-06 15:21:15 +03:00
import org.deeplearning4j.ui.module.convolutional.ConvolutionalListenerModule;
import org.deeplearning4j.ui.module.defaultModule.DefaultModule;
import org.deeplearning4j.ui.module.remote.RemoteReceiverModule;
import org.deeplearning4j.ui.module.train.TrainModule;
import org.deeplearning4j.ui.module.tsne.TsneModule;
import org.deeplearning4j.ui.storage.FileStatsStorage;
import org.deeplearning4j.ui.storage.InMemoryStatsStorage;
import org.deeplearning4j.ui.storage.impl.QueueStatsStorageListener;
import org.deeplearning4j.util.DL4JFileUtils;
import org.nd4j.linalg.function.Function;
import org.nd4j.linalg.primitives.Pair;
import java.io.File;
import java.util.*;
DL4J UI: Migrate from Play to Vertx (#68) * Vertx transition initial steps Signed-off-by: AlexDBlack <blacka101@gmail.com> * Assets serving works Signed-off-by: AlexDBlack <blacka101@gmail.com> * Next steps Signed-off-by: AlexDBlack <blacka101@gmail.com> * Add other pages Signed-off-by: AlexDBlack <blacka101@gmail.com> * Add remaining modules Signed-off-by: AlexDBlack <blacka101@gmail.com> * Delete deeplearning4j-play module Signed-off-by: AlexDBlack <blacka101@gmail.com> * SD UI module Signed-off-by: AlexDBlack <blacka101@gmail.com> * Main UI works Signed-off-by: AlexDBlack <blacka101@gmail.com> * Multi-session UI fixed Signed-off-by: AlexDBlack <blacka101@gmail.com> * TSNE fixed Signed-off-by: AlexDBlack <blacka101@gmail.com> * Polish, fixes, re-add CLI launch option Signed-off-by: AlexDBlack <blacka101@gmail.com> * Fix remote UI functionality Signed-off-by: AlexDBlack <blacka101@gmail.com> * Final tweaks Signed-off-by: AlexDBlack <blacka101@gmail.com> * Remove Scala version suffix from deeplearning4j-ui Signed-off-by: AlexDBlack <blacka101@gmail.com> * Update Arbiter UI to vertx Signed-off-by: AlexDBlack <blacka101@gmail.com> * Missing version tag Signed-off-by: AlexDBlack <blacka101@gmail.com> * Remove (now unneeded) scala from arbiter UI Signed-off-by: AlexDBlack <blacka101@gmail.com> * Move vertx version to parent pom Signed-off-by: AlexDBlack <blacka101@gmail.com> * Switch template loading from classpath to a more reliable mechanism Signed-off-by: AlexDBlack <blacka101@gmail.com> * Small fix for I18N message loading Signed-off-by: AlexDBlack <blacka101@gmail.com> * Switch to shaded jackson for UI module JSON conversion Signed-off-by: AlexDBlack <blacka101@gmail.com> * Small test tweaks and copyright header fix Signed-off-by: AlexDBlack <blacka101@gmail.com> * pom file copyright headers Signed-off-by: AlexDBlack <blacka101@gmail.com> * plugins -> pliginManagement for java 8 modules Signed-off-by: AlexDBlack <blacka101@gmail.com> * plugins -> pliginManagement for java 8 modules Signed-off-by: AlexDBlack <blacka101@gmail.com>
2019-11-22 23:50:34 +11:00
import java.util.concurrent.*;
2019-06-06 15:21:15 +03:00
import java.util.concurrent.atomic.AtomicBoolean;
@Slf4j
DL4J UI: Migrate from Play to Vertx (#68) * Vertx transition initial steps Signed-off-by: AlexDBlack <blacka101@gmail.com> * Assets serving works Signed-off-by: AlexDBlack <blacka101@gmail.com> * Next steps Signed-off-by: AlexDBlack <blacka101@gmail.com> * Add other pages Signed-off-by: AlexDBlack <blacka101@gmail.com> * Add remaining modules Signed-off-by: AlexDBlack <blacka101@gmail.com> * Delete deeplearning4j-play module Signed-off-by: AlexDBlack <blacka101@gmail.com> * SD UI module Signed-off-by: AlexDBlack <blacka101@gmail.com> * Main UI works Signed-off-by: AlexDBlack <blacka101@gmail.com> * Multi-session UI fixed Signed-off-by: AlexDBlack <blacka101@gmail.com> * TSNE fixed Signed-off-by: AlexDBlack <blacka101@gmail.com> * Polish, fixes, re-add CLI launch option Signed-off-by: AlexDBlack <blacka101@gmail.com> * Fix remote UI functionality Signed-off-by: AlexDBlack <blacka101@gmail.com> * Final tweaks Signed-off-by: AlexDBlack <blacka101@gmail.com> * Remove Scala version suffix from deeplearning4j-ui Signed-off-by: AlexDBlack <blacka101@gmail.com> * Update Arbiter UI to vertx Signed-off-by: AlexDBlack <blacka101@gmail.com> * Missing version tag Signed-off-by: AlexDBlack <blacka101@gmail.com> * Remove (now unneeded) scala from arbiter UI Signed-off-by: AlexDBlack <blacka101@gmail.com> * Move vertx version to parent pom Signed-off-by: AlexDBlack <blacka101@gmail.com> * Switch template loading from classpath to a more reliable mechanism Signed-off-by: AlexDBlack <blacka101@gmail.com> * Small fix for I18N message loading Signed-off-by: AlexDBlack <blacka101@gmail.com> * Switch to shaded jackson for UI module JSON conversion Signed-off-by: AlexDBlack <blacka101@gmail.com> * Small test tweaks and copyright header fix Signed-off-by: AlexDBlack <blacka101@gmail.com> * pom file copyright headers Signed-off-by: AlexDBlack <blacka101@gmail.com> * plugins -> pliginManagement for java 8 modules Signed-off-by: AlexDBlack <blacka101@gmail.com> * plugins -> pliginManagement for java 8 modules Signed-off-by: AlexDBlack <blacka101@gmail.com>
2019-11-22 23:50:34 +11:00
public class VertxUIServer extends AbstractVerticle implements UIServer {
2019-06-06 15:21:15 +03:00
public static final int DEFAULT_UI_PORT = 9000;
public static final String ASSETS_ROOT_DIRECTORY = "deeplearning4jUiAssets/";
DL4J UI: Migrate from Play to Vertx (#68) * Vertx transition initial steps Signed-off-by: AlexDBlack <blacka101@gmail.com> * Assets serving works Signed-off-by: AlexDBlack <blacka101@gmail.com> * Next steps Signed-off-by: AlexDBlack <blacka101@gmail.com> * Add other pages Signed-off-by: AlexDBlack <blacka101@gmail.com> * Add remaining modules Signed-off-by: AlexDBlack <blacka101@gmail.com> * Delete deeplearning4j-play module Signed-off-by: AlexDBlack <blacka101@gmail.com> * SD UI module Signed-off-by: AlexDBlack <blacka101@gmail.com> * Main UI works Signed-off-by: AlexDBlack <blacka101@gmail.com> * Multi-session UI fixed Signed-off-by: AlexDBlack <blacka101@gmail.com> * TSNE fixed Signed-off-by: AlexDBlack <blacka101@gmail.com> * Polish, fixes, re-add CLI launch option Signed-off-by: AlexDBlack <blacka101@gmail.com> * Fix remote UI functionality Signed-off-by: AlexDBlack <blacka101@gmail.com> * Final tweaks Signed-off-by: AlexDBlack <blacka101@gmail.com> * Remove Scala version suffix from deeplearning4j-ui Signed-off-by: AlexDBlack <blacka101@gmail.com> * Update Arbiter UI to vertx Signed-off-by: AlexDBlack <blacka101@gmail.com> * Missing version tag Signed-off-by: AlexDBlack <blacka101@gmail.com> * Remove (now unneeded) scala from arbiter UI Signed-off-by: AlexDBlack <blacka101@gmail.com> * Move vertx version to parent pom Signed-off-by: AlexDBlack <blacka101@gmail.com> * Switch template loading from classpath to a more reliable mechanism Signed-off-by: AlexDBlack <blacka101@gmail.com> * Small fix for I18N message loading Signed-off-by: AlexDBlack <blacka101@gmail.com> * Switch to shaded jackson for UI module JSON conversion Signed-off-by: AlexDBlack <blacka101@gmail.com> * Small test tweaks and copyright header fix Signed-off-by: AlexDBlack <blacka101@gmail.com> * pom file copyright headers Signed-off-by: AlexDBlack <blacka101@gmail.com> * plugins -> pliginManagement for java 8 modules Signed-off-by: AlexDBlack <blacka101@gmail.com> * plugins -> pliginManagement for java 8 modules Signed-off-by: AlexDBlack <blacka101@gmail.com>
2019-11-22 23:50:34 +11:00
@Getter
private static VertxUIServer instance;
2019-06-06 15:21:15 +03:00
DL4J UI: Migrate from Play to Vertx (#68) * Vertx transition initial steps Signed-off-by: AlexDBlack <blacka101@gmail.com> * Assets serving works Signed-off-by: AlexDBlack <blacka101@gmail.com> * Next steps Signed-off-by: AlexDBlack <blacka101@gmail.com> * Add other pages Signed-off-by: AlexDBlack <blacka101@gmail.com> * Add remaining modules Signed-off-by: AlexDBlack <blacka101@gmail.com> * Delete deeplearning4j-play module Signed-off-by: AlexDBlack <blacka101@gmail.com> * SD UI module Signed-off-by: AlexDBlack <blacka101@gmail.com> * Main UI works Signed-off-by: AlexDBlack <blacka101@gmail.com> * Multi-session UI fixed Signed-off-by: AlexDBlack <blacka101@gmail.com> * TSNE fixed Signed-off-by: AlexDBlack <blacka101@gmail.com> * Polish, fixes, re-add CLI launch option Signed-off-by: AlexDBlack <blacka101@gmail.com> * Fix remote UI functionality Signed-off-by: AlexDBlack <blacka101@gmail.com> * Final tweaks Signed-off-by: AlexDBlack <blacka101@gmail.com> * Remove Scala version suffix from deeplearning4j-ui Signed-off-by: AlexDBlack <blacka101@gmail.com> * Update Arbiter UI to vertx Signed-off-by: AlexDBlack <blacka101@gmail.com> * Missing version tag Signed-off-by: AlexDBlack <blacka101@gmail.com> * Remove (now unneeded) scala from arbiter UI Signed-off-by: AlexDBlack <blacka101@gmail.com> * Move vertx version to parent pom Signed-off-by: AlexDBlack <blacka101@gmail.com> * Switch template loading from classpath to a more reliable mechanism Signed-off-by: AlexDBlack <blacka101@gmail.com> * Small fix for I18N message loading Signed-off-by: AlexDBlack <blacka101@gmail.com> * Switch to shaded jackson for UI module JSON conversion Signed-off-by: AlexDBlack <blacka101@gmail.com> * Small test tweaks and copyright header fix Signed-off-by: AlexDBlack <blacka101@gmail.com> * pom file copyright headers Signed-off-by: AlexDBlack <blacka101@gmail.com> * plugins -> pliginManagement for java 8 modules Signed-off-by: AlexDBlack <blacka101@gmail.com> * plugins -> pliginManagement for java 8 modules Signed-off-by: AlexDBlack <blacka101@gmail.com>
2019-11-22 23:50:34 +11:00
@Getter
private static AtomicBoolean multiSession = new AtomicBoolean(false);
@Getter
@Setter
private static Function<String, StatsStorage> statsStorageProvider;
2019-06-06 15:21:15 +03:00
DL4J UI: Migrate from Play to Vertx (#68) * Vertx transition initial steps Signed-off-by: AlexDBlack <blacka101@gmail.com> * Assets serving works Signed-off-by: AlexDBlack <blacka101@gmail.com> * Next steps Signed-off-by: AlexDBlack <blacka101@gmail.com> * Add other pages Signed-off-by: AlexDBlack <blacka101@gmail.com> * Add remaining modules Signed-off-by: AlexDBlack <blacka101@gmail.com> * Delete deeplearning4j-play module Signed-off-by: AlexDBlack <blacka101@gmail.com> * SD UI module Signed-off-by: AlexDBlack <blacka101@gmail.com> * Main UI works Signed-off-by: AlexDBlack <blacka101@gmail.com> * Multi-session UI fixed Signed-off-by: AlexDBlack <blacka101@gmail.com> * TSNE fixed Signed-off-by: AlexDBlack <blacka101@gmail.com> * Polish, fixes, re-add CLI launch option Signed-off-by: AlexDBlack <blacka101@gmail.com> * Fix remote UI functionality Signed-off-by: AlexDBlack <blacka101@gmail.com> * Final tweaks Signed-off-by: AlexDBlack <blacka101@gmail.com> * Remove Scala version suffix from deeplearning4j-ui Signed-off-by: AlexDBlack <blacka101@gmail.com> * Update Arbiter UI to vertx Signed-off-by: AlexDBlack <blacka101@gmail.com> * Missing version tag Signed-off-by: AlexDBlack <blacka101@gmail.com> * Remove (now unneeded) scala from arbiter UI Signed-off-by: AlexDBlack <blacka101@gmail.com> * Move vertx version to parent pom Signed-off-by: AlexDBlack <blacka101@gmail.com> * Switch template loading from classpath to a more reliable mechanism Signed-off-by: AlexDBlack <blacka101@gmail.com> * Small fix for I18N message loading Signed-off-by: AlexDBlack <blacka101@gmail.com> * Switch to shaded jackson for UI module JSON conversion Signed-off-by: AlexDBlack <blacka101@gmail.com> * Small test tweaks and copyright header fix Signed-off-by: AlexDBlack <blacka101@gmail.com> * pom file copyright headers Signed-off-by: AlexDBlack <blacka101@gmail.com> * plugins -> pliginManagement for java 8 modules Signed-off-by: AlexDBlack <blacka101@gmail.com> * plugins -> pliginManagement for java 8 modules Signed-off-by: AlexDBlack <blacka101@gmail.com>
2019-11-22 23:50:34 +11:00
private static Integer instancePort;
2019-06-06 15:21:15 +03:00
private TrainModule trainModule;
DL4J UI: Migrate from Play to Vertx (#68) * Vertx transition initial steps Signed-off-by: AlexDBlack <blacka101@gmail.com> * Assets serving works Signed-off-by: AlexDBlack <blacka101@gmail.com> * Next steps Signed-off-by: AlexDBlack <blacka101@gmail.com> * Add other pages Signed-off-by: AlexDBlack <blacka101@gmail.com> * Add remaining modules Signed-off-by: AlexDBlack <blacka101@gmail.com> * Delete deeplearning4j-play module Signed-off-by: AlexDBlack <blacka101@gmail.com> * SD UI module Signed-off-by: AlexDBlack <blacka101@gmail.com> * Main UI works Signed-off-by: AlexDBlack <blacka101@gmail.com> * Multi-session UI fixed Signed-off-by: AlexDBlack <blacka101@gmail.com> * TSNE fixed Signed-off-by: AlexDBlack <blacka101@gmail.com> * Polish, fixes, re-add CLI launch option Signed-off-by: AlexDBlack <blacka101@gmail.com> * Fix remote UI functionality Signed-off-by: AlexDBlack <blacka101@gmail.com> * Final tweaks Signed-off-by: AlexDBlack <blacka101@gmail.com> * Remove Scala version suffix from deeplearning4j-ui Signed-off-by: AlexDBlack <blacka101@gmail.com> * Update Arbiter UI to vertx Signed-off-by: AlexDBlack <blacka101@gmail.com> * Missing version tag Signed-off-by: AlexDBlack <blacka101@gmail.com> * Remove (now unneeded) scala from arbiter UI Signed-off-by: AlexDBlack <blacka101@gmail.com> * Move vertx version to parent pom Signed-off-by: AlexDBlack <blacka101@gmail.com> * Switch template loading from classpath to a more reliable mechanism Signed-off-by: AlexDBlack <blacka101@gmail.com> * Small fix for I18N message loading Signed-off-by: AlexDBlack <blacka101@gmail.com> * Switch to shaded jackson for UI module JSON conversion Signed-off-by: AlexDBlack <blacka101@gmail.com> * Small test tweaks and copyright header fix Signed-off-by: AlexDBlack <blacka101@gmail.com> * pom file copyright headers Signed-off-by: AlexDBlack <blacka101@gmail.com> * plugins -> pliginManagement for java 8 modules Signed-off-by: AlexDBlack <blacka101@gmail.com> * plugins -> pliginManagement for java 8 modules Signed-off-by: AlexDBlack <blacka101@gmail.com>
2019-11-22 23:50:34 +11:00
public static VertxUIServer getInstance() {
return getInstance(null, multiSession.get(), null);
2019-06-06 15:21:15 +03:00
}
DL4J UI: Migrate from Play to Vertx (#68) * Vertx transition initial steps Signed-off-by: AlexDBlack <blacka101@gmail.com> * Assets serving works Signed-off-by: AlexDBlack <blacka101@gmail.com> * Next steps Signed-off-by: AlexDBlack <blacka101@gmail.com> * Add other pages Signed-off-by: AlexDBlack <blacka101@gmail.com> * Add remaining modules Signed-off-by: AlexDBlack <blacka101@gmail.com> * Delete deeplearning4j-play module Signed-off-by: AlexDBlack <blacka101@gmail.com> * SD UI module Signed-off-by: AlexDBlack <blacka101@gmail.com> * Main UI works Signed-off-by: AlexDBlack <blacka101@gmail.com> * Multi-session UI fixed Signed-off-by: AlexDBlack <blacka101@gmail.com> * TSNE fixed Signed-off-by: AlexDBlack <blacka101@gmail.com> * Polish, fixes, re-add CLI launch option Signed-off-by: AlexDBlack <blacka101@gmail.com> * Fix remote UI functionality Signed-off-by: AlexDBlack <blacka101@gmail.com> * Final tweaks Signed-off-by: AlexDBlack <blacka101@gmail.com> * Remove Scala version suffix from deeplearning4j-ui Signed-off-by: AlexDBlack <blacka101@gmail.com> * Update Arbiter UI to vertx Signed-off-by: AlexDBlack <blacka101@gmail.com> * Missing version tag Signed-off-by: AlexDBlack <blacka101@gmail.com> * Remove (now unneeded) scala from arbiter UI Signed-off-by: AlexDBlack <blacka101@gmail.com> * Move vertx version to parent pom Signed-off-by: AlexDBlack <blacka101@gmail.com> * Switch template loading from classpath to a more reliable mechanism Signed-off-by: AlexDBlack <blacka101@gmail.com> * Small fix for I18N message loading Signed-off-by: AlexDBlack <blacka101@gmail.com> * Switch to shaded jackson for UI module JSON conversion Signed-off-by: AlexDBlack <blacka101@gmail.com> * Small test tweaks and copyright header fix Signed-off-by: AlexDBlack <blacka101@gmail.com> * pom file copyright headers Signed-off-by: AlexDBlack <blacka101@gmail.com> * plugins -> pliginManagement for java 8 modules Signed-off-by: AlexDBlack <blacka101@gmail.com> * plugins -> pliginManagement for java 8 modules Signed-off-by: AlexDBlack <blacka101@gmail.com>
2019-11-22 23:50:34 +11:00
public static VertxUIServer getInstance(Integer port, boolean multiSession, Function<String, StatsStorage> statsStorageProvider){
if (instance == null || instance.isStopped()) {
VertxUIServer.multiSession.set(multiSession);
VertxUIServer.setStatsStorageProvider(statsStorageProvider);
instancePort = port;
Vertx vertx = Vertx.vertx();
//Launch UI server verticle and wait for it to start
CountDownLatch l = new CountDownLatch(1);
vertx.deployVerticle(VertxUIServer.class.getName(), res -> {
l.countDown();
});
2019-06-06 15:21:15 +03:00
try {
DL4J UI: Migrate from Play to Vertx (#68) * Vertx transition initial steps Signed-off-by: AlexDBlack <blacka101@gmail.com> * Assets serving works Signed-off-by: AlexDBlack <blacka101@gmail.com> * Next steps Signed-off-by: AlexDBlack <blacka101@gmail.com> * Add other pages Signed-off-by: AlexDBlack <blacka101@gmail.com> * Add remaining modules Signed-off-by: AlexDBlack <blacka101@gmail.com> * Delete deeplearning4j-play module Signed-off-by: AlexDBlack <blacka101@gmail.com> * SD UI module Signed-off-by: AlexDBlack <blacka101@gmail.com> * Main UI works Signed-off-by: AlexDBlack <blacka101@gmail.com> * Multi-session UI fixed Signed-off-by: AlexDBlack <blacka101@gmail.com> * TSNE fixed Signed-off-by: AlexDBlack <blacka101@gmail.com> * Polish, fixes, re-add CLI launch option Signed-off-by: AlexDBlack <blacka101@gmail.com> * Fix remote UI functionality Signed-off-by: AlexDBlack <blacka101@gmail.com> * Final tweaks Signed-off-by: AlexDBlack <blacka101@gmail.com> * Remove Scala version suffix from deeplearning4j-ui Signed-off-by: AlexDBlack <blacka101@gmail.com> * Update Arbiter UI to vertx Signed-off-by: AlexDBlack <blacka101@gmail.com> * Missing version tag Signed-off-by: AlexDBlack <blacka101@gmail.com> * Remove (now unneeded) scala from arbiter UI Signed-off-by: AlexDBlack <blacka101@gmail.com> * Move vertx version to parent pom Signed-off-by: AlexDBlack <blacka101@gmail.com> * Switch template loading from classpath to a more reliable mechanism Signed-off-by: AlexDBlack <blacka101@gmail.com> * Small fix for I18N message loading Signed-off-by: AlexDBlack <blacka101@gmail.com> * Switch to shaded jackson for UI module JSON conversion Signed-off-by: AlexDBlack <blacka101@gmail.com> * Small test tweaks and copyright header fix Signed-off-by: AlexDBlack <blacka101@gmail.com> * pom file copyright headers Signed-off-by: AlexDBlack <blacka101@gmail.com> * plugins -> pliginManagement for java 8 modules Signed-off-by: AlexDBlack <blacka101@gmail.com> * plugins -> pliginManagement for java 8 modules Signed-off-by: AlexDBlack <blacka101@gmail.com>
2019-11-22 23:50:34 +11:00
l.await(5000, TimeUnit.MILLISECONDS);
} catch (InterruptedException e){ } //Ignore
} else if (!instance.isStopped()) {
if (instance.multiSession.get() && !instance.isMultiSession()) {
throw new RuntimeException("Cannot return multi-session instance." +
" UIServer has already started in single-session mode at " + instance.getAddress() +
" You may stop the UI server instance, and start a new one.");
} else if (!instance.multiSession.get() && instance.isMultiSession()) {
throw new RuntimeException("Cannot return single-session instance." +
" UIServer has already started in multi-session mode at " + instance.getAddress() +
" You may stop the UI server instance, and start a new one.");
2019-06-06 15:21:15 +03:00
}
}
DL4J UI: Migrate from Play to Vertx (#68) * Vertx transition initial steps Signed-off-by: AlexDBlack <blacka101@gmail.com> * Assets serving works Signed-off-by: AlexDBlack <blacka101@gmail.com> * Next steps Signed-off-by: AlexDBlack <blacka101@gmail.com> * Add other pages Signed-off-by: AlexDBlack <blacka101@gmail.com> * Add remaining modules Signed-off-by: AlexDBlack <blacka101@gmail.com> * Delete deeplearning4j-play module Signed-off-by: AlexDBlack <blacka101@gmail.com> * SD UI module Signed-off-by: AlexDBlack <blacka101@gmail.com> * Main UI works Signed-off-by: AlexDBlack <blacka101@gmail.com> * Multi-session UI fixed Signed-off-by: AlexDBlack <blacka101@gmail.com> * TSNE fixed Signed-off-by: AlexDBlack <blacka101@gmail.com> * Polish, fixes, re-add CLI launch option Signed-off-by: AlexDBlack <blacka101@gmail.com> * Fix remote UI functionality Signed-off-by: AlexDBlack <blacka101@gmail.com> * Final tweaks Signed-off-by: AlexDBlack <blacka101@gmail.com> * Remove Scala version suffix from deeplearning4j-ui Signed-off-by: AlexDBlack <blacka101@gmail.com> * Update Arbiter UI to vertx Signed-off-by: AlexDBlack <blacka101@gmail.com> * Missing version tag Signed-off-by: AlexDBlack <blacka101@gmail.com> * Remove (now unneeded) scala from arbiter UI Signed-off-by: AlexDBlack <blacka101@gmail.com> * Move vertx version to parent pom Signed-off-by: AlexDBlack <blacka101@gmail.com> * Switch template loading from classpath to a more reliable mechanism Signed-off-by: AlexDBlack <blacka101@gmail.com> * Small fix for I18N message loading Signed-off-by: AlexDBlack <blacka101@gmail.com> * Switch to shaded jackson for UI module JSON conversion Signed-off-by: AlexDBlack <blacka101@gmail.com> * Small test tweaks and copyright header fix Signed-off-by: AlexDBlack <blacka101@gmail.com> * pom file copyright headers Signed-off-by: AlexDBlack <blacka101@gmail.com> * plugins -> pliginManagement for java 8 modules Signed-off-by: AlexDBlack <blacka101@gmail.com> * plugins -> pliginManagement for java 8 modules Signed-off-by: AlexDBlack <blacka101@gmail.com>
2019-11-22 23:50:34 +11:00
return instance;
}
2019-06-06 15:21:15 +03:00
Version upgrades (#199) * DataVec fixes for Jackson version upgrade Signed-off-by: AlexDBlack <blacka101@gmail.com> * DL4J jackson updates + databind version 2.9.9.3 Signed-off-by: AlexDBlack <blacka101@gmail.com> * Shade snakeyaml along with jackson Signed-off-by: AlexDBlack <blacka101@gmail.com> * Version fix Signed-off-by: AlexDBlack <blacka101@gmail.com> * Switch DataVec legacy JSON format handling to mixins Signed-off-by: AlexDBlack <blacka101@gmail.com> * Next set of fixes Signed-off-by: AlexDBlack <blacka101@gmail.com> * Cleanup for legacy JSON mapping Signed-off-by: AlexDBlack <blacka101@gmail.com> * Upgrade commons compress to 1.18; small test fix Signed-off-by: AlexDBlack <blacka101@gmail.com> * New Jackson backward compatibility for DL4J - Round 1 Signed-off-by: AlexDBlack <blacka101@gmail.com> * New Jackson backward compatibility for DL4J - Round 2 Signed-off-by: AlexDBlack <blacka101@gmail.com> * More fixes, all but legacy custom passing Signed-off-by: AlexDBlack <blacka101@gmail.com> * Provide an upgrade path for custom layers for models in pre-1.0.0-beta JSON format Signed-off-by: AlexDBlack <blacka101@gmail.com> * Legacy deserialization cleanup Signed-off-by: AlexDBlack <blacka101@gmail.com> * Small amount of polish - legacy JSON Signed-off-by: AlexDBlack <blacka101@gmail.com> * Upgrade guava version Signed-off-by: AlexDBlack <blacka101@gmail.com> * IEvaluation legacy format deserialization fix Signed-off-by: AlexDBlack <blacka101@gmail.com> * Upgrade play version to 2.7.3 Signed-off-by: AlexDBlack <blacka101@gmail.com> * Update nd4j-parameter-server-status to new Play API Signed-off-by: AlexDBlack <blacka101@gmail.com> * Update DL4J UI for new play version Signed-off-by: AlexDBlack <blacka101@gmail.com> * More play framework updates Signed-off-by: AlexDBlack <blacka101@gmail.com> * Small fixes Signed-off-by: AlexDBlack <blacka101@gmail.com> * Remove Spark 1/2 adapter code from DataVec Signed-off-by: AlexDBlack <blacka101@gmail.com> * datavec-spark dependency cleanup Signed-off-by: AlexDBlack <blacka101@gmail.com> * DL4J spark updates, pt 1 Signed-off-by: AlexDBlack <blacka101@gmail.com> * DL4J spark updates, pt 2 Signed-off-by: AlexDBlack <blacka101@gmail.com> * DL4J spark updates, pt 3 Signed-off-by: AlexDBlack <blacka101@gmail.com> * DL4J spark updates, pt 4 Signed-off-by: AlexDBlack <blacka101@gmail.com> * Test fix Signed-off-by: AlexDBlack <blacka101@gmail.com> * Another fix Signed-off-by: AlexDBlack <blacka101@gmail.com> * Breeze upgrade, dependency cleanup Signed-off-by: AlexDBlack <blacka101@gmail.com> * Add Scala 2.12 version to pom.xml Signed-off-by: AlexDBlack <blacka101@gmail.com> * change-scala-versions.sh - add scala 2.12, remove 2.10 Signed-off-by: AlexDBlack <blacka101@gmail.com> * Move Spark version properties to parent pom (now that only one spark version is supported) Signed-off-by: AlexDBlack <blacka101@gmail.com> * DataVec Play fixes Signed-off-by: AlexDBlack <blacka101@gmail.com> * datavec play dependency fixes Signed-off-by: AlexDBlack <blacka101@gmail.com> * Clean up old spark/jackson stuff Signed-off-by: AlexDBlack <blacka101@gmail.com> * Cleanup jackson unused dependencies Signed-off-by: AlexDBlack <blacka101@gmail.com> * Dropping redundant dependency Signed-off-by: Alexander Stoyakin <alexander.stoyakin@gmail.com> * Removed scalaxy dependency Signed-off-by: Alexander Stoyakin <alexander.stoyakin@gmail.com> * DataVec fixes for Jackson version upgrade Signed-off-by: AlexDBlack <blacka101@gmail.com> * DL4J jackson updates + databind version 2.9.9.3 Signed-off-by: AlexDBlack <blacka101@gmail.com> * Shade snakeyaml along with jackson Signed-off-by: AlexDBlack <blacka101@gmail.com> * Version fix Signed-off-by: AlexDBlack <blacka101@gmail.com> * Switch DataVec legacy JSON format handling to mixins Signed-off-by: AlexDBlack <blacka101@gmail.com> * Next set of fixes Signed-off-by: AlexDBlack <blacka101@gmail.com> * Cleanup for legacy JSON mapping Signed-off-by: AlexDBlack <blacka101@gmail.com> * Upgrade commons compress to 1.18; small test fix Signed-off-by: AlexDBlack <blacka101@gmail.com> * New Jackson backward compatibility for DL4J - Round 1 Signed-off-by: AlexDBlack <blacka101@gmail.com> * New Jackson backward compatibility for DL4J - Round 2 Signed-off-by: AlexDBlack <blacka101@gmail.com> * More fixes, all but legacy custom passing Signed-off-by: AlexDBlack <blacka101@gmail.com> * Provide an upgrade path for custom layers for models in pre-1.0.0-beta JSON format Signed-off-by: AlexDBlack <blacka101@gmail.com> * Legacy deserialization cleanup Signed-off-by: AlexDBlack <blacka101@gmail.com> * Small amount of polish - legacy JSON Signed-off-by: AlexDBlack <blacka101@gmail.com> * Upgrade guava version Signed-off-by: AlexDBlack <blacka101@gmail.com> * IEvaluation legacy format deserialization fix Signed-off-by: AlexDBlack <blacka101@gmail.com> * Upgrade play version to 2.7.3 Signed-off-by: AlexDBlack <blacka101@gmail.com> * Update nd4j-parameter-server-status to new Play API Signed-off-by: AlexDBlack <blacka101@gmail.com> * Update DL4J UI for new play version Signed-off-by: AlexDBlack <blacka101@gmail.com> * More play framework updates Signed-off-by: AlexDBlack <blacka101@gmail.com> * Small fixes Signed-off-by: AlexDBlack <blacka101@gmail.com> * Remove Spark 1/2 adapter code from DataVec Signed-off-by: AlexDBlack <blacka101@gmail.com> * datavec-spark dependency cleanup Signed-off-by: AlexDBlack <blacka101@gmail.com> * DL4J spark updates, pt 1 Signed-off-by: AlexDBlack <blacka101@gmail.com> * DL4J spark updates, pt 2 Signed-off-by: AlexDBlack <blacka101@gmail.com> * DL4J spark updates, pt 3 Signed-off-by: AlexDBlack <blacka101@gmail.com> * DL4J spark updates, pt 4 Signed-off-by: AlexDBlack <blacka101@gmail.com> * Test fix Signed-off-by: AlexDBlack <blacka101@gmail.com> * Another fix Signed-off-by: AlexDBlack <blacka101@gmail.com> * Breeze upgrade, dependency cleanup Signed-off-by: AlexDBlack <blacka101@gmail.com> * Add Scala 2.12 version to pom.xml Signed-off-by: AlexDBlack <blacka101@gmail.com> * change-scala-versions.sh - add scala 2.12, remove 2.10 Signed-off-by: AlexDBlack <blacka101@gmail.com> * Move Spark version properties to parent pom (now that only one spark version is supported) Signed-off-by: AlexDBlack <blacka101@gmail.com> * DataVec Play fixes Signed-off-by: AlexDBlack <blacka101@gmail.com> * datavec play dependency fixes Signed-off-by: AlexDBlack <blacka101@gmail.com> * Clean up old spark/jackson stuff Signed-off-by: AlexDBlack <blacka101@gmail.com> * Cleanup jackson unused dependencies Signed-off-by: AlexDBlack <blacka101@gmail.com> * Add shaded guava Signed-off-by: AlexDBlack <blacka101@gmail.com> * Dropping redundant dependency Signed-off-by: Alexander Stoyakin <alexander.stoyakin@gmail.com> * Removed scalaxy dependency Signed-off-by: Alexander Stoyakin <alexander.stoyakin@gmail.com> * Ensure not possible to import pre-shaded classes, and remove direct guava dependencies in favor of shaded Signed-off-by: AlexDBlack <blacka101@gmail.com> * ND4J Shaded guava import fixes Signed-off-by: AlexDBlack <blacka101@gmail.com> * DataVec and DL4J guava shading Signed-off-by: AlexDBlack <blacka101@gmail.com> * Arbiter, RL4J fixes Signed-off-by: AlexDBlack <blacka101@gmail.com> * Build fixed Signed-off-by: Alexander Stoyakin <alexander.stoyakin@gmail.com> * Fix dependency Signed-off-by: Alexander Stoyakin <alexander.stoyakin@gmail.com> * Fix bad merge Signed-off-by: AlexDBlack <blacka101@gmail.com> * Jackson shading fixes Signed-off-by: AlexDBlack <blacka101@gmail.com> * Set play secret, datavec-spark-inference-server Signed-off-by: AlexDBlack <blacka101@gmail.com> * Fix for datavec-spark-inference-server Signed-off-by: AlexDBlack <blacka101@gmail.com> * Arbiter fixes Signed-off-by: AlexDBlack <blacka101@gmail.com> * Arbiter fixes Signed-off-by: AlexDBlack <blacka101@gmail.com> * Small test fix Signed-off-by: AlexDBlack <blacka101@gmail.com>
2019-08-30 14:35:27 +10:00
DL4J UI: Migrate from Play to Vertx (#68) * Vertx transition initial steps Signed-off-by: AlexDBlack <blacka101@gmail.com> * Assets serving works Signed-off-by: AlexDBlack <blacka101@gmail.com> * Next steps Signed-off-by: AlexDBlack <blacka101@gmail.com> * Add other pages Signed-off-by: AlexDBlack <blacka101@gmail.com> * Add remaining modules Signed-off-by: AlexDBlack <blacka101@gmail.com> * Delete deeplearning4j-play module Signed-off-by: AlexDBlack <blacka101@gmail.com> * SD UI module Signed-off-by: AlexDBlack <blacka101@gmail.com> * Main UI works Signed-off-by: AlexDBlack <blacka101@gmail.com> * Multi-session UI fixed Signed-off-by: AlexDBlack <blacka101@gmail.com> * TSNE fixed Signed-off-by: AlexDBlack <blacka101@gmail.com> * Polish, fixes, re-add CLI launch option Signed-off-by: AlexDBlack <blacka101@gmail.com> * Fix remote UI functionality Signed-off-by: AlexDBlack <blacka101@gmail.com> * Final tweaks Signed-off-by: AlexDBlack <blacka101@gmail.com> * Remove Scala version suffix from deeplearning4j-ui Signed-off-by: AlexDBlack <blacka101@gmail.com> * Update Arbiter UI to vertx Signed-off-by: AlexDBlack <blacka101@gmail.com> * Missing version tag Signed-off-by: AlexDBlack <blacka101@gmail.com> * Remove (now unneeded) scala from arbiter UI Signed-off-by: AlexDBlack <blacka101@gmail.com> * Move vertx version to parent pom Signed-off-by: AlexDBlack <blacka101@gmail.com> * Switch template loading from classpath to a more reliable mechanism Signed-off-by: AlexDBlack <blacka101@gmail.com> * Small fix for I18N message loading Signed-off-by: AlexDBlack <blacka101@gmail.com> * Switch to shaded jackson for UI module JSON conversion Signed-off-by: AlexDBlack <blacka101@gmail.com> * Small test tweaks and copyright header fix Signed-off-by: AlexDBlack <blacka101@gmail.com> * pom file copyright headers Signed-off-by: AlexDBlack <blacka101@gmail.com> * plugins -> pliginManagement for java 8 modules Signed-off-by: AlexDBlack <blacka101@gmail.com> * plugins -> pliginManagement for java 8 modules Signed-off-by: AlexDBlack <blacka101@gmail.com>
2019-11-22 23:50:34 +11:00
private List<UIModule> uiModules = new CopyOnWriteArrayList<>();
private RemoteReceiverModule remoteReceiverModule;
private StatsStorageLoader statsStorageLoader;
2019-06-06 15:21:15 +03:00
DL4J UI: Migrate from Play to Vertx (#68) * Vertx transition initial steps Signed-off-by: AlexDBlack <blacka101@gmail.com> * Assets serving works Signed-off-by: AlexDBlack <blacka101@gmail.com> * Next steps Signed-off-by: AlexDBlack <blacka101@gmail.com> * Add other pages Signed-off-by: AlexDBlack <blacka101@gmail.com> * Add remaining modules Signed-off-by: AlexDBlack <blacka101@gmail.com> * Delete deeplearning4j-play module Signed-off-by: AlexDBlack <blacka101@gmail.com> * SD UI module Signed-off-by: AlexDBlack <blacka101@gmail.com> * Main UI works Signed-off-by: AlexDBlack <blacka101@gmail.com> * Multi-session UI fixed Signed-off-by: AlexDBlack <blacka101@gmail.com> * TSNE fixed Signed-off-by: AlexDBlack <blacka101@gmail.com> * Polish, fixes, re-add CLI launch option Signed-off-by: AlexDBlack <blacka101@gmail.com> * Fix remote UI functionality Signed-off-by: AlexDBlack <blacka101@gmail.com> * Final tweaks Signed-off-by: AlexDBlack <blacka101@gmail.com> * Remove Scala version suffix from deeplearning4j-ui Signed-off-by: AlexDBlack <blacka101@gmail.com> * Update Arbiter UI to vertx Signed-off-by: AlexDBlack <blacka101@gmail.com> * Missing version tag Signed-off-by: AlexDBlack <blacka101@gmail.com> * Remove (now unneeded) scala from arbiter UI Signed-off-by: AlexDBlack <blacka101@gmail.com> * Move vertx version to parent pom Signed-off-by: AlexDBlack <blacka101@gmail.com> * Switch template loading from classpath to a more reliable mechanism Signed-off-by: AlexDBlack <blacka101@gmail.com> * Small fix for I18N message loading Signed-off-by: AlexDBlack <blacka101@gmail.com> * Switch to shaded jackson for UI module JSON conversion Signed-off-by: AlexDBlack <blacka101@gmail.com> * Small test tweaks and copyright header fix Signed-off-by: AlexDBlack <blacka101@gmail.com> * pom file copyright headers Signed-off-by: AlexDBlack <blacka101@gmail.com> * plugins -> pliginManagement for java 8 modules Signed-off-by: AlexDBlack <blacka101@gmail.com> * plugins -> pliginManagement for java 8 modules Signed-off-by: AlexDBlack <blacka101@gmail.com>
2019-11-22 23:50:34 +11:00
//typeIDModuleMap: Records which modules are registered for which type IDs
private Map<String, List<UIModule>> typeIDModuleMap = new ConcurrentHashMap<>();
2019-06-06 15:21:15 +03:00
DL4J UI: Migrate from Play to Vertx (#68) * Vertx transition initial steps Signed-off-by: AlexDBlack <blacka101@gmail.com> * Assets serving works Signed-off-by: AlexDBlack <blacka101@gmail.com> * Next steps Signed-off-by: AlexDBlack <blacka101@gmail.com> * Add other pages Signed-off-by: AlexDBlack <blacka101@gmail.com> * Add remaining modules Signed-off-by: AlexDBlack <blacka101@gmail.com> * Delete deeplearning4j-play module Signed-off-by: AlexDBlack <blacka101@gmail.com> * SD UI module Signed-off-by: AlexDBlack <blacka101@gmail.com> * Main UI works Signed-off-by: AlexDBlack <blacka101@gmail.com> * Multi-session UI fixed Signed-off-by: AlexDBlack <blacka101@gmail.com> * TSNE fixed Signed-off-by: AlexDBlack <blacka101@gmail.com> * Polish, fixes, re-add CLI launch option Signed-off-by: AlexDBlack <blacka101@gmail.com> * Fix remote UI functionality Signed-off-by: AlexDBlack <blacka101@gmail.com> * Final tweaks Signed-off-by: AlexDBlack <blacka101@gmail.com> * Remove Scala version suffix from deeplearning4j-ui Signed-off-by: AlexDBlack <blacka101@gmail.com> * Update Arbiter UI to vertx Signed-off-by: AlexDBlack <blacka101@gmail.com> * Missing version tag Signed-off-by: AlexDBlack <blacka101@gmail.com> * Remove (now unneeded) scala from arbiter UI Signed-off-by: AlexDBlack <blacka101@gmail.com> * Move vertx version to parent pom Signed-off-by: AlexDBlack <blacka101@gmail.com> * Switch template loading from classpath to a more reliable mechanism Signed-off-by: AlexDBlack <blacka101@gmail.com> * Small fix for I18N message loading Signed-off-by: AlexDBlack <blacka101@gmail.com> * Switch to shaded jackson for UI module JSON conversion Signed-off-by: AlexDBlack <blacka101@gmail.com> * Small test tweaks and copyright header fix Signed-off-by: AlexDBlack <blacka101@gmail.com> * pom file copyright headers Signed-off-by: AlexDBlack <blacka101@gmail.com> * plugins -> pliginManagement for java 8 modules Signed-off-by: AlexDBlack <blacka101@gmail.com> * plugins -> pliginManagement for java 8 modules Signed-off-by: AlexDBlack <blacka101@gmail.com>
2019-11-22 23:50:34 +11:00
private HttpServer server;
private AtomicBoolean shutdown = new AtomicBoolean(false);
private long uiProcessingDelay = 500; //500ms. TODO make configurable
2019-06-06 15:21:15 +03:00
Version upgrades (#199) * DataVec fixes for Jackson version upgrade Signed-off-by: AlexDBlack <blacka101@gmail.com> * DL4J jackson updates + databind version 2.9.9.3 Signed-off-by: AlexDBlack <blacka101@gmail.com> * Shade snakeyaml along with jackson Signed-off-by: AlexDBlack <blacka101@gmail.com> * Version fix Signed-off-by: AlexDBlack <blacka101@gmail.com> * Switch DataVec legacy JSON format handling to mixins Signed-off-by: AlexDBlack <blacka101@gmail.com> * Next set of fixes Signed-off-by: AlexDBlack <blacka101@gmail.com> * Cleanup for legacy JSON mapping Signed-off-by: AlexDBlack <blacka101@gmail.com> * Upgrade commons compress to 1.18; small test fix Signed-off-by: AlexDBlack <blacka101@gmail.com> * New Jackson backward compatibility for DL4J - Round 1 Signed-off-by: AlexDBlack <blacka101@gmail.com> * New Jackson backward compatibility for DL4J - Round 2 Signed-off-by: AlexDBlack <blacka101@gmail.com> * More fixes, all but legacy custom passing Signed-off-by: AlexDBlack <blacka101@gmail.com> * Provide an upgrade path for custom layers for models in pre-1.0.0-beta JSON format Signed-off-by: AlexDBlack <blacka101@gmail.com> * Legacy deserialization cleanup Signed-off-by: AlexDBlack <blacka101@gmail.com> * Small amount of polish - legacy JSON Signed-off-by: AlexDBlack <blacka101@gmail.com> * Upgrade guava version Signed-off-by: AlexDBlack <blacka101@gmail.com> * IEvaluation legacy format deserialization fix Signed-off-by: AlexDBlack <blacka101@gmail.com> * Upgrade play version to 2.7.3 Signed-off-by: AlexDBlack <blacka101@gmail.com> * Update nd4j-parameter-server-status to new Play API Signed-off-by: AlexDBlack <blacka101@gmail.com> * Update DL4J UI for new play version Signed-off-by: AlexDBlack <blacka101@gmail.com> * More play framework updates Signed-off-by: AlexDBlack <blacka101@gmail.com> * Small fixes Signed-off-by: AlexDBlack <blacka101@gmail.com> * Remove Spark 1/2 adapter code from DataVec Signed-off-by: AlexDBlack <blacka101@gmail.com> * datavec-spark dependency cleanup Signed-off-by: AlexDBlack <blacka101@gmail.com> * DL4J spark updates, pt 1 Signed-off-by: AlexDBlack <blacka101@gmail.com> * DL4J spark updates, pt 2 Signed-off-by: AlexDBlack <blacka101@gmail.com> * DL4J spark updates, pt 3 Signed-off-by: AlexDBlack <blacka101@gmail.com> * DL4J spark updates, pt 4 Signed-off-by: AlexDBlack <blacka101@gmail.com> * Test fix Signed-off-by: AlexDBlack <blacka101@gmail.com> * Another fix Signed-off-by: AlexDBlack <blacka101@gmail.com> * Breeze upgrade, dependency cleanup Signed-off-by: AlexDBlack <blacka101@gmail.com> * Add Scala 2.12 version to pom.xml Signed-off-by: AlexDBlack <blacka101@gmail.com> * change-scala-versions.sh - add scala 2.12, remove 2.10 Signed-off-by: AlexDBlack <blacka101@gmail.com> * Move Spark version properties to parent pom (now that only one spark version is supported) Signed-off-by: AlexDBlack <blacka101@gmail.com> * DataVec Play fixes Signed-off-by: AlexDBlack <blacka101@gmail.com> * datavec play dependency fixes Signed-off-by: AlexDBlack <blacka101@gmail.com> * Clean up old spark/jackson stuff Signed-off-by: AlexDBlack <blacka101@gmail.com> * Cleanup jackson unused dependencies Signed-off-by: AlexDBlack <blacka101@gmail.com> * Dropping redundant dependency Signed-off-by: Alexander Stoyakin <alexander.stoyakin@gmail.com> * Removed scalaxy dependency Signed-off-by: Alexander Stoyakin <alexander.stoyakin@gmail.com> * DataVec fixes for Jackson version upgrade Signed-off-by: AlexDBlack <blacka101@gmail.com> * DL4J jackson updates + databind version 2.9.9.3 Signed-off-by: AlexDBlack <blacka101@gmail.com> * Shade snakeyaml along with jackson Signed-off-by: AlexDBlack <blacka101@gmail.com> * Version fix Signed-off-by: AlexDBlack <blacka101@gmail.com> * Switch DataVec legacy JSON format handling to mixins Signed-off-by: AlexDBlack <blacka101@gmail.com> * Next set of fixes Signed-off-by: AlexDBlack <blacka101@gmail.com> * Cleanup for legacy JSON mapping Signed-off-by: AlexDBlack <blacka101@gmail.com> * Upgrade commons compress to 1.18; small test fix Signed-off-by: AlexDBlack <blacka101@gmail.com> * New Jackson backward compatibility for DL4J - Round 1 Signed-off-by: AlexDBlack <blacka101@gmail.com> * New Jackson backward compatibility for DL4J - Round 2 Signed-off-by: AlexDBlack <blacka101@gmail.com> * More fixes, all but legacy custom passing Signed-off-by: AlexDBlack <blacka101@gmail.com> * Provide an upgrade path for custom layers for models in pre-1.0.0-beta JSON format Signed-off-by: AlexDBlack <blacka101@gmail.com> * Legacy deserialization cleanup Signed-off-by: AlexDBlack <blacka101@gmail.com> * Small amount of polish - legacy JSON Signed-off-by: AlexDBlack <blacka101@gmail.com> * Upgrade guava version Signed-off-by: AlexDBlack <blacka101@gmail.com> * IEvaluation legacy format deserialization fix Signed-off-by: AlexDBlack <blacka101@gmail.com> * Upgrade play version to 2.7.3 Signed-off-by: AlexDBlack <blacka101@gmail.com> * Update nd4j-parameter-server-status to new Play API Signed-off-by: AlexDBlack <blacka101@gmail.com> * Update DL4J UI for new play version Signed-off-by: AlexDBlack <blacka101@gmail.com> * More play framework updates Signed-off-by: AlexDBlack <blacka101@gmail.com> * Small fixes Signed-off-by: AlexDBlack <blacka101@gmail.com> * Remove Spark 1/2 adapter code from DataVec Signed-off-by: AlexDBlack <blacka101@gmail.com> * datavec-spark dependency cleanup Signed-off-by: AlexDBlack <blacka101@gmail.com> * DL4J spark updates, pt 1 Signed-off-by: AlexDBlack <blacka101@gmail.com> * DL4J spark updates, pt 2 Signed-off-by: AlexDBlack <blacka101@gmail.com> * DL4J spark updates, pt 3 Signed-off-by: AlexDBlack <blacka101@gmail.com> * DL4J spark updates, pt 4 Signed-off-by: AlexDBlack <blacka101@gmail.com> * Test fix Signed-off-by: AlexDBlack <blacka101@gmail.com> * Another fix Signed-off-by: AlexDBlack <blacka101@gmail.com> * Breeze upgrade, dependency cleanup Signed-off-by: AlexDBlack <blacka101@gmail.com> * Add Scala 2.12 version to pom.xml Signed-off-by: AlexDBlack <blacka101@gmail.com> * change-scala-versions.sh - add scala 2.12, remove 2.10 Signed-off-by: AlexDBlack <blacka101@gmail.com> * Move Spark version properties to parent pom (now that only one spark version is supported) Signed-off-by: AlexDBlack <blacka101@gmail.com> * DataVec Play fixes Signed-off-by: AlexDBlack <blacka101@gmail.com> * datavec play dependency fixes Signed-off-by: AlexDBlack <blacka101@gmail.com> * Clean up old spark/jackson stuff Signed-off-by: AlexDBlack <blacka101@gmail.com> * Cleanup jackson unused dependencies Signed-off-by: AlexDBlack <blacka101@gmail.com> * Add shaded guava Signed-off-by: AlexDBlack <blacka101@gmail.com> * Dropping redundant dependency Signed-off-by: Alexander Stoyakin <alexander.stoyakin@gmail.com> * Removed scalaxy dependency Signed-off-by: Alexander Stoyakin <alexander.stoyakin@gmail.com> * Ensure not possible to import pre-shaded classes, and remove direct guava dependencies in favor of shaded Signed-off-by: AlexDBlack <blacka101@gmail.com> * ND4J Shaded guava import fixes Signed-off-by: AlexDBlack <blacka101@gmail.com> * DataVec and DL4J guava shading Signed-off-by: AlexDBlack <blacka101@gmail.com> * Arbiter, RL4J fixes Signed-off-by: AlexDBlack <blacka101@gmail.com> * Build fixed Signed-off-by: Alexander Stoyakin <alexander.stoyakin@gmail.com> * Fix dependency Signed-off-by: Alexander Stoyakin <alexander.stoyakin@gmail.com> * Fix bad merge Signed-off-by: AlexDBlack <blacka101@gmail.com> * Jackson shading fixes Signed-off-by: AlexDBlack <blacka101@gmail.com> * Set play secret, datavec-spark-inference-server Signed-off-by: AlexDBlack <blacka101@gmail.com> * Fix for datavec-spark-inference-server Signed-off-by: AlexDBlack <blacka101@gmail.com> * Arbiter fixes Signed-off-by: AlexDBlack <blacka101@gmail.com> * Arbiter fixes Signed-off-by: AlexDBlack <blacka101@gmail.com> * Small test fix Signed-off-by: AlexDBlack <blacka101@gmail.com>
2019-08-30 14:35:27 +10:00
DL4J UI: Migrate from Play to Vertx (#68) * Vertx transition initial steps Signed-off-by: AlexDBlack <blacka101@gmail.com> * Assets serving works Signed-off-by: AlexDBlack <blacka101@gmail.com> * Next steps Signed-off-by: AlexDBlack <blacka101@gmail.com> * Add other pages Signed-off-by: AlexDBlack <blacka101@gmail.com> * Add remaining modules Signed-off-by: AlexDBlack <blacka101@gmail.com> * Delete deeplearning4j-play module Signed-off-by: AlexDBlack <blacka101@gmail.com> * SD UI module Signed-off-by: AlexDBlack <blacka101@gmail.com> * Main UI works Signed-off-by: AlexDBlack <blacka101@gmail.com> * Multi-session UI fixed Signed-off-by: AlexDBlack <blacka101@gmail.com> * TSNE fixed Signed-off-by: AlexDBlack <blacka101@gmail.com> * Polish, fixes, re-add CLI launch option Signed-off-by: AlexDBlack <blacka101@gmail.com> * Fix remote UI functionality Signed-off-by: AlexDBlack <blacka101@gmail.com> * Final tweaks Signed-off-by: AlexDBlack <blacka101@gmail.com> * Remove Scala version suffix from deeplearning4j-ui Signed-off-by: AlexDBlack <blacka101@gmail.com> * Update Arbiter UI to vertx Signed-off-by: AlexDBlack <blacka101@gmail.com> * Missing version tag Signed-off-by: AlexDBlack <blacka101@gmail.com> * Remove (now unneeded) scala from arbiter UI Signed-off-by: AlexDBlack <blacka101@gmail.com> * Move vertx version to parent pom Signed-off-by: AlexDBlack <blacka101@gmail.com> * Switch template loading from classpath to a more reliable mechanism Signed-off-by: AlexDBlack <blacka101@gmail.com> * Small fix for I18N message loading Signed-off-by: AlexDBlack <blacka101@gmail.com> * Switch to shaded jackson for UI module JSON conversion Signed-off-by: AlexDBlack <blacka101@gmail.com> * Small test tweaks and copyright header fix Signed-off-by: AlexDBlack <blacka101@gmail.com> * pom file copyright headers Signed-off-by: AlexDBlack <blacka101@gmail.com> * plugins -> pliginManagement for java 8 modules Signed-off-by: AlexDBlack <blacka101@gmail.com> * plugins -> pliginManagement for java 8 modules Signed-off-by: AlexDBlack <blacka101@gmail.com>
2019-11-22 23:50:34 +11:00
private final BlockingQueue<StatsStorageEvent> eventQueue = new LinkedBlockingQueue<>();
private List<Pair<StatsStorage, StatsStorageListener>> listeners = new CopyOnWriteArrayList<>();
private List<StatsStorage> statsStorageInstances = new CopyOnWriteArrayList<>();
2019-06-06 15:21:15 +03:00
DL4J UI: Migrate from Play to Vertx (#68) * Vertx transition initial steps Signed-off-by: AlexDBlack <blacka101@gmail.com> * Assets serving works Signed-off-by: AlexDBlack <blacka101@gmail.com> * Next steps Signed-off-by: AlexDBlack <blacka101@gmail.com> * Add other pages Signed-off-by: AlexDBlack <blacka101@gmail.com> * Add remaining modules Signed-off-by: AlexDBlack <blacka101@gmail.com> * Delete deeplearning4j-play module Signed-off-by: AlexDBlack <blacka101@gmail.com> * SD UI module Signed-off-by: AlexDBlack <blacka101@gmail.com> * Main UI works Signed-off-by: AlexDBlack <blacka101@gmail.com> * Multi-session UI fixed Signed-off-by: AlexDBlack <blacka101@gmail.com> * TSNE fixed Signed-off-by: AlexDBlack <blacka101@gmail.com> * Polish, fixes, re-add CLI launch option Signed-off-by: AlexDBlack <blacka101@gmail.com> * Fix remote UI functionality Signed-off-by: AlexDBlack <blacka101@gmail.com> * Final tweaks Signed-off-by: AlexDBlack <blacka101@gmail.com> * Remove Scala version suffix from deeplearning4j-ui Signed-off-by: AlexDBlack <blacka101@gmail.com> * Update Arbiter UI to vertx Signed-off-by: AlexDBlack <blacka101@gmail.com> * Missing version tag Signed-off-by: AlexDBlack <blacka101@gmail.com> * Remove (now unneeded) scala from arbiter UI Signed-off-by: AlexDBlack <blacka101@gmail.com> * Move vertx version to parent pom Signed-off-by: AlexDBlack <blacka101@gmail.com> * Switch template loading from classpath to a more reliable mechanism Signed-off-by: AlexDBlack <blacka101@gmail.com> * Small fix for I18N message loading Signed-off-by: AlexDBlack <blacka101@gmail.com> * Switch to shaded jackson for UI module JSON conversion Signed-off-by: AlexDBlack <blacka101@gmail.com> * Small test tweaks and copyright header fix Signed-off-by: AlexDBlack <blacka101@gmail.com> * pom file copyright headers Signed-off-by: AlexDBlack <blacka101@gmail.com> * plugins -> pliginManagement for java 8 modules Signed-off-by: AlexDBlack <blacka101@gmail.com> * plugins -> pliginManagement for java 8 modules Signed-off-by: AlexDBlack <blacka101@gmail.com>
2019-11-22 23:50:34 +11:00
private Thread uiEventRoutingThread;
2019-06-06 15:21:15 +03:00
DL4J UI: Migrate from Play to Vertx (#68) * Vertx transition initial steps Signed-off-by: AlexDBlack <blacka101@gmail.com> * Assets serving works Signed-off-by: AlexDBlack <blacka101@gmail.com> * Next steps Signed-off-by: AlexDBlack <blacka101@gmail.com> * Add other pages Signed-off-by: AlexDBlack <blacka101@gmail.com> * Add remaining modules Signed-off-by: AlexDBlack <blacka101@gmail.com> * Delete deeplearning4j-play module Signed-off-by: AlexDBlack <blacka101@gmail.com> * SD UI module Signed-off-by: AlexDBlack <blacka101@gmail.com> * Main UI works Signed-off-by: AlexDBlack <blacka101@gmail.com> * Multi-session UI fixed Signed-off-by: AlexDBlack <blacka101@gmail.com> * TSNE fixed Signed-off-by: AlexDBlack <blacka101@gmail.com> * Polish, fixes, re-add CLI launch option Signed-off-by: AlexDBlack <blacka101@gmail.com> * Fix remote UI functionality Signed-off-by: AlexDBlack <blacka101@gmail.com> * Final tweaks Signed-off-by: AlexDBlack <blacka101@gmail.com> * Remove Scala version suffix from deeplearning4j-ui Signed-off-by: AlexDBlack <blacka101@gmail.com> * Update Arbiter UI to vertx Signed-off-by: AlexDBlack <blacka101@gmail.com> * Missing version tag Signed-off-by: AlexDBlack <blacka101@gmail.com> * Remove (now unneeded) scala from arbiter UI Signed-off-by: AlexDBlack <blacka101@gmail.com> * Move vertx version to parent pom Signed-off-by: AlexDBlack <blacka101@gmail.com> * Switch template loading from classpath to a more reliable mechanism Signed-off-by: AlexDBlack <blacka101@gmail.com> * Small fix for I18N message loading Signed-off-by: AlexDBlack <blacka101@gmail.com> * Switch to shaded jackson for UI module JSON conversion Signed-off-by: AlexDBlack <blacka101@gmail.com> * Small test tweaks and copyright header fix Signed-off-by: AlexDBlack <blacka101@gmail.com> * pom file copyright headers Signed-off-by: AlexDBlack <blacka101@gmail.com> * plugins -> pliginManagement for java 8 modules Signed-off-by: AlexDBlack <blacka101@gmail.com> * plugins -> pliginManagement for java 8 modules Signed-off-by: AlexDBlack <blacka101@gmail.com>
2019-11-22 23:50:34 +11:00
public VertxUIServer() {
instance = this;
}
2019-06-06 15:21:15 +03:00
DL4J UI: Migrate from Play to Vertx (#68) * Vertx transition initial steps Signed-off-by: AlexDBlack <blacka101@gmail.com> * Assets serving works Signed-off-by: AlexDBlack <blacka101@gmail.com> * Next steps Signed-off-by: AlexDBlack <blacka101@gmail.com> * Add other pages Signed-off-by: AlexDBlack <blacka101@gmail.com> * Add remaining modules Signed-off-by: AlexDBlack <blacka101@gmail.com> * Delete deeplearning4j-play module Signed-off-by: AlexDBlack <blacka101@gmail.com> * SD UI module Signed-off-by: AlexDBlack <blacka101@gmail.com> * Main UI works Signed-off-by: AlexDBlack <blacka101@gmail.com> * Multi-session UI fixed Signed-off-by: AlexDBlack <blacka101@gmail.com> * TSNE fixed Signed-off-by: AlexDBlack <blacka101@gmail.com> * Polish, fixes, re-add CLI launch option Signed-off-by: AlexDBlack <blacka101@gmail.com> * Fix remote UI functionality Signed-off-by: AlexDBlack <blacka101@gmail.com> * Final tweaks Signed-off-by: AlexDBlack <blacka101@gmail.com> * Remove Scala version suffix from deeplearning4j-ui Signed-off-by: AlexDBlack <blacka101@gmail.com> * Update Arbiter UI to vertx Signed-off-by: AlexDBlack <blacka101@gmail.com> * Missing version tag Signed-off-by: AlexDBlack <blacka101@gmail.com> * Remove (now unneeded) scala from arbiter UI Signed-off-by: AlexDBlack <blacka101@gmail.com> * Move vertx version to parent pom Signed-off-by: AlexDBlack <blacka101@gmail.com> * Switch template loading from classpath to a more reliable mechanism Signed-off-by: AlexDBlack <blacka101@gmail.com> * Small fix for I18N message loading Signed-off-by: AlexDBlack <blacka101@gmail.com> * Switch to shaded jackson for UI module JSON conversion Signed-off-by: AlexDBlack <blacka101@gmail.com> * Small test tweaks and copyright header fix Signed-off-by: AlexDBlack <blacka101@gmail.com> * pom file copyright headers Signed-off-by: AlexDBlack <blacka101@gmail.com> * plugins -> pliginManagement for java 8 modules Signed-off-by: AlexDBlack <blacka101@gmail.com> * plugins -> pliginManagement for java 8 modules Signed-off-by: AlexDBlack <blacka101@gmail.com>
2019-11-22 23:50:34 +11:00
public static void stopInstance(){
if(instance == null)
return;
instance.stop();
2019-06-06 15:21:15 +03:00
}
/**
* Auto-attach StatsStorage if an unknown session ID is passed as URL path parameter in multi-session mode
* @param statsStorageProvider function that returns a StatsStorage containing the given session ID
*/
public void autoAttachStatsStorageBySessionId(Function<String, StatsStorage> statsStorageProvider) {
if (statsStorageProvider != null) {
this.statsStorageLoader = new StatsStorageLoader(statsStorageProvider);
this.trainModule.setSessionLoader(this.statsStorageLoader);
}
}
DL4J UI: Migrate from Play to Vertx (#68) * Vertx transition initial steps Signed-off-by: AlexDBlack <blacka101@gmail.com> * Assets serving works Signed-off-by: AlexDBlack <blacka101@gmail.com> * Next steps Signed-off-by: AlexDBlack <blacka101@gmail.com> * Add other pages Signed-off-by: AlexDBlack <blacka101@gmail.com> * Add remaining modules Signed-off-by: AlexDBlack <blacka101@gmail.com> * Delete deeplearning4j-play module Signed-off-by: AlexDBlack <blacka101@gmail.com> * SD UI module Signed-off-by: AlexDBlack <blacka101@gmail.com> * Main UI works Signed-off-by: AlexDBlack <blacka101@gmail.com> * Multi-session UI fixed Signed-off-by: AlexDBlack <blacka101@gmail.com> * TSNE fixed Signed-off-by: AlexDBlack <blacka101@gmail.com> * Polish, fixes, re-add CLI launch option Signed-off-by: AlexDBlack <blacka101@gmail.com> * Fix remote UI functionality Signed-off-by: AlexDBlack <blacka101@gmail.com> * Final tweaks Signed-off-by: AlexDBlack <blacka101@gmail.com> * Remove Scala version suffix from deeplearning4j-ui Signed-off-by: AlexDBlack <blacka101@gmail.com> * Update Arbiter UI to vertx Signed-off-by: AlexDBlack <blacka101@gmail.com> * Missing version tag Signed-off-by: AlexDBlack <blacka101@gmail.com> * Remove (now unneeded) scala from arbiter UI Signed-off-by: AlexDBlack <blacka101@gmail.com> * Move vertx version to parent pom Signed-off-by: AlexDBlack <blacka101@gmail.com> * Switch template loading from classpath to a more reliable mechanism Signed-off-by: AlexDBlack <blacka101@gmail.com> * Small fix for I18N message loading Signed-off-by: AlexDBlack <blacka101@gmail.com> * Switch to shaded jackson for UI module JSON conversion Signed-off-by: AlexDBlack <blacka101@gmail.com> * Small test tweaks and copyright header fix Signed-off-by: AlexDBlack <blacka101@gmail.com> * pom file copyright headers Signed-off-by: AlexDBlack <blacka101@gmail.com> * plugins -> pliginManagement for java 8 modules Signed-off-by: AlexDBlack <blacka101@gmail.com> * plugins -> pliginManagement for java 8 modules Signed-off-by: AlexDBlack <blacka101@gmail.com>
2019-11-22 23:50:34 +11:00
@Override
public void start() throws Exception {
//Create REST endpoints
File uploadDir = new File(System.getProperty("java.io.tmpdir"), "DL4JUI_" + System.currentTimeMillis());
uploadDir.mkdirs();
Router r = Router.router(vertx);
r.route().handler(BodyHandler.create() //NOTE: Setting this is required to receive request body content at all
.setUploadsDirectory(uploadDir.getAbsolutePath()));
r.get("/assets/*").handler(rc -> {
String path = rc.request().path();
path = path.substring(8); //Remove "/assets/", which is 8 characters
String mime;
String newPath;
if (path.contains("webjars")) {
newPath = "META-INF/resources/" + path.substring(path.indexOf("webjars"));
} else {
newPath = ASSETS_ROOT_DIRECTORY + (path.startsWith("/") ? path.substring(1) : path);
}
mime = MimeMapping.getMimeTypeForFilename(FilenameUtils.getName(newPath));
//System.out.println("PATH: " + path + " - mime = " + mime);
rc.response()
.putHeader("content-type", mime)
.sendFile(newPath);
});
if (isMultiSession()) {
r.get("/setlang/:sessionId/:to").handler(
rc -> {
String sid = rc.request().getParam("sessionID");
String to = rc.request().getParam("to");
I18NProvider.getInstance(sid).setDefaultLanguage(to);
rc.response().end();
});
Version upgrades (#199) * DataVec fixes for Jackson version upgrade Signed-off-by: AlexDBlack <blacka101@gmail.com> * DL4J jackson updates + databind version 2.9.9.3 Signed-off-by: AlexDBlack <blacka101@gmail.com> * Shade snakeyaml along with jackson Signed-off-by: AlexDBlack <blacka101@gmail.com> * Version fix Signed-off-by: AlexDBlack <blacka101@gmail.com> * Switch DataVec legacy JSON format handling to mixins Signed-off-by: AlexDBlack <blacka101@gmail.com> * Next set of fixes Signed-off-by: AlexDBlack <blacka101@gmail.com> * Cleanup for legacy JSON mapping Signed-off-by: AlexDBlack <blacka101@gmail.com> * Upgrade commons compress to 1.18; small test fix Signed-off-by: AlexDBlack <blacka101@gmail.com> * New Jackson backward compatibility for DL4J - Round 1 Signed-off-by: AlexDBlack <blacka101@gmail.com> * New Jackson backward compatibility for DL4J - Round 2 Signed-off-by: AlexDBlack <blacka101@gmail.com> * More fixes, all but legacy custom passing Signed-off-by: AlexDBlack <blacka101@gmail.com> * Provide an upgrade path for custom layers for models in pre-1.0.0-beta JSON format Signed-off-by: AlexDBlack <blacka101@gmail.com> * Legacy deserialization cleanup Signed-off-by: AlexDBlack <blacka101@gmail.com> * Small amount of polish - legacy JSON Signed-off-by: AlexDBlack <blacka101@gmail.com> * Upgrade guava version Signed-off-by: AlexDBlack <blacka101@gmail.com> * IEvaluation legacy format deserialization fix Signed-off-by: AlexDBlack <blacka101@gmail.com> * Upgrade play version to 2.7.3 Signed-off-by: AlexDBlack <blacka101@gmail.com> * Update nd4j-parameter-server-status to new Play API Signed-off-by: AlexDBlack <blacka101@gmail.com> * Update DL4J UI for new play version Signed-off-by: AlexDBlack <blacka101@gmail.com> * More play framework updates Signed-off-by: AlexDBlack <blacka101@gmail.com> * Small fixes Signed-off-by: AlexDBlack <blacka101@gmail.com> * Remove Spark 1/2 adapter code from DataVec Signed-off-by: AlexDBlack <blacka101@gmail.com> * datavec-spark dependency cleanup Signed-off-by: AlexDBlack <blacka101@gmail.com> * DL4J spark updates, pt 1 Signed-off-by: AlexDBlack <blacka101@gmail.com> * DL4J spark updates, pt 2 Signed-off-by: AlexDBlack <blacka101@gmail.com> * DL4J spark updates, pt 3 Signed-off-by: AlexDBlack <blacka101@gmail.com> * DL4J spark updates, pt 4 Signed-off-by: AlexDBlack <blacka101@gmail.com> * Test fix Signed-off-by: AlexDBlack <blacka101@gmail.com> * Another fix Signed-off-by: AlexDBlack <blacka101@gmail.com> * Breeze upgrade, dependency cleanup Signed-off-by: AlexDBlack <blacka101@gmail.com> * Add Scala 2.12 version to pom.xml Signed-off-by: AlexDBlack <blacka101@gmail.com> * change-scala-versions.sh - add scala 2.12, remove 2.10 Signed-off-by: AlexDBlack <blacka101@gmail.com> * Move Spark version properties to parent pom (now that only one spark version is supported) Signed-off-by: AlexDBlack <blacka101@gmail.com> * DataVec Play fixes Signed-off-by: AlexDBlack <blacka101@gmail.com> * datavec play dependency fixes Signed-off-by: AlexDBlack <blacka101@gmail.com> * Clean up old spark/jackson stuff Signed-off-by: AlexDBlack <blacka101@gmail.com> * Cleanup jackson unused dependencies Signed-off-by: AlexDBlack <blacka101@gmail.com> * Dropping redundant dependency Signed-off-by: Alexander Stoyakin <alexander.stoyakin@gmail.com> * Removed scalaxy dependency Signed-off-by: Alexander Stoyakin <alexander.stoyakin@gmail.com> * DataVec fixes for Jackson version upgrade Signed-off-by: AlexDBlack <blacka101@gmail.com> * DL4J jackson updates + databind version 2.9.9.3 Signed-off-by: AlexDBlack <blacka101@gmail.com> * Shade snakeyaml along with jackson Signed-off-by: AlexDBlack <blacka101@gmail.com> * Version fix Signed-off-by: AlexDBlack <blacka101@gmail.com> * Switch DataVec legacy JSON format handling to mixins Signed-off-by: AlexDBlack <blacka101@gmail.com> * Next set of fixes Signed-off-by: AlexDBlack <blacka101@gmail.com> * Cleanup for legacy JSON mapping Signed-off-by: AlexDBlack <blacka101@gmail.com> * Upgrade commons compress to 1.18; small test fix Signed-off-by: AlexDBlack <blacka101@gmail.com> * New Jackson backward compatibility for DL4J - Round 1 Signed-off-by: AlexDBlack <blacka101@gmail.com> * New Jackson backward compatibility for DL4J - Round 2 Signed-off-by: AlexDBlack <blacka101@gmail.com> * More fixes, all but legacy custom passing Signed-off-by: AlexDBlack <blacka101@gmail.com> * Provide an upgrade path for custom layers for models in pre-1.0.0-beta JSON format Signed-off-by: AlexDBlack <blacka101@gmail.com> * Legacy deserialization cleanup Signed-off-by: AlexDBlack <blacka101@gmail.com> * Small amount of polish - legacy JSON Signed-off-by: AlexDBlack <blacka101@gmail.com> * Upgrade guava version Signed-off-by: AlexDBlack <blacka101@gmail.com> * IEvaluation legacy format deserialization fix Signed-off-by: AlexDBlack <blacka101@gmail.com> * Upgrade play version to 2.7.3 Signed-off-by: AlexDBlack <blacka101@gmail.com> * Update nd4j-parameter-server-status to new Play API Signed-off-by: AlexDBlack <blacka101@gmail.com> * Update DL4J UI for new play version Signed-off-by: AlexDBlack <blacka101@gmail.com> * More play framework updates Signed-off-by: AlexDBlack <blacka101@gmail.com> * Small fixes Signed-off-by: AlexDBlack <blacka101@gmail.com> * Remove Spark 1/2 adapter code from DataVec Signed-off-by: AlexDBlack <blacka101@gmail.com> * datavec-spark dependency cleanup Signed-off-by: AlexDBlack <blacka101@gmail.com> * DL4J spark updates, pt 1 Signed-off-by: AlexDBlack <blacka101@gmail.com> * DL4J spark updates, pt 2 Signed-off-by: AlexDBlack <blacka101@gmail.com> * DL4J spark updates, pt 3 Signed-off-by: AlexDBlack <blacka101@gmail.com> * DL4J spark updates, pt 4 Signed-off-by: AlexDBlack <blacka101@gmail.com> * Test fix Signed-off-by: AlexDBlack <blacka101@gmail.com> * Another fix Signed-off-by: AlexDBlack <blacka101@gmail.com> * Breeze upgrade, dependency cleanup Signed-off-by: AlexDBlack <blacka101@gmail.com> * Add Scala 2.12 version to pom.xml Signed-off-by: AlexDBlack <blacka101@gmail.com> * change-scala-versions.sh - add scala 2.12, remove 2.10 Signed-off-by: AlexDBlack <blacka101@gmail.com> * Move Spark version properties to parent pom (now that only one spark version is supported) Signed-off-by: AlexDBlack <blacka101@gmail.com> * DataVec Play fixes Signed-off-by: AlexDBlack <blacka101@gmail.com> * datavec play dependency fixes Signed-off-by: AlexDBlack <blacka101@gmail.com> * Clean up old spark/jackson stuff Signed-off-by: AlexDBlack <blacka101@gmail.com> * Cleanup jackson unused dependencies Signed-off-by: AlexDBlack <blacka101@gmail.com> * Add shaded guava Signed-off-by: AlexDBlack <blacka101@gmail.com> * Dropping redundant dependency Signed-off-by: Alexander Stoyakin <alexander.stoyakin@gmail.com> * Removed scalaxy dependency Signed-off-by: Alexander Stoyakin <alexander.stoyakin@gmail.com> * Ensure not possible to import pre-shaded classes, and remove direct guava dependencies in favor of shaded Signed-off-by: AlexDBlack <blacka101@gmail.com> * ND4J Shaded guava import fixes Signed-off-by: AlexDBlack <blacka101@gmail.com> * DataVec and DL4J guava shading Signed-off-by: AlexDBlack <blacka101@gmail.com> * Arbiter, RL4J fixes Signed-off-by: AlexDBlack <blacka101@gmail.com> * Build fixed Signed-off-by: Alexander Stoyakin <alexander.stoyakin@gmail.com> * Fix dependency Signed-off-by: Alexander Stoyakin <alexander.stoyakin@gmail.com> * Fix bad merge Signed-off-by: AlexDBlack <blacka101@gmail.com> * Jackson shading fixes Signed-off-by: AlexDBlack <blacka101@gmail.com> * Set play secret, datavec-spark-inference-server Signed-off-by: AlexDBlack <blacka101@gmail.com> * Fix for datavec-spark-inference-server Signed-off-by: AlexDBlack <blacka101@gmail.com> * Arbiter fixes Signed-off-by: AlexDBlack <blacka101@gmail.com> * Arbiter fixes Signed-off-by: AlexDBlack <blacka101@gmail.com> * Small test fix Signed-off-by: AlexDBlack <blacka101@gmail.com>
2019-08-30 14:35:27 +10:00
} else {
DL4J UI: Migrate from Play to Vertx (#68) * Vertx transition initial steps Signed-off-by: AlexDBlack <blacka101@gmail.com> * Assets serving works Signed-off-by: AlexDBlack <blacka101@gmail.com> * Next steps Signed-off-by: AlexDBlack <blacka101@gmail.com> * Add other pages Signed-off-by: AlexDBlack <blacka101@gmail.com> * Add remaining modules Signed-off-by: AlexDBlack <blacka101@gmail.com> * Delete deeplearning4j-play module Signed-off-by: AlexDBlack <blacka101@gmail.com> * SD UI module Signed-off-by: AlexDBlack <blacka101@gmail.com> * Main UI works Signed-off-by: AlexDBlack <blacka101@gmail.com> * Multi-session UI fixed Signed-off-by: AlexDBlack <blacka101@gmail.com> * TSNE fixed Signed-off-by: AlexDBlack <blacka101@gmail.com> * Polish, fixes, re-add CLI launch option Signed-off-by: AlexDBlack <blacka101@gmail.com> * Fix remote UI functionality Signed-off-by: AlexDBlack <blacka101@gmail.com> * Final tweaks Signed-off-by: AlexDBlack <blacka101@gmail.com> * Remove Scala version suffix from deeplearning4j-ui Signed-off-by: AlexDBlack <blacka101@gmail.com> * Update Arbiter UI to vertx Signed-off-by: AlexDBlack <blacka101@gmail.com> * Missing version tag Signed-off-by: AlexDBlack <blacka101@gmail.com> * Remove (now unneeded) scala from arbiter UI Signed-off-by: AlexDBlack <blacka101@gmail.com> * Move vertx version to parent pom Signed-off-by: AlexDBlack <blacka101@gmail.com> * Switch template loading from classpath to a more reliable mechanism Signed-off-by: AlexDBlack <blacka101@gmail.com> * Small fix for I18N message loading Signed-off-by: AlexDBlack <blacka101@gmail.com> * Switch to shaded jackson for UI module JSON conversion Signed-off-by: AlexDBlack <blacka101@gmail.com> * Small test tweaks and copyright header fix Signed-off-by: AlexDBlack <blacka101@gmail.com> * pom file copyright headers Signed-off-by: AlexDBlack <blacka101@gmail.com> * plugins -> pliginManagement for java 8 modules Signed-off-by: AlexDBlack <blacka101@gmail.com> * plugins -> pliginManagement for java 8 modules Signed-off-by: AlexDBlack <blacka101@gmail.com>
2019-11-22 23:50:34 +11:00
r.get("/setlang/:to").handler(rc -> {
String to = rc.request().getParam("to");
I18NProvider.getInstance().setDefaultLanguage(to);
rc.response().end();
Version upgrades (#199) * DataVec fixes for Jackson version upgrade Signed-off-by: AlexDBlack <blacka101@gmail.com> * DL4J jackson updates + databind version 2.9.9.3 Signed-off-by: AlexDBlack <blacka101@gmail.com> * Shade snakeyaml along with jackson Signed-off-by: AlexDBlack <blacka101@gmail.com> * Version fix Signed-off-by: AlexDBlack <blacka101@gmail.com> * Switch DataVec legacy JSON format handling to mixins Signed-off-by: AlexDBlack <blacka101@gmail.com> * Next set of fixes Signed-off-by: AlexDBlack <blacka101@gmail.com> * Cleanup for legacy JSON mapping Signed-off-by: AlexDBlack <blacka101@gmail.com> * Upgrade commons compress to 1.18; small test fix Signed-off-by: AlexDBlack <blacka101@gmail.com> * New Jackson backward compatibility for DL4J - Round 1 Signed-off-by: AlexDBlack <blacka101@gmail.com> * New Jackson backward compatibility for DL4J - Round 2 Signed-off-by: AlexDBlack <blacka101@gmail.com> * More fixes, all but legacy custom passing Signed-off-by: AlexDBlack <blacka101@gmail.com> * Provide an upgrade path for custom layers for models in pre-1.0.0-beta JSON format Signed-off-by: AlexDBlack <blacka101@gmail.com> * Legacy deserialization cleanup Signed-off-by: AlexDBlack <blacka101@gmail.com> * Small amount of polish - legacy JSON Signed-off-by: AlexDBlack <blacka101@gmail.com> * Upgrade guava version Signed-off-by: AlexDBlack <blacka101@gmail.com> * IEvaluation legacy format deserialization fix Signed-off-by: AlexDBlack <blacka101@gmail.com> * Upgrade play version to 2.7.3 Signed-off-by: AlexDBlack <blacka101@gmail.com> * Update nd4j-parameter-server-status to new Play API Signed-off-by: AlexDBlack <blacka101@gmail.com> * Update DL4J UI for new play version Signed-off-by: AlexDBlack <blacka101@gmail.com> * More play framework updates Signed-off-by: AlexDBlack <blacka101@gmail.com> * Small fixes Signed-off-by: AlexDBlack <blacka101@gmail.com> * Remove Spark 1/2 adapter code from DataVec Signed-off-by: AlexDBlack <blacka101@gmail.com> * datavec-spark dependency cleanup Signed-off-by: AlexDBlack <blacka101@gmail.com> * DL4J spark updates, pt 1 Signed-off-by: AlexDBlack <blacka101@gmail.com> * DL4J spark updates, pt 2 Signed-off-by: AlexDBlack <blacka101@gmail.com> * DL4J spark updates, pt 3 Signed-off-by: AlexDBlack <blacka101@gmail.com> * DL4J spark updates, pt 4 Signed-off-by: AlexDBlack <blacka101@gmail.com> * Test fix Signed-off-by: AlexDBlack <blacka101@gmail.com> * Another fix Signed-off-by: AlexDBlack <blacka101@gmail.com> * Breeze upgrade, dependency cleanup Signed-off-by: AlexDBlack <blacka101@gmail.com> * Add Scala 2.12 version to pom.xml Signed-off-by: AlexDBlack <blacka101@gmail.com> * change-scala-versions.sh - add scala 2.12, remove 2.10 Signed-off-by: AlexDBlack <blacka101@gmail.com> * Move Spark version properties to parent pom (now that only one spark version is supported) Signed-off-by: AlexDBlack <blacka101@gmail.com> * DataVec Play fixes Signed-off-by: AlexDBlack <blacka101@gmail.com> * datavec play dependency fixes Signed-off-by: AlexDBlack <blacka101@gmail.com> * Clean up old spark/jackson stuff Signed-off-by: AlexDBlack <blacka101@gmail.com> * Cleanup jackson unused dependencies Signed-off-by: AlexDBlack <blacka101@gmail.com> * Dropping redundant dependency Signed-off-by: Alexander Stoyakin <alexander.stoyakin@gmail.com> * Removed scalaxy dependency Signed-off-by: Alexander Stoyakin <alexander.stoyakin@gmail.com> * DataVec fixes for Jackson version upgrade Signed-off-by: AlexDBlack <blacka101@gmail.com> * DL4J jackson updates + databind version 2.9.9.3 Signed-off-by: AlexDBlack <blacka101@gmail.com> * Shade snakeyaml along with jackson Signed-off-by: AlexDBlack <blacka101@gmail.com> * Version fix Signed-off-by: AlexDBlack <blacka101@gmail.com> * Switch DataVec legacy JSON format handling to mixins Signed-off-by: AlexDBlack <blacka101@gmail.com> * Next set of fixes Signed-off-by: AlexDBlack <blacka101@gmail.com> * Cleanup for legacy JSON mapping Signed-off-by: AlexDBlack <blacka101@gmail.com> * Upgrade commons compress to 1.18; small test fix Signed-off-by: AlexDBlack <blacka101@gmail.com> * New Jackson backward compatibility for DL4J - Round 1 Signed-off-by: AlexDBlack <blacka101@gmail.com> * New Jackson backward compatibility for DL4J - Round 2 Signed-off-by: AlexDBlack <blacka101@gmail.com> * More fixes, all but legacy custom passing Signed-off-by: AlexDBlack <blacka101@gmail.com> * Provide an upgrade path for custom layers for models in pre-1.0.0-beta JSON format Signed-off-by: AlexDBlack <blacka101@gmail.com> * Legacy deserialization cleanup Signed-off-by: AlexDBlack <blacka101@gmail.com> * Small amount of polish - legacy JSON Signed-off-by: AlexDBlack <blacka101@gmail.com> * Upgrade guava version Signed-off-by: AlexDBlack <blacka101@gmail.com> * IEvaluation legacy format deserialization fix Signed-off-by: AlexDBlack <blacka101@gmail.com> * Upgrade play version to 2.7.3 Signed-off-by: AlexDBlack <blacka101@gmail.com> * Update nd4j-parameter-server-status to new Play API Signed-off-by: AlexDBlack <blacka101@gmail.com> * Update DL4J UI for new play version Signed-off-by: AlexDBlack <blacka101@gmail.com> * More play framework updates Signed-off-by: AlexDBlack <blacka101@gmail.com> * Small fixes Signed-off-by: AlexDBlack <blacka101@gmail.com> * Remove Spark 1/2 adapter code from DataVec Signed-off-by: AlexDBlack <blacka101@gmail.com> * datavec-spark dependency cleanup Signed-off-by: AlexDBlack <blacka101@gmail.com> * DL4J spark updates, pt 1 Signed-off-by: AlexDBlack <blacka101@gmail.com> * DL4J spark updates, pt 2 Signed-off-by: AlexDBlack <blacka101@gmail.com> * DL4J spark updates, pt 3 Signed-off-by: AlexDBlack <blacka101@gmail.com> * DL4J spark updates, pt 4 Signed-off-by: AlexDBlack <blacka101@gmail.com> * Test fix Signed-off-by: AlexDBlack <blacka101@gmail.com> * Another fix Signed-off-by: AlexDBlack <blacka101@gmail.com> * Breeze upgrade, dependency cleanup Signed-off-by: AlexDBlack <blacka101@gmail.com> * Add Scala 2.12 version to pom.xml Signed-off-by: AlexDBlack <blacka101@gmail.com> * change-scala-versions.sh - add scala 2.12, remove 2.10 Signed-off-by: AlexDBlack <blacka101@gmail.com> * Move Spark version properties to parent pom (now that only one spark version is supported) Signed-off-by: AlexDBlack <blacka101@gmail.com> * DataVec Play fixes Signed-off-by: AlexDBlack <blacka101@gmail.com> * datavec play dependency fixes Signed-off-by: AlexDBlack <blacka101@gmail.com> * Clean up old spark/jackson stuff Signed-off-by: AlexDBlack <blacka101@gmail.com> * Cleanup jackson unused dependencies Signed-off-by: AlexDBlack <blacka101@gmail.com> * Add shaded guava Signed-off-by: AlexDBlack <blacka101@gmail.com> * Dropping redundant dependency Signed-off-by: Alexander Stoyakin <alexander.stoyakin@gmail.com> * Removed scalaxy dependency Signed-off-by: Alexander Stoyakin <alexander.stoyakin@gmail.com> * Ensure not possible to import pre-shaded classes, and remove direct guava dependencies in favor of shaded Signed-off-by: AlexDBlack <blacka101@gmail.com> * ND4J Shaded guava import fixes Signed-off-by: AlexDBlack <blacka101@gmail.com> * DataVec and DL4J guava shading Signed-off-by: AlexDBlack <blacka101@gmail.com> * Arbiter, RL4J fixes Signed-off-by: AlexDBlack <blacka101@gmail.com> * Build fixed Signed-off-by: Alexander Stoyakin <alexander.stoyakin@gmail.com> * Fix dependency Signed-off-by: Alexander Stoyakin <alexander.stoyakin@gmail.com> * Fix bad merge Signed-off-by: AlexDBlack <blacka101@gmail.com> * Jackson shading fixes Signed-off-by: AlexDBlack <blacka101@gmail.com> * Set play secret, datavec-spark-inference-server Signed-off-by: AlexDBlack <blacka101@gmail.com> * Fix for datavec-spark-inference-server Signed-off-by: AlexDBlack <blacka101@gmail.com> * Arbiter fixes Signed-off-by: AlexDBlack <blacka101@gmail.com> * Arbiter fixes Signed-off-by: AlexDBlack <blacka101@gmail.com> * Small test fix Signed-off-by: AlexDBlack <blacka101@gmail.com>
2019-08-30 14:35:27 +10:00
});
}
DL4J UI: Migrate from Play to Vertx (#68) * Vertx transition initial steps Signed-off-by: AlexDBlack <blacka101@gmail.com> * Assets serving works Signed-off-by: AlexDBlack <blacka101@gmail.com> * Next steps Signed-off-by: AlexDBlack <blacka101@gmail.com> * Add other pages Signed-off-by: AlexDBlack <blacka101@gmail.com> * Add remaining modules Signed-off-by: AlexDBlack <blacka101@gmail.com> * Delete deeplearning4j-play module Signed-off-by: AlexDBlack <blacka101@gmail.com> * SD UI module Signed-off-by: AlexDBlack <blacka101@gmail.com> * Main UI works Signed-off-by: AlexDBlack <blacka101@gmail.com> * Multi-session UI fixed Signed-off-by: AlexDBlack <blacka101@gmail.com> * TSNE fixed Signed-off-by: AlexDBlack <blacka101@gmail.com> * Polish, fixes, re-add CLI launch option Signed-off-by: AlexDBlack <blacka101@gmail.com> * Fix remote UI functionality Signed-off-by: AlexDBlack <blacka101@gmail.com> * Final tweaks Signed-off-by: AlexDBlack <blacka101@gmail.com> * Remove Scala version suffix from deeplearning4j-ui Signed-off-by: AlexDBlack <blacka101@gmail.com> * Update Arbiter UI to vertx Signed-off-by: AlexDBlack <blacka101@gmail.com> * Missing version tag Signed-off-by: AlexDBlack <blacka101@gmail.com> * Remove (now unneeded) scala from arbiter UI Signed-off-by: AlexDBlack <blacka101@gmail.com> * Move vertx version to parent pom Signed-off-by: AlexDBlack <blacka101@gmail.com> * Switch template loading from classpath to a more reliable mechanism Signed-off-by: AlexDBlack <blacka101@gmail.com> * Small fix for I18N message loading Signed-off-by: AlexDBlack <blacka101@gmail.com> * Switch to shaded jackson for UI module JSON conversion Signed-off-by: AlexDBlack <blacka101@gmail.com> * Small test tweaks and copyright header fix Signed-off-by: AlexDBlack <blacka101@gmail.com> * pom file copyright headers Signed-off-by: AlexDBlack <blacka101@gmail.com> * plugins -> pliginManagement for java 8 modules Signed-off-by: AlexDBlack <blacka101@gmail.com> * plugins -> pliginManagement for java 8 modules Signed-off-by: AlexDBlack <blacka101@gmail.com>
2019-11-22 23:50:34 +11:00
uiModules.add(new DefaultModule(isMultiSession())); //For: navigation page "/"
trainModule = new TrainModule(isMultiSession(), statsStorageLoader, this::getAddress);
uiModules.add(trainModule);
Version upgrades (#199) * DataVec fixes for Jackson version upgrade Signed-off-by: AlexDBlack <blacka101@gmail.com> * DL4J jackson updates + databind version 2.9.9.3 Signed-off-by: AlexDBlack <blacka101@gmail.com> * Shade snakeyaml along with jackson Signed-off-by: AlexDBlack <blacka101@gmail.com> * Version fix Signed-off-by: AlexDBlack <blacka101@gmail.com> * Switch DataVec legacy JSON format handling to mixins Signed-off-by: AlexDBlack <blacka101@gmail.com> * Next set of fixes Signed-off-by: AlexDBlack <blacka101@gmail.com> * Cleanup for legacy JSON mapping Signed-off-by: AlexDBlack <blacka101@gmail.com> * Upgrade commons compress to 1.18; small test fix Signed-off-by: AlexDBlack <blacka101@gmail.com> * New Jackson backward compatibility for DL4J - Round 1 Signed-off-by: AlexDBlack <blacka101@gmail.com> * New Jackson backward compatibility for DL4J - Round 2 Signed-off-by: AlexDBlack <blacka101@gmail.com> * More fixes, all but legacy custom passing Signed-off-by: AlexDBlack <blacka101@gmail.com> * Provide an upgrade path for custom layers for models in pre-1.0.0-beta JSON format Signed-off-by: AlexDBlack <blacka101@gmail.com> * Legacy deserialization cleanup Signed-off-by: AlexDBlack <blacka101@gmail.com> * Small amount of polish - legacy JSON Signed-off-by: AlexDBlack <blacka101@gmail.com> * Upgrade guava version Signed-off-by: AlexDBlack <blacka101@gmail.com> * IEvaluation legacy format deserialization fix Signed-off-by: AlexDBlack <blacka101@gmail.com> * Upgrade play version to 2.7.3 Signed-off-by: AlexDBlack <blacka101@gmail.com> * Update nd4j-parameter-server-status to new Play API Signed-off-by: AlexDBlack <blacka101@gmail.com> * Update DL4J UI for new play version Signed-off-by: AlexDBlack <blacka101@gmail.com> * More play framework updates Signed-off-by: AlexDBlack <blacka101@gmail.com> * Small fixes Signed-off-by: AlexDBlack <blacka101@gmail.com> * Remove Spark 1/2 adapter code from DataVec Signed-off-by: AlexDBlack <blacka101@gmail.com> * datavec-spark dependency cleanup Signed-off-by: AlexDBlack <blacka101@gmail.com> * DL4J spark updates, pt 1 Signed-off-by: AlexDBlack <blacka101@gmail.com> * DL4J spark updates, pt 2 Signed-off-by: AlexDBlack <blacka101@gmail.com> * DL4J spark updates, pt 3 Signed-off-by: AlexDBlack <blacka101@gmail.com> * DL4J spark updates, pt 4 Signed-off-by: AlexDBlack <blacka101@gmail.com> * Test fix Signed-off-by: AlexDBlack <blacka101@gmail.com> * Another fix Signed-off-by: AlexDBlack <blacka101@gmail.com> * Breeze upgrade, dependency cleanup Signed-off-by: AlexDBlack <blacka101@gmail.com> * Add Scala 2.12 version to pom.xml Signed-off-by: AlexDBlack <blacka101@gmail.com> * change-scala-versions.sh - add scala 2.12, remove 2.10 Signed-off-by: AlexDBlack <blacka101@gmail.com> * Move Spark version properties to parent pom (now that only one spark version is supported) Signed-off-by: AlexDBlack <blacka101@gmail.com> * DataVec Play fixes Signed-off-by: AlexDBlack <blacka101@gmail.com> * datavec play dependency fixes Signed-off-by: AlexDBlack <blacka101@gmail.com> * Clean up old spark/jackson stuff Signed-off-by: AlexDBlack <blacka101@gmail.com> * Cleanup jackson unused dependencies Signed-off-by: AlexDBlack <blacka101@gmail.com> * Dropping redundant dependency Signed-off-by: Alexander Stoyakin <alexander.stoyakin@gmail.com> * Removed scalaxy dependency Signed-off-by: Alexander Stoyakin <alexander.stoyakin@gmail.com> * DataVec fixes for Jackson version upgrade Signed-off-by: AlexDBlack <blacka101@gmail.com> * DL4J jackson updates + databind version 2.9.9.3 Signed-off-by: AlexDBlack <blacka101@gmail.com> * Shade snakeyaml along with jackson Signed-off-by: AlexDBlack <blacka101@gmail.com> * Version fix Signed-off-by: AlexDBlack <blacka101@gmail.com> * Switch DataVec legacy JSON format handling to mixins Signed-off-by: AlexDBlack <blacka101@gmail.com> * Next set of fixes Signed-off-by: AlexDBlack <blacka101@gmail.com> * Cleanup for legacy JSON mapping Signed-off-by: AlexDBlack <blacka101@gmail.com> * Upgrade commons compress to 1.18; small test fix Signed-off-by: AlexDBlack <blacka101@gmail.com> * New Jackson backward compatibility for DL4J - Round 1 Signed-off-by: AlexDBlack <blacka101@gmail.com> * New Jackson backward compatibility for DL4J - Round 2 Signed-off-by: AlexDBlack <blacka101@gmail.com> * More fixes, all but legacy custom passing Signed-off-by: AlexDBlack <blacka101@gmail.com> * Provide an upgrade path for custom layers for models in pre-1.0.0-beta JSON format Signed-off-by: AlexDBlack <blacka101@gmail.com> * Legacy deserialization cleanup Signed-off-by: AlexDBlack <blacka101@gmail.com> * Small amount of polish - legacy JSON Signed-off-by: AlexDBlack <blacka101@gmail.com> * Upgrade guava version Signed-off-by: AlexDBlack <blacka101@gmail.com> * IEvaluation legacy format deserialization fix Signed-off-by: AlexDBlack <blacka101@gmail.com> * Upgrade play version to 2.7.3 Signed-off-by: AlexDBlack <blacka101@gmail.com> * Update nd4j-parameter-server-status to new Play API Signed-off-by: AlexDBlack <blacka101@gmail.com> * Update DL4J UI for new play version Signed-off-by: AlexDBlack <blacka101@gmail.com> * More play framework updates Signed-off-by: AlexDBlack <blacka101@gmail.com> * Small fixes Signed-off-by: AlexDBlack <blacka101@gmail.com> * Remove Spark 1/2 adapter code from DataVec Signed-off-by: AlexDBlack <blacka101@gmail.com> * datavec-spark dependency cleanup Signed-off-by: AlexDBlack <blacka101@gmail.com> * DL4J spark updates, pt 1 Signed-off-by: AlexDBlack <blacka101@gmail.com> * DL4J spark updates, pt 2 Signed-off-by: AlexDBlack <blacka101@gmail.com> * DL4J spark updates, pt 3 Signed-off-by: AlexDBlack <blacka101@gmail.com> * DL4J spark updates, pt 4 Signed-off-by: AlexDBlack <blacka101@gmail.com> * Test fix Signed-off-by: AlexDBlack <blacka101@gmail.com> * Another fix Signed-off-by: AlexDBlack <blacka101@gmail.com> * Breeze upgrade, dependency cleanup Signed-off-by: AlexDBlack <blacka101@gmail.com> * Add Scala 2.12 version to pom.xml Signed-off-by: AlexDBlack <blacka101@gmail.com> * change-scala-versions.sh - add scala 2.12, remove 2.10 Signed-off-by: AlexDBlack <blacka101@gmail.com> * Move Spark version properties to parent pom (now that only one spark version is supported) Signed-off-by: AlexDBlack <blacka101@gmail.com> * DataVec Play fixes Signed-off-by: AlexDBlack <blacka101@gmail.com> * datavec play dependency fixes Signed-off-by: AlexDBlack <blacka101@gmail.com> * Clean up old spark/jackson stuff Signed-off-by: AlexDBlack <blacka101@gmail.com> * Cleanup jackson unused dependencies Signed-off-by: AlexDBlack <blacka101@gmail.com> * Add shaded guava Signed-off-by: AlexDBlack <blacka101@gmail.com> * Dropping redundant dependency Signed-off-by: Alexander Stoyakin <alexander.stoyakin@gmail.com> * Removed scalaxy dependency Signed-off-by: Alexander Stoyakin <alexander.stoyakin@gmail.com> * Ensure not possible to import pre-shaded classes, and remove direct guava dependencies in favor of shaded Signed-off-by: AlexDBlack <blacka101@gmail.com> * ND4J Shaded guava import fixes Signed-off-by: AlexDBlack <blacka101@gmail.com> * DataVec and DL4J guava shading Signed-off-by: AlexDBlack <blacka101@gmail.com> * Arbiter, RL4J fixes Signed-off-by: AlexDBlack <blacka101@gmail.com> * Build fixed Signed-off-by: Alexander Stoyakin <alexander.stoyakin@gmail.com> * Fix dependency Signed-off-by: Alexander Stoyakin <alexander.stoyakin@gmail.com> * Fix bad merge Signed-off-by: AlexDBlack <blacka101@gmail.com> * Jackson shading fixes Signed-off-by: AlexDBlack <blacka101@gmail.com> * Set play secret, datavec-spark-inference-server Signed-off-by: AlexDBlack <blacka101@gmail.com> * Fix for datavec-spark-inference-server Signed-off-by: AlexDBlack <blacka101@gmail.com> * Arbiter fixes Signed-off-by: AlexDBlack <blacka101@gmail.com> * Arbiter fixes Signed-off-by: AlexDBlack <blacka101@gmail.com> * Small test fix Signed-off-by: AlexDBlack <blacka101@gmail.com>
2019-08-30 14:35:27 +10:00
uiModules.add(new ConvolutionalListenerModule());
uiModules.add(new TsneModule());
uiModules.add(new SameDiffModule());
remoteReceiverModule = new RemoteReceiverModule();
uiModules.add(remoteReceiverModule);
//Check service loader mechanism (Arbiter UI, etc) for modules
modulesViaServiceLoader(uiModules);
for (UIModule m : uiModules) {
List<Route> routes = m.getRoutes();
DL4J UI: Migrate from Play to Vertx (#68) * Vertx transition initial steps Signed-off-by: AlexDBlack <blacka101@gmail.com> * Assets serving works Signed-off-by: AlexDBlack <blacka101@gmail.com> * Next steps Signed-off-by: AlexDBlack <blacka101@gmail.com> * Add other pages Signed-off-by: AlexDBlack <blacka101@gmail.com> * Add remaining modules Signed-off-by: AlexDBlack <blacka101@gmail.com> * Delete deeplearning4j-play module Signed-off-by: AlexDBlack <blacka101@gmail.com> * SD UI module Signed-off-by: AlexDBlack <blacka101@gmail.com> * Main UI works Signed-off-by: AlexDBlack <blacka101@gmail.com> * Multi-session UI fixed Signed-off-by: AlexDBlack <blacka101@gmail.com> * TSNE fixed Signed-off-by: AlexDBlack <blacka101@gmail.com> * Polish, fixes, re-add CLI launch option Signed-off-by: AlexDBlack <blacka101@gmail.com> * Fix remote UI functionality Signed-off-by: AlexDBlack <blacka101@gmail.com> * Final tweaks Signed-off-by: AlexDBlack <blacka101@gmail.com> * Remove Scala version suffix from deeplearning4j-ui Signed-off-by: AlexDBlack <blacka101@gmail.com> * Update Arbiter UI to vertx Signed-off-by: AlexDBlack <blacka101@gmail.com> * Missing version tag Signed-off-by: AlexDBlack <blacka101@gmail.com> * Remove (now unneeded) scala from arbiter UI Signed-off-by: AlexDBlack <blacka101@gmail.com> * Move vertx version to parent pom Signed-off-by: AlexDBlack <blacka101@gmail.com> * Switch template loading from classpath to a more reliable mechanism Signed-off-by: AlexDBlack <blacka101@gmail.com> * Small fix for I18N message loading Signed-off-by: AlexDBlack <blacka101@gmail.com> * Switch to shaded jackson for UI module JSON conversion Signed-off-by: AlexDBlack <blacka101@gmail.com> * Small test tweaks and copyright header fix Signed-off-by: AlexDBlack <blacka101@gmail.com> * pom file copyright headers Signed-off-by: AlexDBlack <blacka101@gmail.com> * plugins -> pliginManagement for java 8 modules Signed-off-by: AlexDBlack <blacka101@gmail.com> * plugins -> pliginManagement for java 8 modules Signed-off-by: AlexDBlack <blacka101@gmail.com>
2019-11-22 23:50:34 +11:00
for (Route route : routes) {
switch (route.getHttpMethod()) {
case GET:
r.get(route.getRoute()).handler(rc -> route.getConsumer().accept(extractArgsFromRoute(route.getRoute(), rc), rc));
Version upgrades (#199) * DataVec fixes for Jackson version upgrade Signed-off-by: AlexDBlack <blacka101@gmail.com> * DL4J jackson updates + databind version 2.9.9.3 Signed-off-by: AlexDBlack <blacka101@gmail.com> * Shade snakeyaml along with jackson Signed-off-by: AlexDBlack <blacka101@gmail.com> * Version fix Signed-off-by: AlexDBlack <blacka101@gmail.com> * Switch DataVec legacy JSON format handling to mixins Signed-off-by: AlexDBlack <blacka101@gmail.com> * Next set of fixes Signed-off-by: AlexDBlack <blacka101@gmail.com> * Cleanup for legacy JSON mapping Signed-off-by: AlexDBlack <blacka101@gmail.com> * Upgrade commons compress to 1.18; small test fix Signed-off-by: AlexDBlack <blacka101@gmail.com> * New Jackson backward compatibility for DL4J - Round 1 Signed-off-by: AlexDBlack <blacka101@gmail.com> * New Jackson backward compatibility for DL4J - Round 2 Signed-off-by: AlexDBlack <blacka101@gmail.com> * More fixes, all but legacy custom passing Signed-off-by: AlexDBlack <blacka101@gmail.com> * Provide an upgrade path for custom layers for models in pre-1.0.0-beta JSON format Signed-off-by: AlexDBlack <blacka101@gmail.com> * Legacy deserialization cleanup Signed-off-by: AlexDBlack <blacka101@gmail.com> * Small amount of polish - legacy JSON Signed-off-by: AlexDBlack <blacka101@gmail.com> * Upgrade guava version Signed-off-by: AlexDBlack <blacka101@gmail.com> * IEvaluation legacy format deserialization fix Signed-off-by: AlexDBlack <blacka101@gmail.com> * Upgrade play version to 2.7.3 Signed-off-by: AlexDBlack <blacka101@gmail.com> * Update nd4j-parameter-server-status to new Play API Signed-off-by: AlexDBlack <blacka101@gmail.com> * Update DL4J UI for new play version Signed-off-by: AlexDBlack <blacka101@gmail.com> * More play framework updates Signed-off-by: AlexDBlack <blacka101@gmail.com> * Small fixes Signed-off-by: AlexDBlack <blacka101@gmail.com> * Remove Spark 1/2 adapter code from DataVec Signed-off-by: AlexDBlack <blacka101@gmail.com> * datavec-spark dependency cleanup Signed-off-by: AlexDBlack <blacka101@gmail.com> * DL4J spark updates, pt 1 Signed-off-by: AlexDBlack <blacka101@gmail.com> * DL4J spark updates, pt 2 Signed-off-by: AlexDBlack <blacka101@gmail.com> * DL4J spark updates, pt 3 Signed-off-by: AlexDBlack <blacka101@gmail.com> * DL4J spark updates, pt 4 Signed-off-by: AlexDBlack <blacka101@gmail.com> * Test fix Signed-off-by: AlexDBlack <blacka101@gmail.com> * Another fix Signed-off-by: AlexDBlack <blacka101@gmail.com> * Breeze upgrade, dependency cleanup Signed-off-by: AlexDBlack <blacka101@gmail.com> * Add Scala 2.12 version to pom.xml Signed-off-by: AlexDBlack <blacka101@gmail.com> * change-scala-versions.sh - add scala 2.12, remove 2.10 Signed-off-by: AlexDBlack <blacka101@gmail.com> * Move Spark version properties to parent pom (now that only one spark version is supported) Signed-off-by: AlexDBlack <blacka101@gmail.com> * DataVec Play fixes Signed-off-by: AlexDBlack <blacka101@gmail.com> * datavec play dependency fixes Signed-off-by: AlexDBlack <blacka101@gmail.com> * Clean up old spark/jackson stuff Signed-off-by: AlexDBlack <blacka101@gmail.com> * Cleanup jackson unused dependencies Signed-off-by: AlexDBlack <blacka101@gmail.com> * Dropping redundant dependency Signed-off-by: Alexander Stoyakin <alexander.stoyakin@gmail.com> * Removed scalaxy dependency Signed-off-by: Alexander Stoyakin <alexander.stoyakin@gmail.com> * DataVec fixes for Jackson version upgrade Signed-off-by: AlexDBlack <blacka101@gmail.com> * DL4J jackson updates + databind version 2.9.9.3 Signed-off-by: AlexDBlack <blacka101@gmail.com> * Shade snakeyaml along with jackson Signed-off-by: AlexDBlack <blacka101@gmail.com> * Version fix Signed-off-by: AlexDBlack <blacka101@gmail.com> * Switch DataVec legacy JSON format handling to mixins Signed-off-by: AlexDBlack <blacka101@gmail.com> * Next set of fixes Signed-off-by: AlexDBlack <blacka101@gmail.com> * Cleanup for legacy JSON mapping Signed-off-by: AlexDBlack <blacka101@gmail.com> * Upgrade commons compress to 1.18; small test fix Signed-off-by: AlexDBlack <blacka101@gmail.com> * New Jackson backward compatibility for DL4J - Round 1 Signed-off-by: AlexDBlack <blacka101@gmail.com> * New Jackson backward compatibility for DL4J - Round 2 Signed-off-by: AlexDBlack <blacka101@gmail.com> * More fixes, all but legacy custom passing Signed-off-by: AlexDBlack <blacka101@gmail.com> * Provide an upgrade path for custom layers for models in pre-1.0.0-beta JSON format Signed-off-by: AlexDBlack <blacka101@gmail.com> * Legacy deserialization cleanup Signed-off-by: AlexDBlack <blacka101@gmail.com> * Small amount of polish - legacy JSON Signed-off-by: AlexDBlack <blacka101@gmail.com> * Upgrade guava version Signed-off-by: AlexDBlack <blacka101@gmail.com> * IEvaluation legacy format deserialization fix Signed-off-by: AlexDBlack <blacka101@gmail.com> * Upgrade play version to 2.7.3 Signed-off-by: AlexDBlack <blacka101@gmail.com> * Update nd4j-parameter-server-status to new Play API Signed-off-by: AlexDBlack <blacka101@gmail.com> * Update DL4J UI for new play version Signed-off-by: AlexDBlack <blacka101@gmail.com> * More play framework updates Signed-off-by: AlexDBlack <blacka101@gmail.com> * Small fixes Signed-off-by: AlexDBlack <blacka101@gmail.com> * Remove Spark 1/2 adapter code from DataVec Signed-off-by: AlexDBlack <blacka101@gmail.com> * datavec-spark dependency cleanup Signed-off-by: AlexDBlack <blacka101@gmail.com> * DL4J spark updates, pt 1 Signed-off-by: AlexDBlack <blacka101@gmail.com> * DL4J spark updates, pt 2 Signed-off-by: AlexDBlack <blacka101@gmail.com> * DL4J spark updates, pt 3 Signed-off-by: AlexDBlack <blacka101@gmail.com> * DL4J spark updates, pt 4 Signed-off-by: AlexDBlack <blacka101@gmail.com> * Test fix Signed-off-by: AlexDBlack <blacka101@gmail.com> * Another fix Signed-off-by: AlexDBlack <blacka101@gmail.com> * Breeze upgrade, dependency cleanup Signed-off-by: AlexDBlack <blacka101@gmail.com> * Add Scala 2.12 version to pom.xml Signed-off-by: AlexDBlack <blacka101@gmail.com> * change-scala-versions.sh - add scala 2.12, remove 2.10 Signed-off-by: AlexDBlack <blacka101@gmail.com> * Move Spark version properties to parent pom (now that only one spark version is supported) Signed-off-by: AlexDBlack <blacka101@gmail.com> * DataVec Play fixes Signed-off-by: AlexDBlack <blacka101@gmail.com> * datavec play dependency fixes Signed-off-by: AlexDBlack <blacka101@gmail.com> * Clean up old spark/jackson stuff Signed-off-by: AlexDBlack <blacka101@gmail.com> * Cleanup jackson unused dependencies Signed-off-by: AlexDBlack <blacka101@gmail.com> * Add shaded guava Signed-off-by: AlexDBlack <blacka101@gmail.com> * Dropping redundant dependency Signed-off-by: Alexander Stoyakin <alexander.stoyakin@gmail.com> * Removed scalaxy dependency Signed-off-by: Alexander Stoyakin <alexander.stoyakin@gmail.com> * Ensure not possible to import pre-shaded classes, and remove direct guava dependencies in favor of shaded Signed-off-by: AlexDBlack <blacka101@gmail.com> * ND4J Shaded guava import fixes Signed-off-by: AlexDBlack <blacka101@gmail.com> * DataVec and DL4J guava shading Signed-off-by: AlexDBlack <blacka101@gmail.com> * Arbiter, RL4J fixes Signed-off-by: AlexDBlack <blacka101@gmail.com> * Build fixed Signed-off-by: Alexander Stoyakin <alexander.stoyakin@gmail.com> * Fix dependency Signed-off-by: Alexander Stoyakin <alexander.stoyakin@gmail.com> * Fix bad merge Signed-off-by: AlexDBlack <blacka101@gmail.com> * Jackson shading fixes Signed-off-by: AlexDBlack <blacka101@gmail.com> * Set play secret, datavec-spark-inference-server Signed-off-by: AlexDBlack <blacka101@gmail.com> * Fix for datavec-spark-inference-server Signed-off-by: AlexDBlack <blacka101@gmail.com> * Arbiter fixes Signed-off-by: AlexDBlack <blacka101@gmail.com> * Arbiter fixes Signed-off-by: AlexDBlack <blacka101@gmail.com> * Small test fix Signed-off-by: AlexDBlack <blacka101@gmail.com>
2019-08-30 14:35:27 +10:00
break;
DL4J UI: Migrate from Play to Vertx (#68) * Vertx transition initial steps Signed-off-by: AlexDBlack <blacka101@gmail.com> * Assets serving works Signed-off-by: AlexDBlack <blacka101@gmail.com> * Next steps Signed-off-by: AlexDBlack <blacka101@gmail.com> * Add other pages Signed-off-by: AlexDBlack <blacka101@gmail.com> * Add remaining modules Signed-off-by: AlexDBlack <blacka101@gmail.com> * Delete deeplearning4j-play module Signed-off-by: AlexDBlack <blacka101@gmail.com> * SD UI module Signed-off-by: AlexDBlack <blacka101@gmail.com> * Main UI works Signed-off-by: AlexDBlack <blacka101@gmail.com> * Multi-session UI fixed Signed-off-by: AlexDBlack <blacka101@gmail.com> * TSNE fixed Signed-off-by: AlexDBlack <blacka101@gmail.com> * Polish, fixes, re-add CLI launch option Signed-off-by: AlexDBlack <blacka101@gmail.com> * Fix remote UI functionality Signed-off-by: AlexDBlack <blacka101@gmail.com> * Final tweaks Signed-off-by: AlexDBlack <blacka101@gmail.com> * Remove Scala version suffix from deeplearning4j-ui Signed-off-by: AlexDBlack <blacka101@gmail.com> * Update Arbiter UI to vertx Signed-off-by: AlexDBlack <blacka101@gmail.com> * Missing version tag Signed-off-by: AlexDBlack <blacka101@gmail.com> * Remove (now unneeded) scala from arbiter UI Signed-off-by: AlexDBlack <blacka101@gmail.com> * Move vertx version to parent pom Signed-off-by: AlexDBlack <blacka101@gmail.com> * Switch template loading from classpath to a more reliable mechanism Signed-off-by: AlexDBlack <blacka101@gmail.com> * Small fix for I18N message loading Signed-off-by: AlexDBlack <blacka101@gmail.com> * Switch to shaded jackson for UI module JSON conversion Signed-off-by: AlexDBlack <blacka101@gmail.com> * Small test tweaks and copyright header fix Signed-off-by: AlexDBlack <blacka101@gmail.com> * pom file copyright headers Signed-off-by: AlexDBlack <blacka101@gmail.com> * plugins -> pliginManagement for java 8 modules Signed-off-by: AlexDBlack <blacka101@gmail.com> * plugins -> pliginManagement for java 8 modules Signed-off-by: AlexDBlack <blacka101@gmail.com>
2019-11-22 23:50:34 +11:00
case PUT:
r.put(route.getRoute()).handler(rc -> route.getConsumer().accept(extractArgsFromRoute(route.getRoute(), rc), rc));
Version upgrades (#199) * DataVec fixes for Jackson version upgrade Signed-off-by: AlexDBlack <blacka101@gmail.com> * DL4J jackson updates + databind version 2.9.9.3 Signed-off-by: AlexDBlack <blacka101@gmail.com> * Shade snakeyaml along with jackson Signed-off-by: AlexDBlack <blacka101@gmail.com> * Version fix Signed-off-by: AlexDBlack <blacka101@gmail.com> * Switch DataVec legacy JSON format handling to mixins Signed-off-by: AlexDBlack <blacka101@gmail.com> * Next set of fixes Signed-off-by: AlexDBlack <blacka101@gmail.com> * Cleanup for legacy JSON mapping Signed-off-by: AlexDBlack <blacka101@gmail.com> * Upgrade commons compress to 1.18; small test fix Signed-off-by: AlexDBlack <blacka101@gmail.com> * New Jackson backward compatibility for DL4J - Round 1 Signed-off-by: AlexDBlack <blacka101@gmail.com> * New Jackson backward compatibility for DL4J - Round 2 Signed-off-by: AlexDBlack <blacka101@gmail.com> * More fixes, all but legacy custom passing Signed-off-by: AlexDBlack <blacka101@gmail.com> * Provide an upgrade path for custom layers for models in pre-1.0.0-beta JSON format Signed-off-by: AlexDBlack <blacka101@gmail.com> * Legacy deserialization cleanup Signed-off-by: AlexDBlack <blacka101@gmail.com> * Small amount of polish - legacy JSON Signed-off-by: AlexDBlack <blacka101@gmail.com> * Upgrade guava version Signed-off-by: AlexDBlack <blacka101@gmail.com> * IEvaluation legacy format deserialization fix Signed-off-by: AlexDBlack <blacka101@gmail.com> * Upgrade play version to 2.7.3 Signed-off-by: AlexDBlack <blacka101@gmail.com> * Update nd4j-parameter-server-status to new Play API Signed-off-by: AlexDBlack <blacka101@gmail.com> * Update DL4J UI for new play version Signed-off-by: AlexDBlack <blacka101@gmail.com> * More play framework updates Signed-off-by: AlexDBlack <blacka101@gmail.com> * Small fixes Signed-off-by: AlexDBlack <blacka101@gmail.com> * Remove Spark 1/2 adapter code from DataVec Signed-off-by: AlexDBlack <blacka101@gmail.com> * datavec-spark dependency cleanup Signed-off-by: AlexDBlack <blacka101@gmail.com> * DL4J spark updates, pt 1 Signed-off-by: AlexDBlack <blacka101@gmail.com> * DL4J spark updates, pt 2 Signed-off-by: AlexDBlack <blacka101@gmail.com> * DL4J spark updates, pt 3 Signed-off-by: AlexDBlack <blacka101@gmail.com> * DL4J spark updates, pt 4 Signed-off-by: AlexDBlack <blacka101@gmail.com> * Test fix Signed-off-by: AlexDBlack <blacka101@gmail.com> * Another fix Signed-off-by: AlexDBlack <blacka101@gmail.com> * Breeze upgrade, dependency cleanup Signed-off-by: AlexDBlack <blacka101@gmail.com> * Add Scala 2.12 version to pom.xml Signed-off-by: AlexDBlack <blacka101@gmail.com> * change-scala-versions.sh - add scala 2.12, remove 2.10 Signed-off-by: AlexDBlack <blacka101@gmail.com> * Move Spark version properties to parent pom (now that only one spark version is supported) Signed-off-by: AlexDBlack <blacka101@gmail.com> * DataVec Play fixes Signed-off-by: AlexDBlack <blacka101@gmail.com> * datavec play dependency fixes Signed-off-by: AlexDBlack <blacka101@gmail.com> * Clean up old spark/jackson stuff Signed-off-by: AlexDBlack <blacka101@gmail.com> * Cleanup jackson unused dependencies Signed-off-by: AlexDBlack <blacka101@gmail.com> * Dropping redundant dependency Signed-off-by: Alexander Stoyakin <alexander.stoyakin@gmail.com> * Removed scalaxy dependency Signed-off-by: Alexander Stoyakin <alexander.stoyakin@gmail.com> * DataVec fixes for Jackson version upgrade Signed-off-by: AlexDBlack <blacka101@gmail.com> * DL4J jackson updates + databind version 2.9.9.3 Signed-off-by: AlexDBlack <blacka101@gmail.com> * Shade snakeyaml along with jackson Signed-off-by: AlexDBlack <blacka101@gmail.com> * Version fix Signed-off-by: AlexDBlack <blacka101@gmail.com> * Switch DataVec legacy JSON format handling to mixins Signed-off-by: AlexDBlack <blacka101@gmail.com> * Next set of fixes Signed-off-by: AlexDBlack <blacka101@gmail.com> * Cleanup for legacy JSON mapping Signed-off-by: AlexDBlack <blacka101@gmail.com> * Upgrade commons compress to 1.18; small test fix Signed-off-by: AlexDBlack <blacka101@gmail.com> * New Jackson backward compatibility for DL4J - Round 1 Signed-off-by: AlexDBlack <blacka101@gmail.com> * New Jackson backward compatibility for DL4J - Round 2 Signed-off-by: AlexDBlack <blacka101@gmail.com> * More fixes, all but legacy custom passing Signed-off-by: AlexDBlack <blacka101@gmail.com> * Provide an upgrade path for custom layers for models in pre-1.0.0-beta JSON format Signed-off-by: AlexDBlack <blacka101@gmail.com> * Legacy deserialization cleanup Signed-off-by: AlexDBlack <blacka101@gmail.com> * Small amount of polish - legacy JSON Signed-off-by: AlexDBlack <blacka101@gmail.com> * Upgrade guava version Signed-off-by: AlexDBlack <blacka101@gmail.com> * IEvaluation legacy format deserialization fix Signed-off-by: AlexDBlack <blacka101@gmail.com> * Upgrade play version to 2.7.3 Signed-off-by: AlexDBlack <blacka101@gmail.com> * Update nd4j-parameter-server-status to new Play API Signed-off-by: AlexDBlack <blacka101@gmail.com> * Update DL4J UI for new play version Signed-off-by: AlexDBlack <blacka101@gmail.com> * More play framework updates Signed-off-by: AlexDBlack <blacka101@gmail.com> * Small fixes Signed-off-by: AlexDBlack <blacka101@gmail.com> * Remove Spark 1/2 adapter code from DataVec Signed-off-by: AlexDBlack <blacka101@gmail.com> * datavec-spark dependency cleanup Signed-off-by: AlexDBlack <blacka101@gmail.com> * DL4J spark updates, pt 1 Signed-off-by: AlexDBlack <blacka101@gmail.com> * DL4J spark updates, pt 2 Signed-off-by: AlexDBlack <blacka101@gmail.com> * DL4J spark updates, pt 3 Signed-off-by: AlexDBlack <blacka101@gmail.com> * DL4J spark updates, pt 4 Signed-off-by: AlexDBlack <blacka101@gmail.com> * Test fix Signed-off-by: AlexDBlack <blacka101@gmail.com> * Another fix Signed-off-by: AlexDBlack <blacka101@gmail.com> * Breeze upgrade, dependency cleanup Signed-off-by: AlexDBlack <blacka101@gmail.com> * Add Scala 2.12 version to pom.xml Signed-off-by: AlexDBlack <blacka101@gmail.com> * change-scala-versions.sh - add scala 2.12, remove 2.10 Signed-off-by: AlexDBlack <blacka101@gmail.com> * Move Spark version properties to parent pom (now that only one spark version is supported) Signed-off-by: AlexDBlack <blacka101@gmail.com> * DataVec Play fixes Signed-off-by: AlexDBlack <blacka101@gmail.com> * datavec play dependency fixes Signed-off-by: AlexDBlack <blacka101@gmail.com> * Clean up old spark/jackson stuff Signed-off-by: AlexDBlack <blacka101@gmail.com> * Cleanup jackson unused dependencies Signed-off-by: AlexDBlack <blacka101@gmail.com> * Add shaded guava Signed-off-by: AlexDBlack <blacka101@gmail.com> * Dropping redundant dependency Signed-off-by: Alexander Stoyakin <alexander.stoyakin@gmail.com> * Removed scalaxy dependency Signed-off-by: Alexander Stoyakin <alexander.stoyakin@gmail.com> * Ensure not possible to import pre-shaded classes, and remove direct guava dependencies in favor of shaded Signed-off-by: AlexDBlack <blacka101@gmail.com> * ND4J Shaded guava import fixes Signed-off-by: AlexDBlack <blacka101@gmail.com> * DataVec and DL4J guava shading Signed-off-by: AlexDBlack <blacka101@gmail.com> * Arbiter, RL4J fixes Signed-off-by: AlexDBlack <blacka101@gmail.com> * Build fixed Signed-off-by: Alexander Stoyakin <alexander.stoyakin@gmail.com> * Fix dependency Signed-off-by: Alexander Stoyakin <alexander.stoyakin@gmail.com> * Fix bad merge Signed-off-by: AlexDBlack <blacka101@gmail.com> * Jackson shading fixes Signed-off-by: AlexDBlack <blacka101@gmail.com> * Set play secret, datavec-spark-inference-server Signed-off-by: AlexDBlack <blacka101@gmail.com> * Fix for datavec-spark-inference-server Signed-off-by: AlexDBlack <blacka101@gmail.com> * Arbiter fixes Signed-off-by: AlexDBlack <blacka101@gmail.com> * Arbiter fixes Signed-off-by: AlexDBlack <blacka101@gmail.com> * Small test fix Signed-off-by: AlexDBlack <blacka101@gmail.com>
2019-08-30 14:35:27 +10:00
break;
DL4J UI: Migrate from Play to Vertx (#68) * Vertx transition initial steps Signed-off-by: AlexDBlack <blacka101@gmail.com> * Assets serving works Signed-off-by: AlexDBlack <blacka101@gmail.com> * Next steps Signed-off-by: AlexDBlack <blacka101@gmail.com> * Add other pages Signed-off-by: AlexDBlack <blacka101@gmail.com> * Add remaining modules Signed-off-by: AlexDBlack <blacka101@gmail.com> * Delete deeplearning4j-play module Signed-off-by: AlexDBlack <blacka101@gmail.com> * SD UI module Signed-off-by: AlexDBlack <blacka101@gmail.com> * Main UI works Signed-off-by: AlexDBlack <blacka101@gmail.com> * Multi-session UI fixed Signed-off-by: AlexDBlack <blacka101@gmail.com> * TSNE fixed Signed-off-by: AlexDBlack <blacka101@gmail.com> * Polish, fixes, re-add CLI launch option Signed-off-by: AlexDBlack <blacka101@gmail.com> * Fix remote UI functionality Signed-off-by: AlexDBlack <blacka101@gmail.com> * Final tweaks Signed-off-by: AlexDBlack <blacka101@gmail.com> * Remove Scala version suffix from deeplearning4j-ui Signed-off-by: AlexDBlack <blacka101@gmail.com> * Update Arbiter UI to vertx Signed-off-by: AlexDBlack <blacka101@gmail.com> * Missing version tag Signed-off-by: AlexDBlack <blacka101@gmail.com> * Remove (now unneeded) scala from arbiter UI Signed-off-by: AlexDBlack <blacka101@gmail.com> * Move vertx version to parent pom Signed-off-by: AlexDBlack <blacka101@gmail.com> * Switch template loading from classpath to a more reliable mechanism Signed-off-by: AlexDBlack <blacka101@gmail.com> * Small fix for I18N message loading Signed-off-by: AlexDBlack <blacka101@gmail.com> * Switch to shaded jackson for UI module JSON conversion Signed-off-by: AlexDBlack <blacka101@gmail.com> * Small test tweaks and copyright header fix Signed-off-by: AlexDBlack <blacka101@gmail.com> * pom file copyright headers Signed-off-by: AlexDBlack <blacka101@gmail.com> * plugins -> pliginManagement for java 8 modules Signed-off-by: AlexDBlack <blacka101@gmail.com> * plugins -> pliginManagement for java 8 modules Signed-off-by: AlexDBlack <blacka101@gmail.com>
2019-11-22 23:50:34 +11:00
case POST:
r.post(route.getRoute()).handler(rc -> route.getConsumer().accept(extractArgsFromRoute(route.getRoute(), rc), rc));
Version upgrades (#199) * DataVec fixes for Jackson version upgrade Signed-off-by: AlexDBlack <blacka101@gmail.com> * DL4J jackson updates + databind version 2.9.9.3 Signed-off-by: AlexDBlack <blacka101@gmail.com> * Shade snakeyaml along with jackson Signed-off-by: AlexDBlack <blacka101@gmail.com> * Version fix Signed-off-by: AlexDBlack <blacka101@gmail.com> * Switch DataVec legacy JSON format handling to mixins Signed-off-by: AlexDBlack <blacka101@gmail.com> * Next set of fixes Signed-off-by: AlexDBlack <blacka101@gmail.com> * Cleanup for legacy JSON mapping Signed-off-by: AlexDBlack <blacka101@gmail.com> * Upgrade commons compress to 1.18; small test fix Signed-off-by: AlexDBlack <blacka101@gmail.com> * New Jackson backward compatibility for DL4J - Round 1 Signed-off-by: AlexDBlack <blacka101@gmail.com> * New Jackson backward compatibility for DL4J - Round 2 Signed-off-by: AlexDBlack <blacka101@gmail.com> * More fixes, all but legacy custom passing Signed-off-by: AlexDBlack <blacka101@gmail.com> * Provide an upgrade path for custom layers for models in pre-1.0.0-beta JSON format Signed-off-by: AlexDBlack <blacka101@gmail.com> * Legacy deserialization cleanup Signed-off-by: AlexDBlack <blacka101@gmail.com> * Small amount of polish - legacy JSON Signed-off-by: AlexDBlack <blacka101@gmail.com> * Upgrade guava version Signed-off-by: AlexDBlack <blacka101@gmail.com> * IEvaluation legacy format deserialization fix Signed-off-by: AlexDBlack <blacka101@gmail.com> * Upgrade play version to 2.7.3 Signed-off-by: AlexDBlack <blacka101@gmail.com> * Update nd4j-parameter-server-status to new Play API Signed-off-by: AlexDBlack <blacka101@gmail.com> * Update DL4J UI for new play version Signed-off-by: AlexDBlack <blacka101@gmail.com> * More play framework updates Signed-off-by: AlexDBlack <blacka101@gmail.com> * Small fixes Signed-off-by: AlexDBlack <blacka101@gmail.com> * Remove Spark 1/2 adapter code from DataVec Signed-off-by: AlexDBlack <blacka101@gmail.com> * datavec-spark dependency cleanup Signed-off-by: AlexDBlack <blacka101@gmail.com> * DL4J spark updates, pt 1 Signed-off-by: AlexDBlack <blacka101@gmail.com> * DL4J spark updates, pt 2 Signed-off-by: AlexDBlack <blacka101@gmail.com> * DL4J spark updates, pt 3 Signed-off-by: AlexDBlack <blacka101@gmail.com> * DL4J spark updates, pt 4 Signed-off-by: AlexDBlack <blacka101@gmail.com> * Test fix Signed-off-by: AlexDBlack <blacka101@gmail.com> * Another fix Signed-off-by: AlexDBlack <blacka101@gmail.com> * Breeze upgrade, dependency cleanup Signed-off-by: AlexDBlack <blacka101@gmail.com> * Add Scala 2.12 version to pom.xml Signed-off-by: AlexDBlack <blacka101@gmail.com> * change-scala-versions.sh - add scala 2.12, remove 2.10 Signed-off-by: AlexDBlack <blacka101@gmail.com> * Move Spark version properties to parent pom (now that only one spark version is supported) Signed-off-by: AlexDBlack <blacka101@gmail.com> * DataVec Play fixes Signed-off-by: AlexDBlack <blacka101@gmail.com> * datavec play dependency fixes Signed-off-by: AlexDBlack <blacka101@gmail.com> * Clean up old spark/jackson stuff Signed-off-by: AlexDBlack <blacka101@gmail.com> * Cleanup jackson unused dependencies Signed-off-by: AlexDBlack <blacka101@gmail.com> * Dropping redundant dependency Signed-off-by: Alexander Stoyakin <alexander.stoyakin@gmail.com> * Removed scalaxy dependency Signed-off-by: Alexander Stoyakin <alexander.stoyakin@gmail.com> * DataVec fixes for Jackson version upgrade Signed-off-by: AlexDBlack <blacka101@gmail.com> * DL4J jackson updates + databind version 2.9.9.3 Signed-off-by: AlexDBlack <blacka101@gmail.com> * Shade snakeyaml along with jackson Signed-off-by: AlexDBlack <blacka101@gmail.com> * Version fix Signed-off-by: AlexDBlack <blacka101@gmail.com> * Switch DataVec legacy JSON format handling to mixins Signed-off-by: AlexDBlack <blacka101@gmail.com> * Next set of fixes Signed-off-by: AlexDBlack <blacka101@gmail.com> * Cleanup for legacy JSON mapping Signed-off-by: AlexDBlack <blacka101@gmail.com> * Upgrade commons compress to 1.18; small test fix Signed-off-by: AlexDBlack <blacka101@gmail.com> * New Jackson backward compatibility for DL4J - Round 1 Signed-off-by: AlexDBlack <blacka101@gmail.com> * New Jackson backward compatibility for DL4J - Round 2 Signed-off-by: AlexDBlack <blacka101@gmail.com> * More fixes, all but legacy custom passing Signed-off-by: AlexDBlack <blacka101@gmail.com> * Provide an upgrade path for custom layers for models in pre-1.0.0-beta JSON format Signed-off-by: AlexDBlack <blacka101@gmail.com> * Legacy deserialization cleanup Signed-off-by: AlexDBlack <blacka101@gmail.com> * Small amount of polish - legacy JSON Signed-off-by: AlexDBlack <blacka101@gmail.com> * Upgrade guava version Signed-off-by: AlexDBlack <blacka101@gmail.com> * IEvaluation legacy format deserialization fix Signed-off-by: AlexDBlack <blacka101@gmail.com> * Upgrade play version to 2.7.3 Signed-off-by: AlexDBlack <blacka101@gmail.com> * Update nd4j-parameter-server-status to new Play API Signed-off-by: AlexDBlack <blacka101@gmail.com> * Update DL4J UI for new play version Signed-off-by: AlexDBlack <blacka101@gmail.com> * More play framework updates Signed-off-by: AlexDBlack <blacka101@gmail.com> * Small fixes Signed-off-by: AlexDBlack <blacka101@gmail.com> * Remove Spark 1/2 adapter code from DataVec Signed-off-by: AlexDBlack <blacka101@gmail.com> * datavec-spark dependency cleanup Signed-off-by: AlexDBlack <blacka101@gmail.com> * DL4J spark updates, pt 1 Signed-off-by: AlexDBlack <blacka101@gmail.com> * DL4J spark updates, pt 2 Signed-off-by: AlexDBlack <blacka101@gmail.com> * DL4J spark updates, pt 3 Signed-off-by: AlexDBlack <blacka101@gmail.com> * DL4J spark updates, pt 4 Signed-off-by: AlexDBlack <blacka101@gmail.com> * Test fix Signed-off-by: AlexDBlack <blacka101@gmail.com> * Another fix Signed-off-by: AlexDBlack <blacka101@gmail.com> * Breeze upgrade, dependency cleanup Signed-off-by: AlexDBlack <blacka101@gmail.com> * Add Scala 2.12 version to pom.xml Signed-off-by: AlexDBlack <blacka101@gmail.com> * change-scala-versions.sh - add scala 2.12, remove 2.10 Signed-off-by: AlexDBlack <blacka101@gmail.com> * Move Spark version properties to parent pom (now that only one spark version is supported) Signed-off-by: AlexDBlack <blacka101@gmail.com> * DataVec Play fixes Signed-off-by: AlexDBlack <blacka101@gmail.com> * datavec play dependency fixes Signed-off-by: AlexDBlack <blacka101@gmail.com> * Clean up old spark/jackson stuff Signed-off-by: AlexDBlack <blacka101@gmail.com> * Cleanup jackson unused dependencies Signed-off-by: AlexDBlack <blacka101@gmail.com> * Add shaded guava Signed-off-by: AlexDBlack <blacka101@gmail.com> * Dropping redundant dependency Signed-off-by: Alexander Stoyakin <alexander.stoyakin@gmail.com> * Removed scalaxy dependency Signed-off-by: Alexander Stoyakin <alexander.stoyakin@gmail.com> * Ensure not possible to import pre-shaded classes, and remove direct guava dependencies in favor of shaded Signed-off-by: AlexDBlack <blacka101@gmail.com> * ND4J Shaded guava import fixes Signed-off-by: AlexDBlack <blacka101@gmail.com> * DataVec and DL4J guava shading Signed-off-by: AlexDBlack <blacka101@gmail.com> * Arbiter, RL4J fixes Signed-off-by: AlexDBlack <blacka101@gmail.com> * Build fixed Signed-off-by: Alexander Stoyakin <alexander.stoyakin@gmail.com> * Fix dependency Signed-off-by: Alexander Stoyakin <alexander.stoyakin@gmail.com> * Fix bad merge Signed-off-by: AlexDBlack <blacka101@gmail.com> * Jackson shading fixes Signed-off-by: AlexDBlack <blacka101@gmail.com> * Set play secret, datavec-spark-inference-server Signed-off-by: AlexDBlack <blacka101@gmail.com> * Fix for datavec-spark-inference-server Signed-off-by: AlexDBlack <blacka101@gmail.com> * Arbiter fixes Signed-off-by: AlexDBlack <blacka101@gmail.com> * Arbiter fixes Signed-off-by: AlexDBlack <blacka101@gmail.com> * Small test fix Signed-off-by: AlexDBlack <blacka101@gmail.com>
2019-08-30 14:35:27 +10:00
break;
default:
DL4J UI: Migrate from Play to Vertx (#68) * Vertx transition initial steps Signed-off-by: AlexDBlack <blacka101@gmail.com> * Assets serving works Signed-off-by: AlexDBlack <blacka101@gmail.com> * Next steps Signed-off-by: AlexDBlack <blacka101@gmail.com> * Add other pages Signed-off-by: AlexDBlack <blacka101@gmail.com> * Add remaining modules Signed-off-by: AlexDBlack <blacka101@gmail.com> * Delete deeplearning4j-play module Signed-off-by: AlexDBlack <blacka101@gmail.com> * SD UI module Signed-off-by: AlexDBlack <blacka101@gmail.com> * Main UI works Signed-off-by: AlexDBlack <blacka101@gmail.com> * Multi-session UI fixed Signed-off-by: AlexDBlack <blacka101@gmail.com> * TSNE fixed Signed-off-by: AlexDBlack <blacka101@gmail.com> * Polish, fixes, re-add CLI launch option Signed-off-by: AlexDBlack <blacka101@gmail.com> * Fix remote UI functionality Signed-off-by: AlexDBlack <blacka101@gmail.com> * Final tweaks Signed-off-by: AlexDBlack <blacka101@gmail.com> * Remove Scala version suffix from deeplearning4j-ui Signed-off-by: AlexDBlack <blacka101@gmail.com> * Update Arbiter UI to vertx Signed-off-by: AlexDBlack <blacka101@gmail.com> * Missing version tag Signed-off-by: AlexDBlack <blacka101@gmail.com> * Remove (now unneeded) scala from arbiter UI Signed-off-by: AlexDBlack <blacka101@gmail.com> * Move vertx version to parent pom Signed-off-by: AlexDBlack <blacka101@gmail.com> * Switch template loading from classpath to a more reliable mechanism Signed-off-by: AlexDBlack <blacka101@gmail.com> * Small fix for I18N message loading Signed-off-by: AlexDBlack <blacka101@gmail.com> * Switch to shaded jackson for UI module JSON conversion Signed-off-by: AlexDBlack <blacka101@gmail.com> * Small test tweaks and copyright header fix Signed-off-by: AlexDBlack <blacka101@gmail.com> * pom file copyright headers Signed-off-by: AlexDBlack <blacka101@gmail.com> * plugins -> pliginManagement for java 8 modules Signed-off-by: AlexDBlack <blacka101@gmail.com> * plugins -> pliginManagement for java 8 modules Signed-off-by: AlexDBlack <blacka101@gmail.com>
2019-11-22 23:50:34 +11:00
throw new IllegalStateException("Unknown or not supported HTTP method: " + route.getHttpMethod());
Version upgrades (#199) * DataVec fixes for Jackson version upgrade Signed-off-by: AlexDBlack <blacka101@gmail.com> * DL4J jackson updates + databind version 2.9.9.3 Signed-off-by: AlexDBlack <blacka101@gmail.com> * Shade snakeyaml along with jackson Signed-off-by: AlexDBlack <blacka101@gmail.com> * Version fix Signed-off-by: AlexDBlack <blacka101@gmail.com> * Switch DataVec legacy JSON format handling to mixins Signed-off-by: AlexDBlack <blacka101@gmail.com> * Next set of fixes Signed-off-by: AlexDBlack <blacka101@gmail.com> * Cleanup for legacy JSON mapping Signed-off-by: AlexDBlack <blacka101@gmail.com> * Upgrade commons compress to 1.18; small test fix Signed-off-by: AlexDBlack <blacka101@gmail.com> * New Jackson backward compatibility for DL4J - Round 1 Signed-off-by: AlexDBlack <blacka101@gmail.com> * New Jackson backward compatibility for DL4J - Round 2 Signed-off-by: AlexDBlack <blacka101@gmail.com> * More fixes, all but legacy custom passing Signed-off-by: AlexDBlack <blacka101@gmail.com> * Provide an upgrade path for custom layers for models in pre-1.0.0-beta JSON format Signed-off-by: AlexDBlack <blacka101@gmail.com> * Legacy deserialization cleanup Signed-off-by: AlexDBlack <blacka101@gmail.com> * Small amount of polish - legacy JSON Signed-off-by: AlexDBlack <blacka101@gmail.com> * Upgrade guava version Signed-off-by: AlexDBlack <blacka101@gmail.com> * IEvaluation legacy format deserialization fix Signed-off-by: AlexDBlack <blacka101@gmail.com> * Upgrade play version to 2.7.3 Signed-off-by: AlexDBlack <blacka101@gmail.com> * Update nd4j-parameter-server-status to new Play API Signed-off-by: AlexDBlack <blacka101@gmail.com> * Update DL4J UI for new play version Signed-off-by: AlexDBlack <blacka101@gmail.com> * More play framework updates Signed-off-by: AlexDBlack <blacka101@gmail.com> * Small fixes Signed-off-by: AlexDBlack <blacka101@gmail.com> * Remove Spark 1/2 adapter code from DataVec Signed-off-by: AlexDBlack <blacka101@gmail.com> * datavec-spark dependency cleanup Signed-off-by: AlexDBlack <blacka101@gmail.com> * DL4J spark updates, pt 1 Signed-off-by: AlexDBlack <blacka101@gmail.com> * DL4J spark updates, pt 2 Signed-off-by: AlexDBlack <blacka101@gmail.com> * DL4J spark updates, pt 3 Signed-off-by: AlexDBlack <blacka101@gmail.com> * DL4J spark updates, pt 4 Signed-off-by: AlexDBlack <blacka101@gmail.com> * Test fix Signed-off-by: AlexDBlack <blacka101@gmail.com> * Another fix Signed-off-by: AlexDBlack <blacka101@gmail.com> * Breeze upgrade, dependency cleanup Signed-off-by: AlexDBlack <blacka101@gmail.com> * Add Scala 2.12 version to pom.xml Signed-off-by: AlexDBlack <blacka101@gmail.com> * change-scala-versions.sh - add scala 2.12, remove 2.10 Signed-off-by: AlexDBlack <blacka101@gmail.com> * Move Spark version properties to parent pom (now that only one spark version is supported) Signed-off-by: AlexDBlack <blacka101@gmail.com> * DataVec Play fixes Signed-off-by: AlexDBlack <blacka101@gmail.com> * datavec play dependency fixes Signed-off-by: AlexDBlack <blacka101@gmail.com> * Clean up old spark/jackson stuff Signed-off-by: AlexDBlack <blacka101@gmail.com> * Cleanup jackson unused dependencies Signed-off-by: AlexDBlack <blacka101@gmail.com> * Dropping redundant dependency Signed-off-by: Alexander Stoyakin <alexander.stoyakin@gmail.com> * Removed scalaxy dependency Signed-off-by: Alexander Stoyakin <alexander.stoyakin@gmail.com> * DataVec fixes for Jackson version upgrade Signed-off-by: AlexDBlack <blacka101@gmail.com> * DL4J jackson updates + databind version 2.9.9.3 Signed-off-by: AlexDBlack <blacka101@gmail.com> * Shade snakeyaml along with jackson Signed-off-by: AlexDBlack <blacka101@gmail.com> * Version fix Signed-off-by: AlexDBlack <blacka101@gmail.com> * Switch DataVec legacy JSON format handling to mixins Signed-off-by: AlexDBlack <blacka101@gmail.com> * Next set of fixes Signed-off-by: AlexDBlack <blacka101@gmail.com> * Cleanup for legacy JSON mapping Signed-off-by: AlexDBlack <blacka101@gmail.com> * Upgrade commons compress to 1.18; small test fix Signed-off-by: AlexDBlack <blacka101@gmail.com> * New Jackson backward compatibility for DL4J - Round 1 Signed-off-by: AlexDBlack <blacka101@gmail.com> * New Jackson backward compatibility for DL4J - Round 2 Signed-off-by: AlexDBlack <blacka101@gmail.com> * More fixes, all but legacy custom passing Signed-off-by: AlexDBlack <blacka101@gmail.com> * Provide an upgrade path for custom layers for models in pre-1.0.0-beta JSON format Signed-off-by: AlexDBlack <blacka101@gmail.com> * Legacy deserialization cleanup Signed-off-by: AlexDBlack <blacka101@gmail.com> * Small amount of polish - legacy JSON Signed-off-by: AlexDBlack <blacka101@gmail.com> * Upgrade guava version Signed-off-by: AlexDBlack <blacka101@gmail.com> * IEvaluation legacy format deserialization fix Signed-off-by: AlexDBlack <blacka101@gmail.com> * Upgrade play version to 2.7.3 Signed-off-by: AlexDBlack <blacka101@gmail.com> * Update nd4j-parameter-server-status to new Play API Signed-off-by: AlexDBlack <blacka101@gmail.com> * Update DL4J UI for new play version Signed-off-by: AlexDBlack <blacka101@gmail.com> * More play framework updates Signed-off-by: AlexDBlack <blacka101@gmail.com> * Small fixes Signed-off-by: AlexDBlack <blacka101@gmail.com> * Remove Spark 1/2 adapter code from DataVec Signed-off-by: AlexDBlack <blacka101@gmail.com> * datavec-spark dependency cleanup Signed-off-by: AlexDBlack <blacka101@gmail.com> * DL4J spark updates, pt 1 Signed-off-by: AlexDBlack <blacka101@gmail.com> * DL4J spark updates, pt 2 Signed-off-by: AlexDBlack <blacka101@gmail.com> * DL4J spark updates, pt 3 Signed-off-by: AlexDBlack <blacka101@gmail.com> * DL4J spark updates, pt 4 Signed-off-by: AlexDBlack <blacka101@gmail.com> * Test fix Signed-off-by: AlexDBlack <blacka101@gmail.com> * Another fix Signed-off-by: AlexDBlack <blacka101@gmail.com> * Breeze upgrade, dependency cleanup Signed-off-by: AlexDBlack <blacka101@gmail.com> * Add Scala 2.12 version to pom.xml Signed-off-by: AlexDBlack <blacka101@gmail.com> * change-scala-versions.sh - add scala 2.12, remove 2.10 Signed-off-by: AlexDBlack <blacka101@gmail.com> * Move Spark version properties to parent pom (now that only one spark version is supported) Signed-off-by: AlexDBlack <blacka101@gmail.com> * DataVec Play fixes Signed-off-by: AlexDBlack <blacka101@gmail.com> * datavec play dependency fixes Signed-off-by: AlexDBlack <blacka101@gmail.com> * Clean up old spark/jackson stuff Signed-off-by: AlexDBlack <blacka101@gmail.com> * Cleanup jackson unused dependencies Signed-off-by: AlexDBlack <blacka101@gmail.com> * Add shaded guava Signed-off-by: AlexDBlack <blacka101@gmail.com> * Dropping redundant dependency Signed-off-by: Alexander Stoyakin <alexander.stoyakin@gmail.com> * Removed scalaxy dependency Signed-off-by: Alexander Stoyakin <alexander.stoyakin@gmail.com> * Ensure not possible to import pre-shaded classes, and remove direct guava dependencies in favor of shaded Signed-off-by: AlexDBlack <blacka101@gmail.com> * ND4J Shaded guava import fixes Signed-off-by: AlexDBlack <blacka101@gmail.com> * DataVec and DL4J guava shading Signed-off-by: AlexDBlack <blacka101@gmail.com> * Arbiter, RL4J fixes Signed-off-by: AlexDBlack <blacka101@gmail.com> * Build fixed Signed-off-by: Alexander Stoyakin <alexander.stoyakin@gmail.com> * Fix dependency Signed-off-by: Alexander Stoyakin <alexander.stoyakin@gmail.com> * Fix bad merge Signed-off-by: AlexDBlack <blacka101@gmail.com> * Jackson shading fixes Signed-off-by: AlexDBlack <blacka101@gmail.com> * Set play secret, datavec-spark-inference-server Signed-off-by: AlexDBlack <blacka101@gmail.com> * Fix for datavec-spark-inference-server Signed-off-by: AlexDBlack <blacka101@gmail.com> * Arbiter fixes Signed-off-by: AlexDBlack <blacka101@gmail.com> * Arbiter fixes Signed-off-by: AlexDBlack <blacka101@gmail.com> * Small test fix Signed-off-by: AlexDBlack <blacka101@gmail.com>
2019-08-30 14:35:27 +10:00
}
}
//Determine which type IDs this module wants to receive:
List<String> typeIDs = m.getCallbackTypeIDs();
for (String typeID : typeIDs) {
List<UIModule> list = typeIDModuleMap.get(typeID);
if (list == null) {
list = Collections.synchronizedList(new ArrayList<>());
typeIDModuleMap.put(typeID, list);
}
list.add(m);
}
}
DL4J UI: Migrate from Play to Vertx (#68) * Vertx transition initial steps Signed-off-by: AlexDBlack <blacka101@gmail.com> * Assets serving works Signed-off-by: AlexDBlack <blacka101@gmail.com> * Next steps Signed-off-by: AlexDBlack <blacka101@gmail.com> * Add other pages Signed-off-by: AlexDBlack <blacka101@gmail.com> * Add remaining modules Signed-off-by: AlexDBlack <blacka101@gmail.com> * Delete deeplearning4j-play module Signed-off-by: AlexDBlack <blacka101@gmail.com> * SD UI module Signed-off-by: AlexDBlack <blacka101@gmail.com> * Main UI works Signed-off-by: AlexDBlack <blacka101@gmail.com> * Multi-session UI fixed Signed-off-by: AlexDBlack <blacka101@gmail.com> * TSNE fixed Signed-off-by: AlexDBlack <blacka101@gmail.com> * Polish, fixes, re-add CLI launch option Signed-off-by: AlexDBlack <blacka101@gmail.com> * Fix remote UI functionality Signed-off-by: AlexDBlack <blacka101@gmail.com> * Final tweaks Signed-off-by: AlexDBlack <blacka101@gmail.com> * Remove Scala version suffix from deeplearning4j-ui Signed-off-by: AlexDBlack <blacka101@gmail.com> * Update Arbiter UI to vertx Signed-off-by: AlexDBlack <blacka101@gmail.com> * Missing version tag Signed-off-by: AlexDBlack <blacka101@gmail.com> * Remove (now unneeded) scala from arbiter UI Signed-off-by: AlexDBlack <blacka101@gmail.com> * Move vertx version to parent pom Signed-off-by: AlexDBlack <blacka101@gmail.com> * Switch template loading from classpath to a more reliable mechanism Signed-off-by: AlexDBlack <blacka101@gmail.com> * Small fix for I18N message loading Signed-off-by: AlexDBlack <blacka101@gmail.com> * Switch to shaded jackson for UI module JSON conversion Signed-off-by: AlexDBlack <blacka101@gmail.com> * Small test tweaks and copyright header fix Signed-off-by: AlexDBlack <blacka101@gmail.com> * pom file copyright headers Signed-off-by: AlexDBlack <blacka101@gmail.com> * plugins -> pliginManagement for java 8 modules Signed-off-by: AlexDBlack <blacka101@gmail.com> * plugins -> pliginManagement for java 8 modules Signed-off-by: AlexDBlack <blacka101@gmail.com>
2019-11-22 23:50:34 +11:00
//Check port property
int port = instancePort == null ? DEFAULT_UI_PORT : instancePort;
String portProp = System.getenv(DL4JSystemProperties.UI_SERVER_PORT_PROPERTY);
if(portProp != null && !portProp.isEmpty()){
try{
port = Integer.parseInt(portProp);
} catch (NumberFormatException e){
log.warn("Error parsing port property {}={}", DL4JSystemProperties.UI_SERVER_PORT_PROPERTY, portProp);
}
}
server = vertx.createHttpServer()
.requestHandler(r)
.listen(port);
uiEventRoutingThread = new Thread(new StatsEventRouterRunnable());
uiEventRoutingThread.setDaemon(true);
uiEventRoutingThread.start();
Update master (#8511) * cleaned up bert iterator tests (#110) Signed-off-by: eraly <susan.eraly@gmail.com> * Various pre-release fixes (#111) * Various fixes Signed-off-by: AlexDBlack <blacka101@gmail.com> * Fix default dtypes for MaxPoolWithArgmax Signed-off-by: AlexDBlack <blacka101@gmail.com> * Small pre-release tweak (#112) * Log UI address on launch as in previous Play-based UI Signed-off-by: AlexDBlack <blacka101@gmail.com> * Logging level tweak for UI Signed-off-by: AlexDBlack <blacka101@gmail.com> * http not https Signed-off-by: AlexDBlack <blacka101@gmail.com> * datavec python ensure host (#113) * ensure host * one more host ensure * info->debug * [WIP] reverse improvements (#115) * initial commit Signed-off-by: raver119 <raver119@gmail.com> * reverse draft Signed-off-by: raver119 <raver119@gmail.com> * reverse kernel Signed-off-by: raver119 <raver119@gmail.com> * reverse kernel Signed-off-by: raver119 <raver119@gmail.com> * 2 micro fixes Signed-off-by: raver119 <raver119@gmail.com> * Shugeo resize fix5 (#102) * Refactored resize images ops to use TF-like bool args as input. * Refactored helpers for cpu implementation of resize_bilinear and resize_nearest_neighbor ops. * Refactored cuda implementation for image.resize_bilinear and image.resize_nearest_neighbor ops helpers. * Refactored nearest_neighbor resize op. * Added a pair of tests for special case of resize_bilinear algorithm. * Fixed issue with resize_bilinear op. * Refactored cpu implementation for helpers with resize_nearest_neighbor op. * Final fixed for resize ops to conform TF v.1.5 * Refactored cuda helpers for resize_neares_neighbor op. * Fixed resize_bilinear to accept proper data. * Fixed issue with non-float input for resize_bilinear op. * Refactored cuda helper for resize_bilinear to proper process non-float inputs. * Added tests for resize_bilinear to int inputs. * Fixed ResizeBilinear wrapper * Tests fixed * Fixed float and bool constant to avoid overflow for some kind of compilers. * Corrected float constants with float data type. * Added f suffix for float constants. * Corrected float constant to avoid overflow with initializing lists. * Corrected float initializing list with float input. * Corrected bool constant with initalizing list. * Corrected float and bool values with initializing lists. * Fixed wrong constant. * Fixed issue with 1x1 input picture for resize. * ResizeBilinear default values on import fix Signed-off-by: raver119 <raver119@gmail.com>
2019-12-06 11:10:44 +03:00
String address = UIServer.getInstance().getAddress();
log.info("Deeplearning4j UI server started at: {}", address);
Version upgrades (#199) * DataVec fixes for Jackson version upgrade Signed-off-by: AlexDBlack <blacka101@gmail.com> * DL4J jackson updates + databind version 2.9.9.3 Signed-off-by: AlexDBlack <blacka101@gmail.com> * Shade snakeyaml along with jackson Signed-off-by: AlexDBlack <blacka101@gmail.com> * Version fix Signed-off-by: AlexDBlack <blacka101@gmail.com> * Switch DataVec legacy JSON format handling to mixins Signed-off-by: AlexDBlack <blacka101@gmail.com> * Next set of fixes Signed-off-by: AlexDBlack <blacka101@gmail.com> * Cleanup for legacy JSON mapping Signed-off-by: AlexDBlack <blacka101@gmail.com> * Upgrade commons compress to 1.18; small test fix Signed-off-by: AlexDBlack <blacka101@gmail.com> * New Jackson backward compatibility for DL4J - Round 1 Signed-off-by: AlexDBlack <blacka101@gmail.com> * New Jackson backward compatibility for DL4J - Round 2 Signed-off-by: AlexDBlack <blacka101@gmail.com> * More fixes, all but legacy custom passing Signed-off-by: AlexDBlack <blacka101@gmail.com> * Provide an upgrade path for custom layers for models in pre-1.0.0-beta JSON format Signed-off-by: AlexDBlack <blacka101@gmail.com> * Legacy deserialization cleanup Signed-off-by: AlexDBlack <blacka101@gmail.com> * Small amount of polish - legacy JSON Signed-off-by: AlexDBlack <blacka101@gmail.com> * Upgrade guava version Signed-off-by: AlexDBlack <blacka101@gmail.com> * IEvaluation legacy format deserialization fix Signed-off-by: AlexDBlack <blacka101@gmail.com> * Upgrade play version to 2.7.3 Signed-off-by: AlexDBlack <blacka101@gmail.com> * Update nd4j-parameter-server-status to new Play API Signed-off-by: AlexDBlack <blacka101@gmail.com> * Update DL4J UI for new play version Signed-off-by: AlexDBlack <blacka101@gmail.com> * More play framework updates Signed-off-by: AlexDBlack <blacka101@gmail.com> * Small fixes Signed-off-by: AlexDBlack <blacka101@gmail.com> * Remove Spark 1/2 adapter code from DataVec Signed-off-by: AlexDBlack <blacka101@gmail.com> * datavec-spark dependency cleanup Signed-off-by: AlexDBlack <blacka101@gmail.com> * DL4J spark updates, pt 1 Signed-off-by: AlexDBlack <blacka101@gmail.com> * DL4J spark updates, pt 2 Signed-off-by: AlexDBlack <blacka101@gmail.com> * DL4J spark updates, pt 3 Signed-off-by: AlexDBlack <blacka101@gmail.com> * DL4J spark updates, pt 4 Signed-off-by: AlexDBlack <blacka101@gmail.com> * Test fix Signed-off-by: AlexDBlack <blacka101@gmail.com> * Another fix Signed-off-by: AlexDBlack <blacka101@gmail.com> * Breeze upgrade, dependency cleanup Signed-off-by: AlexDBlack <blacka101@gmail.com> * Add Scala 2.12 version to pom.xml Signed-off-by: AlexDBlack <blacka101@gmail.com> * change-scala-versions.sh - add scala 2.12, remove 2.10 Signed-off-by: AlexDBlack <blacka101@gmail.com> * Move Spark version properties to parent pom (now that only one spark version is supported) Signed-off-by: AlexDBlack <blacka101@gmail.com> * DataVec Play fixes Signed-off-by: AlexDBlack <blacka101@gmail.com> * datavec play dependency fixes Signed-off-by: AlexDBlack <blacka101@gmail.com> * Clean up old spark/jackson stuff Signed-off-by: AlexDBlack <blacka101@gmail.com> * Cleanup jackson unused dependencies Signed-off-by: AlexDBlack <blacka101@gmail.com> * Dropping redundant dependency Signed-off-by: Alexander Stoyakin <alexander.stoyakin@gmail.com> * Removed scalaxy dependency Signed-off-by: Alexander Stoyakin <alexander.stoyakin@gmail.com> * DataVec fixes for Jackson version upgrade Signed-off-by: AlexDBlack <blacka101@gmail.com> * DL4J jackson updates + databind version 2.9.9.3 Signed-off-by: AlexDBlack <blacka101@gmail.com> * Shade snakeyaml along with jackson Signed-off-by: AlexDBlack <blacka101@gmail.com> * Version fix Signed-off-by: AlexDBlack <blacka101@gmail.com> * Switch DataVec legacy JSON format handling to mixins Signed-off-by: AlexDBlack <blacka101@gmail.com> * Next set of fixes Signed-off-by: AlexDBlack <blacka101@gmail.com> * Cleanup for legacy JSON mapping Signed-off-by: AlexDBlack <blacka101@gmail.com> * Upgrade commons compress to 1.18; small test fix Signed-off-by: AlexDBlack <blacka101@gmail.com> * New Jackson backward compatibility for DL4J - Round 1 Signed-off-by: AlexDBlack <blacka101@gmail.com> * New Jackson backward compatibility for DL4J - Round 2 Signed-off-by: AlexDBlack <blacka101@gmail.com> * More fixes, all but legacy custom passing Signed-off-by: AlexDBlack <blacka101@gmail.com> * Provide an upgrade path for custom layers for models in pre-1.0.0-beta JSON format Signed-off-by: AlexDBlack <blacka101@gmail.com> * Legacy deserialization cleanup Signed-off-by: AlexDBlack <blacka101@gmail.com> * Small amount of polish - legacy JSON Signed-off-by: AlexDBlack <blacka101@gmail.com> * Upgrade guava version Signed-off-by: AlexDBlack <blacka101@gmail.com> * IEvaluation legacy format deserialization fix Signed-off-by: AlexDBlack <blacka101@gmail.com> * Upgrade play version to 2.7.3 Signed-off-by: AlexDBlack <blacka101@gmail.com> * Update nd4j-parameter-server-status to new Play API Signed-off-by: AlexDBlack <blacka101@gmail.com> * Update DL4J UI for new play version Signed-off-by: AlexDBlack <blacka101@gmail.com> * More play framework updates Signed-off-by: AlexDBlack <blacka101@gmail.com> * Small fixes Signed-off-by: AlexDBlack <blacka101@gmail.com> * Remove Spark 1/2 adapter code from DataVec Signed-off-by: AlexDBlack <blacka101@gmail.com> * datavec-spark dependency cleanup Signed-off-by: AlexDBlack <blacka101@gmail.com> * DL4J spark updates, pt 1 Signed-off-by: AlexDBlack <blacka101@gmail.com> * DL4J spark updates, pt 2 Signed-off-by: AlexDBlack <blacka101@gmail.com> * DL4J spark updates, pt 3 Signed-off-by: AlexDBlack <blacka101@gmail.com> * DL4J spark updates, pt 4 Signed-off-by: AlexDBlack <blacka101@gmail.com> * Test fix Signed-off-by: AlexDBlack <blacka101@gmail.com> * Another fix Signed-off-by: AlexDBlack <blacka101@gmail.com> * Breeze upgrade, dependency cleanup Signed-off-by: AlexDBlack <blacka101@gmail.com> * Add Scala 2.12 version to pom.xml Signed-off-by: AlexDBlack <blacka101@gmail.com> * change-scala-versions.sh - add scala 2.12, remove 2.10 Signed-off-by: AlexDBlack <blacka101@gmail.com> * Move Spark version properties to parent pom (now that only one spark version is supported) Signed-off-by: AlexDBlack <blacka101@gmail.com> * DataVec Play fixes Signed-off-by: AlexDBlack <blacka101@gmail.com> * datavec play dependency fixes Signed-off-by: AlexDBlack <blacka101@gmail.com> * Clean up old spark/jackson stuff Signed-off-by: AlexDBlack <blacka101@gmail.com> * Cleanup jackson unused dependencies Signed-off-by: AlexDBlack <blacka101@gmail.com> * Add shaded guava Signed-off-by: AlexDBlack <blacka101@gmail.com> * Dropping redundant dependency Signed-off-by: Alexander Stoyakin <alexander.stoyakin@gmail.com> * Removed scalaxy dependency Signed-off-by: Alexander Stoyakin <alexander.stoyakin@gmail.com> * Ensure not possible to import pre-shaded classes, and remove direct guava dependencies in favor of shaded Signed-off-by: AlexDBlack <blacka101@gmail.com> * ND4J Shaded guava import fixes Signed-off-by: AlexDBlack <blacka101@gmail.com> * DataVec and DL4J guava shading Signed-off-by: AlexDBlack <blacka101@gmail.com> * Arbiter, RL4J fixes Signed-off-by: AlexDBlack <blacka101@gmail.com> * Build fixed Signed-off-by: Alexander Stoyakin <alexander.stoyakin@gmail.com> * Fix dependency Signed-off-by: Alexander Stoyakin <alexander.stoyakin@gmail.com> * Fix bad merge Signed-off-by: AlexDBlack <blacka101@gmail.com> * Jackson shading fixes Signed-off-by: AlexDBlack <blacka101@gmail.com> * Set play secret, datavec-spark-inference-server Signed-off-by: AlexDBlack <blacka101@gmail.com> * Fix for datavec-spark-inference-server Signed-off-by: AlexDBlack <blacka101@gmail.com> * Arbiter fixes Signed-off-by: AlexDBlack <blacka101@gmail.com> * Arbiter fixes Signed-off-by: AlexDBlack <blacka101@gmail.com> * Small test fix Signed-off-by: AlexDBlack <blacka101@gmail.com>
2019-08-30 14:35:27 +10:00
}
DL4J UI: Migrate from Play to Vertx (#68) * Vertx transition initial steps Signed-off-by: AlexDBlack <blacka101@gmail.com> * Assets serving works Signed-off-by: AlexDBlack <blacka101@gmail.com> * Next steps Signed-off-by: AlexDBlack <blacka101@gmail.com> * Add other pages Signed-off-by: AlexDBlack <blacka101@gmail.com> * Add remaining modules Signed-off-by: AlexDBlack <blacka101@gmail.com> * Delete deeplearning4j-play module Signed-off-by: AlexDBlack <blacka101@gmail.com> * SD UI module Signed-off-by: AlexDBlack <blacka101@gmail.com> * Main UI works Signed-off-by: AlexDBlack <blacka101@gmail.com> * Multi-session UI fixed Signed-off-by: AlexDBlack <blacka101@gmail.com> * TSNE fixed Signed-off-by: AlexDBlack <blacka101@gmail.com> * Polish, fixes, re-add CLI launch option Signed-off-by: AlexDBlack <blacka101@gmail.com> * Fix remote UI functionality Signed-off-by: AlexDBlack <blacka101@gmail.com> * Final tweaks Signed-off-by: AlexDBlack <blacka101@gmail.com> * Remove Scala version suffix from deeplearning4j-ui Signed-off-by: AlexDBlack <blacka101@gmail.com> * Update Arbiter UI to vertx Signed-off-by: AlexDBlack <blacka101@gmail.com> * Missing version tag Signed-off-by: AlexDBlack <blacka101@gmail.com> * Remove (now unneeded) scala from arbiter UI Signed-off-by: AlexDBlack <blacka101@gmail.com> * Move vertx version to parent pom Signed-off-by: AlexDBlack <blacka101@gmail.com> * Switch template loading from classpath to a more reliable mechanism Signed-off-by: AlexDBlack <blacka101@gmail.com> * Small fix for I18N message loading Signed-off-by: AlexDBlack <blacka101@gmail.com> * Switch to shaded jackson for UI module JSON conversion Signed-off-by: AlexDBlack <blacka101@gmail.com> * Small test tweaks and copyright header fix Signed-off-by: AlexDBlack <blacka101@gmail.com> * pom file copyright headers Signed-off-by: AlexDBlack <blacka101@gmail.com> * plugins -> pliginManagement for java 8 modules Signed-off-by: AlexDBlack <blacka101@gmail.com> * plugins -> pliginManagement for java 8 modules Signed-off-by: AlexDBlack <blacka101@gmail.com>
2019-11-22 23:50:34 +11:00
private List<String> extractArgsFromRoute(String path, RoutingContext rc) {
if (!path.contains(":")) {
return Collections.emptyList();
}
String[] split = path.split("/");
List<String> out = new ArrayList<>();
for (String s : split) {
if (s.startsWith(":")) {
String s2 = s.substring(1);
out.add(rc.request().getParam(s2));
2019-06-06 15:21:15 +03:00
}
}
DL4J UI: Migrate from Play to Vertx (#68) * Vertx transition initial steps Signed-off-by: AlexDBlack <blacka101@gmail.com> * Assets serving works Signed-off-by: AlexDBlack <blacka101@gmail.com> * Next steps Signed-off-by: AlexDBlack <blacka101@gmail.com> * Add other pages Signed-off-by: AlexDBlack <blacka101@gmail.com> * Add remaining modules Signed-off-by: AlexDBlack <blacka101@gmail.com> * Delete deeplearning4j-play module Signed-off-by: AlexDBlack <blacka101@gmail.com> * SD UI module Signed-off-by: AlexDBlack <blacka101@gmail.com> * Main UI works Signed-off-by: AlexDBlack <blacka101@gmail.com> * Multi-session UI fixed Signed-off-by: AlexDBlack <blacka101@gmail.com> * TSNE fixed Signed-off-by: AlexDBlack <blacka101@gmail.com> * Polish, fixes, re-add CLI launch option Signed-off-by: AlexDBlack <blacka101@gmail.com> * Fix remote UI functionality Signed-off-by: AlexDBlack <blacka101@gmail.com> * Final tweaks Signed-off-by: AlexDBlack <blacka101@gmail.com> * Remove Scala version suffix from deeplearning4j-ui Signed-off-by: AlexDBlack <blacka101@gmail.com> * Update Arbiter UI to vertx Signed-off-by: AlexDBlack <blacka101@gmail.com> * Missing version tag Signed-off-by: AlexDBlack <blacka101@gmail.com> * Remove (now unneeded) scala from arbiter UI Signed-off-by: AlexDBlack <blacka101@gmail.com> * Move vertx version to parent pom Signed-off-by: AlexDBlack <blacka101@gmail.com> * Switch template loading from classpath to a more reliable mechanism Signed-off-by: AlexDBlack <blacka101@gmail.com> * Small fix for I18N message loading Signed-off-by: AlexDBlack <blacka101@gmail.com> * Switch to shaded jackson for UI module JSON conversion Signed-off-by: AlexDBlack <blacka101@gmail.com> * Small test tweaks and copyright header fix Signed-off-by: AlexDBlack <blacka101@gmail.com> * pom file copyright headers Signed-off-by: AlexDBlack <blacka101@gmail.com> * plugins -> pliginManagement for java 8 modules Signed-off-by: AlexDBlack <blacka101@gmail.com> * plugins -> pliginManagement for java 8 modules Signed-off-by: AlexDBlack <blacka101@gmail.com>
2019-11-22 23:50:34 +11:00
return out;
2019-06-06 15:21:15 +03:00
}
private void modulesViaServiceLoader(List<UIModule> uiModules) {
ServiceLoader<UIModule> sl = ServiceLoader.load(UIModule.class);
Iterator<UIModule> iter = sl.iterator();
if (!iter.hasNext()) {
return;
}
while (iter.hasNext()) {
UIModule m = iter.next();
Class<?> c = m.getClass();
boolean foundExisting = false;
DL4J UI: Migrate from Play to Vertx (#68) * Vertx transition initial steps Signed-off-by: AlexDBlack <blacka101@gmail.com> * Assets serving works Signed-off-by: AlexDBlack <blacka101@gmail.com> * Next steps Signed-off-by: AlexDBlack <blacka101@gmail.com> * Add other pages Signed-off-by: AlexDBlack <blacka101@gmail.com> * Add remaining modules Signed-off-by: AlexDBlack <blacka101@gmail.com> * Delete deeplearning4j-play module Signed-off-by: AlexDBlack <blacka101@gmail.com> * SD UI module Signed-off-by: AlexDBlack <blacka101@gmail.com> * Main UI works Signed-off-by: AlexDBlack <blacka101@gmail.com> * Multi-session UI fixed Signed-off-by: AlexDBlack <blacka101@gmail.com> * TSNE fixed Signed-off-by: AlexDBlack <blacka101@gmail.com> * Polish, fixes, re-add CLI launch option Signed-off-by: AlexDBlack <blacka101@gmail.com> * Fix remote UI functionality Signed-off-by: AlexDBlack <blacka101@gmail.com> * Final tweaks Signed-off-by: AlexDBlack <blacka101@gmail.com> * Remove Scala version suffix from deeplearning4j-ui Signed-off-by: AlexDBlack <blacka101@gmail.com> * Update Arbiter UI to vertx Signed-off-by: AlexDBlack <blacka101@gmail.com> * Missing version tag Signed-off-by: AlexDBlack <blacka101@gmail.com> * Remove (now unneeded) scala from arbiter UI Signed-off-by: AlexDBlack <blacka101@gmail.com> * Move vertx version to parent pom Signed-off-by: AlexDBlack <blacka101@gmail.com> * Switch template loading from classpath to a more reliable mechanism Signed-off-by: AlexDBlack <blacka101@gmail.com> * Small fix for I18N message loading Signed-off-by: AlexDBlack <blacka101@gmail.com> * Switch to shaded jackson for UI module JSON conversion Signed-off-by: AlexDBlack <blacka101@gmail.com> * Small test tweaks and copyright header fix Signed-off-by: AlexDBlack <blacka101@gmail.com> * pom file copyright headers Signed-off-by: AlexDBlack <blacka101@gmail.com> * plugins -> pliginManagement for java 8 modules Signed-off-by: AlexDBlack <blacka101@gmail.com> * plugins -> pliginManagement for java 8 modules Signed-off-by: AlexDBlack <blacka101@gmail.com>
2019-11-22 23:50:34 +11:00
for (UIModule mExisting : uiModules) {
if (mExisting.getClass() == c) {
2019-06-06 15:21:15 +03:00
foundExisting = true;
break;
}
}
DL4J UI: Migrate from Play to Vertx (#68) * Vertx transition initial steps Signed-off-by: AlexDBlack <blacka101@gmail.com> * Assets serving works Signed-off-by: AlexDBlack <blacka101@gmail.com> * Next steps Signed-off-by: AlexDBlack <blacka101@gmail.com> * Add other pages Signed-off-by: AlexDBlack <blacka101@gmail.com> * Add remaining modules Signed-off-by: AlexDBlack <blacka101@gmail.com> * Delete deeplearning4j-play module Signed-off-by: AlexDBlack <blacka101@gmail.com> * SD UI module Signed-off-by: AlexDBlack <blacka101@gmail.com> * Main UI works Signed-off-by: AlexDBlack <blacka101@gmail.com> * Multi-session UI fixed Signed-off-by: AlexDBlack <blacka101@gmail.com> * TSNE fixed Signed-off-by: AlexDBlack <blacka101@gmail.com> * Polish, fixes, re-add CLI launch option Signed-off-by: AlexDBlack <blacka101@gmail.com> * Fix remote UI functionality Signed-off-by: AlexDBlack <blacka101@gmail.com> * Final tweaks Signed-off-by: AlexDBlack <blacka101@gmail.com> * Remove Scala version suffix from deeplearning4j-ui Signed-off-by: AlexDBlack <blacka101@gmail.com> * Update Arbiter UI to vertx Signed-off-by: AlexDBlack <blacka101@gmail.com> * Missing version tag Signed-off-by: AlexDBlack <blacka101@gmail.com> * Remove (now unneeded) scala from arbiter UI Signed-off-by: AlexDBlack <blacka101@gmail.com> * Move vertx version to parent pom Signed-off-by: AlexDBlack <blacka101@gmail.com> * Switch template loading from classpath to a more reliable mechanism Signed-off-by: AlexDBlack <blacka101@gmail.com> * Small fix for I18N message loading Signed-off-by: AlexDBlack <blacka101@gmail.com> * Switch to shaded jackson for UI module JSON conversion Signed-off-by: AlexDBlack <blacka101@gmail.com> * Small test tweaks and copyright header fix Signed-off-by: AlexDBlack <blacka101@gmail.com> * pom file copyright headers Signed-off-by: AlexDBlack <blacka101@gmail.com> * plugins -> pliginManagement for java 8 modules Signed-off-by: AlexDBlack <blacka101@gmail.com> * plugins -> pliginManagement for java 8 modules Signed-off-by: AlexDBlack <blacka101@gmail.com>
2019-11-22 23:50:34 +11:00
if (!foundExisting) {
2019-06-06 15:21:15 +03:00
log.debug("Loaded UI module via service loader: {}", m.getClass());
uiModules.add(m);
}
}
}
DL4J UI: Migrate from Play to Vertx (#68) * Vertx transition initial steps Signed-off-by: AlexDBlack <blacka101@gmail.com> * Assets serving works Signed-off-by: AlexDBlack <blacka101@gmail.com> * Next steps Signed-off-by: AlexDBlack <blacka101@gmail.com> * Add other pages Signed-off-by: AlexDBlack <blacka101@gmail.com> * Add remaining modules Signed-off-by: AlexDBlack <blacka101@gmail.com> * Delete deeplearning4j-play module Signed-off-by: AlexDBlack <blacka101@gmail.com> * SD UI module Signed-off-by: AlexDBlack <blacka101@gmail.com> * Main UI works Signed-off-by: AlexDBlack <blacka101@gmail.com> * Multi-session UI fixed Signed-off-by: AlexDBlack <blacka101@gmail.com> * TSNE fixed Signed-off-by: AlexDBlack <blacka101@gmail.com> * Polish, fixes, re-add CLI launch option Signed-off-by: AlexDBlack <blacka101@gmail.com> * Fix remote UI functionality Signed-off-by: AlexDBlack <blacka101@gmail.com> * Final tweaks Signed-off-by: AlexDBlack <blacka101@gmail.com> * Remove Scala version suffix from deeplearning4j-ui Signed-off-by: AlexDBlack <blacka101@gmail.com> * Update Arbiter UI to vertx Signed-off-by: AlexDBlack <blacka101@gmail.com> * Missing version tag Signed-off-by: AlexDBlack <blacka101@gmail.com> * Remove (now unneeded) scala from arbiter UI Signed-off-by: AlexDBlack <blacka101@gmail.com> * Move vertx version to parent pom Signed-off-by: AlexDBlack <blacka101@gmail.com> * Switch template loading from classpath to a more reliable mechanism Signed-off-by: AlexDBlack <blacka101@gmail.com> * Small fix for I18N message loading Signed-off-by: AlexDBlack <blacka101@gmail.com> * Switch to shaded jackson for UI module JSON conversion Signed-off-by: AlexDBlack <blacka101@gmail.com> * Small test tweaks and copyright header fix Signed-off-by: AlexDBlack <blacka101@gmail.com> * pom file copyright headers Signed-off-by: AlexDBlack <blacka101@gmail.com> * plugins -> pliginManagement for java 8 modules Signed-off-by: AlexDBlack <blacka101@gmail.com> * plugins -> pliginManagement for java 8 modules Signed-off-by: AlexDBlack <blacka101@gmail.com>
2019-11-22 23:50:34 +11:00
@Override
public void stop() {
server.close();
shutdown.set(true);
}
@Override
public boolean isStopped() {
return shutdown.get();
}
@Override
public boolean isMultiSession() {
return multiSession.get();
}
2019-06-06 15:21:15 +03:00
DL4J UI: Migrate from Play to Vertx (#68) * Vertx transition initial steps Signed-off-by: AlexDBlack <blacka101@gmail.com> * Assets serving works Signed-off-by: AlexDBlack <blacka101@gmail.com> * Next steps Signed-off-by: AlexDBlack <blacka101@gmail.com> * Add other pages Signed-off-by: AlexDBlack <blacka101@gmail.com> * Add remaining modules Signed-off-by: AlexDBlack <blacka101@gmail.com> * Delete deeplearning4j-play module Signed-off-by: AlexDBlack <blacka101@gmail.com> * SD UI module Signed-off-by: AlexDBlack <blacka101@gmail.com> * Main UI works Signed-off-by: AlexDBlack <blacka101@gmail.com> * Multi-session UI fixed Signed-off-by: AlexDBlack <blacka101@gmail.com> * TSNE fixed Signed-off-by: AlexDBlack <blacka101@gmail.com> * Polish, fixes, re-add CLI launch option Signed-off-by: AlexDBlack <blacka101@gmail.com> * Fix remote UI functionality Signed-off-by: AlexDBlack <blacka101@gmail.com> * Final tweaks Signed-off-by: AlexDBlack <blacka101@gmail.com> * Remove Scala version suffix from deeplearning4j-ui Signed-off-by: AlexDBlack <blacka101@gmail.com> * Update Arbiter UI to vertx Signed-off-by: AlexDBlack <blacka101@gmail.com> * Missing version tag Signed-off-by: AlexDBlack <blacka101@gmail.com> * Remove (now unneeded) scala from arbiter UI Signed-off-by: AlexDBlack <blacka101@gmail.com> * Move vertx version to parent pom Signed-off-by: AlexDBlack <blacka101@gmail.com> * Switch template loading from classpath to a more reliable mechanism Signed-off-by: AlexDBlack <blacka101@gmail.com> * Small fix for I18N message loading Signed-off-by: AlexDBlack <blacka101@gmail.com> * Switch to shaded jackson for UI module JSON conversion Signed-off-by: AlexDBlack <blacka101@gmail.com> * Small test tweaks and copyright header fix Signed-off-by: AlexDBlack <blacka101@gmail.com> * pom file copyright headers Signed-off-by: AlexDBlack <blacka101@gmail.com> * plugins -> pliginManagement for java 8 modules Signed-off-by: AlexDBlack <blacka101@gmail.com> * plugins -> pliginManagement for java 8 modules Signed-off-by: AlexDBlack <blacka101@gmail.com>
2019-11-22 23:50:34 +11:00
@Override
public String getAddress() {
Update master (#8511) * cleaned up bert iterator tests (#110) Signed-off-by: eraly <susan.eraly@gmail.com> * Various pre-release fixes (#111) * Various fixes Signed-off-by: AlexDBlack <blacka101@gmail.com> * Fix default dtypes for MaxPoolWithArgmax Signed-off-by: AlexDBlack <blacka101@gmail.com> * Small pre-release tweak (#112) * Log UI address on launch as in previous Play-based UI Signed-off-by: AlexDBlack <blacka101@gmail.com> * Logging level tweak for UI Signed-off-by: AlexDBlack <blacka101@gmail.com> * http not https Signed-off-by: AlexDBlack <blacka101@gmail.com> * datavec python ensure host (#113) * ensure host * one more host ensure * info->debug * [WIP] reverse improvements (#115) * initial commit Signed-off-by: raver119 <raver119@gmail.com> * reverse draft Signed-off-by: raver119 <raver119@gmail.com> * reverse kernel Signed-off-by: raver119 <raver119@gmail.com> * reverse kernel Signed-off-by: raver119 <raver119@gmail.com> * 2 micro fixes Signed-off-by: raver119 <raver119@gmail.com> * Shugeo resize fix5 (#102) * Refactored resize images ops to use TF-like bool args as input. * Refactored helpers for cpu implementation of resize_bilinear and resize_nearest_neighbor ops. * Refactored cuda implementation for image.resize_bilinear and image.resize_nearest_neighbor ops helpers. * Refactored nearest_neighbor resize op. * Added a pair of tests for special case of resize_bilinear algorithm. * Fixed issue with resize_bilinear op. * Refactored cpu implementation for helpers with resize_nearest_neighbor op. * Final fixed for resize ops to conform TF v.1.5 * Refactored cuda helpers for resize_neares_neighbor op. * Fixed resize_bilinear to accept proper data. * Fixed issue with non-float input for resize_bilinear op. * Refactored cuda helper for resize_bilinear to proper process non-float inputs. * Added tests for resize_bilinear to int inputs. * Fixed ResizeBilinear wrapper * Tests fixed * Fixed float and bool constant to avoid overflow for some kind of compilers. * Corrected float constants with float data type. * Added f suffix for float constants. * Corrected float constant to avoid overflow with initializing lists. * Corrected float initializing list with float input. * Corrected bool constant with initalizing list. * Corrected float and bool values with initializing lists. * Fixed wrong constant. * Fixed issue with 1x1 input picture for resize. * ResizeBilinear default values on import fix Signed-off-by: raver119 <raver119@gmail.com>
2019-12-06 11:10:44 +03:00
return "http://localhost:" + server.actualPort();
2019-06-06 15:21:15 +03:00
}
@Override
public int getPort() {
DL4J UI: Migrate from Play to Vertx (#68) * Vertx transition initial steps Signed-off-by: AlexDBlack <blacka101@gmail.com> * Assets serving works Signed-off-by: AlexDBlack <blacka101@gmail.com> * Next steps Signed-off-by: AlexDBlack <blacka101@gmail.com> * Add other pages Signed-off-by: AlexDBlack <blacka101@gmail.com> * Add remaining modules Signed-off-by: AlexDBlack <blacka101@gmail.com> * Delete deeplearning4j-play module Signed-off-by: AlexDBlack <blacka101@gmail.com> * SD UI module Signed-off-by: AlexDBlack <blacka101@gmail.com> * Main UI works Signed-off-by: AlexDBlack <blacka101@gmail.com> * Multi-session UI fixed Signed-off-by: AlexDBlack <blacka101@gmail.com> * TSNE fixed Signed-off-by: AlexDBlack <blacka101@gmail.com> * Polish, fixes, re-add CLI launch option Signed-off-by: AlexDBlack <blacka101@gmail.com> * Fix remote UI functionality Signed-off-by: AlexDBlack <blacka101@gmail.com> * Final tweaks Signed-off-by: AlexDBlack <blacka101@gmail.com> * Remove Scala version suffix from deeplearning4j-ui Signed-off-by: AlexDBlack <blacka101@gmail.com> * Update Arbiter UI to vertx Signed-off-by: AlexDBlack <blacka101@gmail.com> * Missing version tag Signed-off-by: AlexDBlack <blacka101@gmail.com> * Remove (now unneeded) scala from arbiter UI Signed-off-by: AlexDBlack <blacka101@gmail.com> * Move vertx version to parent pom Signed-off-by: AlexDBlack <blacka101@gmail.com> * Switch template loading from classpath to a more reliable mechanism Signed-off-by: AlexDBlack <blacka101@gmail.com> * Small fix for I18N message loading Signed-off-by: AlexDBlack <blacka101@gmail.com> * Switch to shaded jackson for UI module JSON conversion Signed-off-by: AlexDBlack <blacka101@gmail.com> * Small test tweaks and copyright header fix Signed-off-by: AlexDBlack <blacka101@gmail.com> * pom file copyright headers Signed-off-by: AlexDBlack <blacka101@gmail.com> * plugins -> pliginManagement for java 8 modules Signed-off-by: AlexDBlack <blacka101@gmail.com> * plugins -> pliginManagement for java 8 modules Signed-off-by: AlexDBlack <blacka101@gmail.com>
2019-11-22 23:50:34 +11:00
return server.actualPort();
2019-06-06 15:21:15 +03:00
}
@Override
DL4J UI: Migrate from Play to Vertx (#68) * Vertx transition initial steps Signed-off-by: AlexDBlack <blacka101@gmail.com> * Assets serving works Signed-off-by: AlexDBlack <blacka101@gmail.com> * Next steps Signed-off-by: AlexDBlack <blacka101@gmail.com> * Add other pages Signed-off-by: AlexDBlack <blacka101@gmail.com> * Add remaining modules Signed-off-by: AlexDBlack <blacka101@gmail.com> * Delete deeplearning4j-play module Signed-off-by: AlexDBlack <blacka101@gmail.com> * SD UI module Signed-off-by: AlexDBlack <blacka101@gmail.com> * Main UI works Signed-off-by: AlexDBlack <blacka101@gmail.com> * Multi-session UI fixed Signed-off-by: AlexDBlack <blacka101@gmail.com> * TSNE fixed Signed-off-by: AlexDBlack <blacka101@gmail.com> * Polish, fixes, re-add CLI launch option Signed-off-by: AlexDBlack <blacka101@gmail.com> * Fix remote UI functionality Signed-off-by: AlexDBlack <blacka101@gmail.com> * Final tweaks Signed-off-by: AlexDBlack <blacka101@gmail.com> * Remove Scala version suffix from deeplearning4j-ui Signed-off-by: AlexDBlack <blacka101@gmail.com> * Update Arbiter UI to vertx Signed-off-by: AlexDBlack <blacka101@gmail.com> * Missing version tag Signed-off-by: AlexDBlack <blacka101@gmail.com> * Remove (now unneeded) scala from arbiter UI Signed-off-by: AlexDBlack <blacka101@gmail.com> * Move vertx version to parent pom Signed-off-by: AlexDBlack <blacka101@gmail.com> * Switch template loading from classpath to a more reliable mechanism Signed-off-by: AlexDBlack <blacka101@gmail.com> * Small fix for I18N message loading Signed-off-by: AlexDBlack <blacka101@gmail.com> * Switch to shaded jackson for UI module JSON conversion Signed-off-by: AlexDBlack <blacka101@gmail.com> * Small test tweaks and copyright header fix Signed-off-by: AlexDBlack <blacka101@gmail.com> * pom file copyright headers Signed-off-by: AlexDBlack <blacka101@gmail.com> * plugins -> pliginManagement for java 8 modules Signed-off-by: AlexDBlack <blacka101@gmail.com> * plugins -> pliginManagement for java 8 modules Signed-off-by: AlexDBlack <blacka101@gmail.com>
2019-11-22 23:50:34 +11:00
public void attach(StatsStorage statsStorage) {
2019-06-06 15:21:15 +03:00
if (statsStorage == null)
throw new IllegalArgumentException("StatsStorage cannot be null");
if (statsStorageInstances.contains(statsStorage))
return;
StatsStorageListener listener = new QueueStatsStorageListener(eventQueue);
listeners.add(new Pair<>(statsStorage, listener));
statsStorage.registerStatsStorageListener(listener);
statsStorageInstances.add(statsStorage);
for (UIModule uiModule : uiModules) {
uiModule.onAttach(statsStorage);
}
log.info("StatsStorage instance attached to UI: {}", statsStorage);
}
@Override
DL4J UI: Migrate from Play to Vertx (#68) * Vertx transition initial steps Signed-off-by: AlexDBlack <blacka101@gmail.com> * Assets serving works Signed-off-by: AlexDBlack <blacka101@gmail.com> * Next steps Signed-off-by: AlexDBlack <blacka101@gmail.com> * Add other pages Signed-off-by: AlexDBlack <blacka101@gmail.com> * Add remaining modules Signed-off-by: AlexDBlack <blacka101@gmail.com> * Delete deeplearning4j-play module Signed-off-by: AlexDBlack <blacka101@gmail.com> * SD UI module Signed-off-by: AlexDBlack <blacka101@gmail.com> * Main UI works Signed-off-by: AlexDBlack <blacka101@gmail.com> * Multi-session UI fixed Signed-off-by: AlexDBlack <blacka101@gmail.com> * TSNE fixed Signed-off-by: AlexDBlack <blacka101@gmail.com> * Polish, fixes, re-add CLI launch option Signed-off-by: AlexDBlack <blacka101@gmail.com> * Fix remote UI functionality Signed-off-by: AlexDBlack <blacka101@gmail.com> * Final tweaks Signed-off-by: AlexDBlack <blacka101@gmail.com> * Remove Scala version suffix from deeplearning4j-ui Signed-off-by: AlexDBlack <blacka101@gmail.com> * Update Arbiter UI to vertx Signed-off-by: AlexDBlack <blacka101@gmail.com> * Missing version tag Signed-off-by: AlexDBlack <blacka101@gmail.com> * Remove (now unneeded) scala from arbiter UI Signed-off-by: AlexDBlack <blacka101@gmail.com> * Move vertx version to parent pom Signed-off-by: AlexDBlack <blacka101@gmail.com> * Switch template loading from classpath to a more reliable mechanism Signed-off-by: AlexDBlack <blacka101@gmail.com> * Small fix for I18N message loading Signed-off-by: AlexDBlack <blacka101@gmail.com> * Switch to shaded jackson for UI module JSON conversion Signed-off-by: AlexDBlack <blacka101@gmail.com> * Small test tweaks and copyright header fix Signed-off-by: AlexDBlack <blacka101@gmail.com> * pom file copyright headers Signed-off-by: AlexDBlack <blacka101@gmail.com> * plugins -> pliginManagement for java 8 modules Signed-off-by: AlexDBlack <blacka101@gmail.com> * plugins -> pliginManagement for java 8 modules Signed-off-by: AlexDBlack <blacka101@gmail.com>
2019-11-22 23:50:34 +11:00
public void detach(StatsStorage statsStorage) {
2019-06-06 15:21:15 +03:00
if (statsStorage == null)
throw new IllegalArgumentException("StatsStorage cannot be null");
if (!statsStorageInstances.contains(statsStorage))
return; //No op
boolean found = false;
DL4J UI: Migrate from Play to Vertx (#68) * Vertx transition initial steps Signed-off-by: AlexDBlack <blacka101@gmail.com> * Assets serving works Signed-off-by: AlexDBlack <blacka101@gmail.com> * Next steps Signed-off-by: AlexDBlack <blacka101@gmail.com> * Add other pages Signed-off-by: AlexDBlack <blacka101@gmail.com> * Add remaining modules Signed-off-by: AlexDBlack <blacka101@gmail.com> * Delete deeplearning4j-play module Signed-off-by: AlexDBlack <blacka101@gmail.com> * SD UI module Signed-off-by: AlexDBlack <blacka101@gmail.com> * Main UI works Signed-off-by: AlexDBlack <blacka101@gmail.com> * Multi-session UI fixed Signed-off-by: AlexDBlack <blacka101@gmail.com> * TSNE fixed Signed-off-by: AlexDBlack <blacka101@gmail.com> * Polish, fixes, re-add CLI launch option Signed-off-by: AlexDBlack <blacka101@gmail.com> * Fix remote UI functionality Signed-off-by: AlexDBlack <blacka101@gmail.com> * Final tweaks Signed-off-by: AlexDBlack <blacka101@gmail.com> * Remove Scala version suffix from deeplearning4j-ui Signed-off-by: AlexDBlack <blacka101@gmail.com> * Update Arbiter UI to vertx Signed-off-by: AlexDBlack <blacka101@gmail.com> * Missing version tag Signed-off-by: AlexDBlack <blacka101@gmail.com> * Remove (now unneeded) scala from arbiter UI Signed-off-by: AlexDBlack <blacka101@gmail.com> * Move vertx version to parent pom Signed-off-by: AlexDBlack <blacka101@gmail.com> * Switch template loading from classpath to a more reliable mechanism Signed-off-by: AlexDBlack <blacka101@gmail.com> * Small fix for I18N message loading Signed-off-by: AlexDBlack <blacka101@gmail.com> * Switch to shaded jackson for UI module JSON conversion Signed-off-by: AlexDBlack <blacka101@gmail.com> * Small test tweaks and copyright header fix Signed-off-by: AlexDBlack <blacka101@gmail.com> * pom file copyright headers Signed-off-by: AlexDBlack <blacka101@gmail.com> * plugins -> pliginManagement for java 8 modules Signed-off-by: AlexDBlack <blacka101@gmail.com> * plugins -> pliginManagement for java 8 modules Signed-off-by: AlexDBlack <blacka101@gmail.com>
2019-11-22 23:50:34 +11:00
for (Iterator<Pair<StatsStorage, StatsStorageListener>> iterator = listeners.iterator(); iterator.hasNext(); ) {
2019-06-06 15:21:15 +03:00
Pair<StatsStorage, StatsStorageListener> p = iterator.next();
if (p.getFirst() == statsStorage) { //Same object, not equality
statsStorage.deregisterStatsStorageListener(p.getSecond());
listeners.remove(p);
found = true;
}
}
statsStorageInstances.remove(statsStorage);
for (UIModule uiModule : uiModules) {
uiModule.onDetach(statsStorage);
}
for (String sessionId : statsStorage.listSessionIDs()) {
I18NProvider.removeInstance(sessionId);
}
if (found) {
log.info("StatsStorage instance detached from UI: {}", statsStorage);
}
}
@Override
public boolean isAttached(StatsStorage statsStorage) {
return statsStorageInstances.contains(statsStorage);
}
@Override
public List<StatsStorage> getStatsStorageInstances() {
return new ArrayList<>(statsStorageInstances);
}
@Override
public void enableRemoteListener() {
if (remoteReceiverModule == null)
remoteReceiverModule = new RemoteReceiverModule();
if (remoteReceiverModule.isEnabled())
return;
enableRemoteListener(new InMemoryStatsStorage(), true);
}
@Override
public void enableRemoteListener(StatsStorageRouter statsStorage, boolean attach) {
remoteReceiverModule.setEnabled(true);
remoteReceiverModule.setStatsStorage(statsStorage);
if (attach && statsStorage instanceof StatsStorage) {
attach((StatsStorage) statsStorage);
}
}
@Override
public void disableRemoteListener() {
remoteReceiverModule.setEnabled(false);
}
@Override
public boolean isRemoteListenerEnabled() {
return remoteReceiverModule.isEnabled();
}
private class StatsEventRouterRunnable implements Runnable {
@Override
public void run() {
try {
runHelper();
} catch (Exception e) {
log.error("Unexpected exception from Event routing runnable", e);
}
}
private void runHelper() throws Exception {
Update master (#8511) * cleaned up bert iterator tests (#110) Signed-off-by: eraly <susan.eraly@gmail.com> * Various pre-release fixes (#111) * Various fixes Signed-off-by: AlexDBlack <blacka101@gmail.com> * Fix default dtypes for MaxPoolWithArgmax Signed-off-by: AlexDBlack <blacka101@gmail.com> * Small pre-release tweak (#112) * Log UI address on launch as in previous Play-based UI Signed-off-by: AlexDBlack <blacka101@gmail.com> * Logging level tweak for UI Signed-off-by: AlexDBlack <blacka101@gmail.com> * http not https Signed-off-by: AlexDBlack <blacka101@gmail.com> * datavec python ensure host (#113) * ensure host * one more host ensure * info->debug * [WIP] reverse improvements (#115) * initial commit Signed-off-by: raver119 <raver119@gmail.com> * reverse draft Signed-off-by: raver119 <raver119@gmail.com> * reverse kernel Signed-off-by: raver119 <raver119@gmail.com> * reverse kernel Signed-off-by: raver119 <raver119@gmail.com> * 2 micro fixes Signed-off-by: raver119 <raver119@gmail.com> * Shugeo resize fix5 (#102) * Refactored resize images ops to use TF-like bool args as input. * Refactored helpers for cpu implementation of resize_bilinear and resize_nearest_neighbor ops. * Refactored cuda implementation for image.resize_bilinear and image.resize_nearest_neighbor ops helpers. * Refactored nearest_neighbor resize op. * Added a pair of tests for special case of resize_bilinear algorithm. * Fixed issue with resize_bilinear op. * Refactored cpu implementation for helpers with resize_nearest_neighbor op. * Final fixed for resize ops to conform TF v.1.5 * Refactored cuda helpers for resize_neares_neighbor op. * Fixed resize_bilinear to accept proper data. * Fixed issue with non-float input for resize_bilinear op. * Refactored cuda helper for resize_bilinear to proper process non-float inputs. * Added tests for resize_bilinear to int inputs. * Fixed ResizeBilinear wrapper * Tests fixed * Fixed float and bool constant to avoid overflow for some kind of compilers. * Corrected float constants with float data type. * Added f suffix for float constants. * Corrected float constant to avoid overflow with initializing lists. * Corrected float initializing list with float input. * Corrected bool constant with initalizing list. * Corrected float and bool values with initializing lists. * Fixed wrong constant. * Fixed issue with 1x1 input picture for resize. * ResizeBilinear default values on import fix Signed-off-by: raver119 <raver119@gmail.com>
2019-12-06 11:10:44 +03:00
log.trace("VertxUIServer.StatsEventRouterRunnable started");
2019-06-06 15:21:15 +03:00
//Idea: collect all event stats, and route them to the appropriate modules
while (!shutdown.get()) {
List<StatsStorageEvent> events = new ArrayList<>();
StatsStorageEvent sse = eventQueue.take(); //Blocking operation
events.add(sse);
eventQueue.drainTo(events); //Non-blocking
for (UIModule m : uiModules) {
List<String> callbackTypes = m.getCallbackTypeIDs();
List<StatsStorageEvent> out = new ArrayList<>();
for (StatsStorageEvent e : events) {
if (callbackTypes.contains(e.getTypeID())
&& statsStorageInstances.contains(e.getStatsStorage())) {
out.add(e);
}
}
m.reportStorageEvents(out);
}
events.clear();
try {
Thread.sleep(uiProcessingDelay);
} catch (InterruptedException e) {
Thread.currentThread().interrupt();
if (!shutdown.get()) {
throw new RuntimeException("Unexpected interrupted exception", e);
}
}
}
}
}
/**
* Loader that attaches {@code StatsStorage} provided by {@code #statsStorageProvider} for the given session ID
*/
private class StatsStorageLoader implements Function<String, Boolean> {
Function<String, StatsStorage> statsStorageProvider;
StatsStorageLoader(Function<String, StatsStorage> statsStorageProvider) {
this.statsStorageProvider = statsStorageProvider;
}
@Override
public Boolean apply(String sessionId) {
log.info("Loading StatsStorage via StatsStorageProvider for session ID (" + sessionId + ").");
StatsStorage statsStorage = statsStorageProvider.apply(sessionId);
if (statsStorage != null) {
if (statsStorage.sessionExists(sessionId)) {
attach(statsStorage);
return true;
}
log.info("Failed to load StatsStorage via StatsStorageProvider for session ID. " +
"Session ID (" + sessionId + ") does not exist in StatsStorage.");
return false;
} else {
log.info("Failed to load StatsStorage via StatsStorageProvider for session ID (" + sessionId + "). " +
"StatsStorageProvider returned null.");
return false;
}
}
}
DL4J UI: Migrate from Play to Vertx (#68) * Vertx transition initial steps Signed-off-by: AlexDBlack <blacka101@gmail.com> * Assets serving works Signed-off-by: AlexDBlack <blacka101@gmail.com> * Next steps Signed-off-by: AlexDBlack <blacka101@gmail.com> * Add other pages Signed-off-by: AlexDBlack <blacka101@gmail.com> * Add remaining modules Signed-off-by: AlexDBlack <blacka101@gmail.com> * Delete deeplearning4j-play module Signed-off-by: AlexDBlack <blacka101@gmail.com> * SD UI module Signed-off-by: AlexDBlack <blacka101@gmail.com> * Main UI works Signed-off-by: AlexDBlack <blacka101@gmail.com> * Multi-session UI fixed Signed-off-by: AlexDBlack <blacka101@gmail.com> * TSNE fixed Signed-off-by: AlexDBlack <blacka101@gmail.com> * Polish, fixes, re-add CLI launch option Signed-off-by: AlexDBlack <blacka101@gmail.com> * Fix remote UI functionality Signed-off-by: AlexDBlack <blacka101@gmail.com> * Final tweaks Signed-off-by: AlexDBlack <blacka101@gmail.com> * Remove Scala version suffix from deeplearning4j-ui Signed-off-by: AlexDBlack <blacka101@gmail.com> * Update Arbiter UI to vertx Signed-off-by: AlexDBlack <blacka101@gmail.com> * Missing version tag Signed-off-by: AlexDBlack <blacka101@gmail.com> * Remove (now unneeded) scala from arbiter UI Signed-off-by: AlexDBlack <blacka101@gmail.com> * Move vertx version to parent pom Signed-off-by: AlexDBlack <blacka101@gmail.com> * Switch template loading from classpath to a more reliable mechanism Signed-off-by: AlexDBlack <blacka101@gmail.com> * Small fix for I18N message loading Signed-off-by: AlexDBlack <blacka101@gmail.com> * Switch to shaded jackson for UI module JSON conversion Signed-off-by: AlexDBlack <blacka101@gmail.com> * Small test tweaks and copyright header fix Signed-off-by: AlexDBlack <blacka101@gmail.com> * pom file copyright headers Signed-off-by: AlexDBlack <blacka101@gmail.com> * plugins -> pliginManagement for java 8 modules Signed-off-by: AlexDBlack <blacka101@gmail.com> * plugins -> pliginManagement for java 8 modules Signed-off-by: AlexDBlack <blacka101@gmail.com>
2019-11-22 23:50:34 +11:00
//==================================================================================================================
// CLI Launcher
@Data
private static class CLIParams {
@Parameter(names = {"-r", "--enableRemote"}, description = "Whether to enable remote or not", arity = 1)
private boolean cliEnableRemote;
@Parameter(names = {"-p", "--uiPort"}, description = "Custom HTTP port for UI", arity = 1)
private int cliPort = DEFAULT_UI_PORT;
@Parameter(names = {"-f", "--customStatsFile"}, description = "Path to create custom stats file (remote only)", arity = 1)
private String cliCustomStatsFile;
@Parameter(names = {"-m", "--multiSession"}, description = "Whether to enable multiple separate browser sessions or not", arity = 1)
private boolean cliMultiSession;
}
public void main(String[] args){
CLIParams d = new CLIParams();
new JCommander(d).parse(args);
instancePort = d.getCliPort();
UIServer.getInstance(d.isCliMultiSession(), null);
if(d.isCliEnableRemote()){
try {
File tempStatsFile = DL4JFileUtils.createTempFile("dl4j", "UIstats");
tempStatsFile.delete();
tempStatsFile.deleteOnExit();
enableRemoteListener(new FileStatsStorage(tempStatsFile), true);
} catch(Exception e) {
log.error("Failed to create temporary file for stats storage",e);
System.exit(1);
}
}
}
2019-06-06 15:21:15 +03:00
}