Running the Code:
`import org.deeplearning4j.ui.api.UIServer;
public class Test {
public static void main(String[] args) {
UIServer uiServer = UIServer.getInstance();
}
}`
results in:
java.lang.IllegalArgumentException: Don't know how to bind argument of type class net.jodah.typetools.TypeResolver$Unknown
at play.routing.RoutingDsl.pathBindableFor(RoutingDsl.java:290)
at play.routing.RoutingDsl.with(RoutingDsl.java:239)
at play.routing.RoutingDsl.access$000(RoutingDsl.java:91)
at play.routing.RoutingDsl$PathPatternMatcher.build(RoutingDsl.java:553)
at play.routing.RoutingDsl$PathPatternMatcher.routingTo(RoutingDsl.java:360)
at org.deeplearning4j.ui.play.PlayUIServer.createRouter(PlayUIServer.java:245)
at play.core.server.JavaServerHelper$$anon$4.router(Server.scala:331)
at play.BuiltInComponentsFromContext.createHttpRequestHandler(BuiltInComponentsFromContext.java:217)
at play.libs.F$LazySupplier.get(F.java:372)
at play.BuiltInComponentsFromContext.httpRequestHandler(BuiltInComponentsFromContext.java:205)
at play.BuiltInComponentsFromContext.createApplication(BuiltInComponentsFromContext.java:138)
at play.libs.F$LazySupplier.get(F.java:372)
at play.BuiltInComponentsFromContext.application(BuiltInComponentsFromContext.java:125)
at play.core.server.JavaServerHelper$.forRouter(Server.scala:330)
at play.core.server.JavaServerHelper.forRouter(Server.scala)
at play.server.Server$Builder.build(Server.java:231)
at play.server.Server.forRouter(Server.java:135)
at org.deeplearning4j.ui.play.PlayUIServer.runMain(PlayUIServer.java:194)
at org.deeplearning4j.ui.api.UIServer.getInstance(UIServer.java:67)
at org.deeplearning4j.ui.api.UIServer.getInstance(UIServer.java:45)
Attached is the pom file (as .txt to make it uploadable).
pom.txt
The UI currently has the limitation that it only works on Java 8. You will have to install java 8 (e.g. from https://adoptopenjdk.net/?variant=openjdk8&jvmVariant=hotspot) if you want to use it.
That solved it. Thanks a lot!
I'll reopen this. we've had occasional reports of exactly this issue but I had been unable to track it back to the underlying cause based on those reports.
A Java 8 limitation for the UI (both minimum, due to Play, and maximum, due to this issue) is IMO unacceptable, and needs to be fixed.
@Storm-cev what java (distribution + version) specifically were you using, both originally and now?
Original Java Version: Java SE 13.0.1
Now: Java SE Runtime Environment 8u202
I've merged a PR here that replaces the Play framework with Vertx
https://github.com/KonduitAI/deeplearning4j/pull/68
Note that there is no user-facing API changes. However, there were some changes in module names:
deeplearning4j-ui_2.1x -> deeplearning4j-ui
deeplearning4j-play_2.1x gone
deeplearning4j-vertx added
No more UI scala dependency here.
All existing modules, listeners etc still work as before, it should be a seamless internal change for users.
It will be merged to eclipse/deeplearning4j shortly, and should be on snapshots soon after that.