Deeplearning4j: DL4J: UI functions on Java 8 only?

Created on 17 Nov 2019  路  5Comments  路  Source: eclipse/deeplearning4j

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

All 5 comments

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.

Was this page helpful?
0 / 5 - 0 ratings