These are chat archives for deeplearning4j/deeplearning4j/earlyadopters

29th
Sep 2017
cpuheater
@cpuheater
Sep 29 2017 06:26

I want to build nd4s from sources but it's failing to resolve dependency

public: tried
[warn] https://repo1.maven.org/maven2/org/nd4j/nd4j-native/0.9.2-SNAPSHOT/nd4j-native-0.9.2-SNAPSHOT-macosx-x86_64.jar

it's failing while trying to download nd4j-native for other architecture like macosx or android
I do not need them to build nd4s , there is a way to specify architecture ?

raver119
@raver119
Sep 29 2017 06:27
you probably have nd4j-native-platform dependency somewhere
swap it to nd4j-native
cpuheater
@cpuheater
Sep 29 2017 06:39
it works !
raver119
@raver119
Sep 29 2017 06:40
cool
cpuheater
@cpuheater
Sep 29 2017 09:56

I'm trying to run tests in nd4s project but getting org.nd4j.linalg.factory.Nd4jBackend$NoAvailableBackendException

but "org.nd4j" % "nd4j-native" % nd4jVersion.value % Test classifier "linux-x86_64" is deinfed in sbt

Samuel Audet
@saudet
Sep 29 2017 10:02
your sbt might be stripping some resources from the JAR files
cpuheater
@cpuheater
Sep 29 2017 10:29
how this is possible that version 0.9.1 of nd4s was created but at the same time ComplexNDArrayEvidence was removed from the project and without this class tests won't pass
raver119
@raver119
Sep 29 2017 10:32
nd4j doesn't support complex numbers since last year
and they aren't used anywhere
cpuheater
@cpuheater
Sep 29 2017 10:32
but tests are sill there
raver119
@raver119
Sep 29 2017 10:33
can you point me?
raver119
@raver119
Sep 29 2017 10:39
ah.
scala.
if scala tests support that - just put ignore there.
and file an issue please
cpuheater
@cpuheater
Sep 29 2017 10:44
ok
cpuheater
@cpuheater
Sep 29 2017 11:14
there are other compilation errors in nd4s like:
def op(origin: IComplexNumber, other: Double): IComplexNumber method is defined in BaseOp class and LeftAssociativeBinaryOp trait, so the compiler complains that it needs to explicitly selected which implementation to use , to make it work I just forced to use implementation from LeftAssociativeBinaryOp like this: super[LeftAssociativeBinaryOp].op(origin, other), do you know how it should be solved ?
raver119
@raver119
Sep 29 2017 11:15
everything that uses complex numbers is safe to ignore. nd4j (primary library) doesn't have this functionality at this moment
mostly because nobody needs it.
cpuheater
@cpuheater
Sep 29 2017 11:16
there are several methods not only with Complex numbers like : override def op(origin: Double, other: Double): Double = super[LeftAssociativeBinaryOp].op(origin, other)
there are defined in two different classes
raver119
@raver119
Sep 29 2017 11:18
point me to the file
cpuheater
@cpuheater
Sep 29 2017 11:20
for example this https://github.com/deeplearning4j/nd4s/blob/master/src/main/scala/org/nd4s/ops/MapOps.scala it extends from BaseOp and from LeftAssociativeBinaryOp and method def op(origin: Double, other: Double): Double is defined in both
raver119
@raver119
Sep 29 2017 11:25
sorry, i'm not aware of this op. there's no such a thing in ND4j :/
maybe @agibsonccc or @huitseeker know what's that
i mean
it's just a converter
but i don't know where/how it's used etc
cpuheater
@cpuheater
Sep 29 2017 11:27
I know how to fix it, by explicitly invoking one implementation super[LeftAssociativeBinaryOp].op(origin, other), I just do no know if that it's the best solution
François Garillot
@huitseeker
Sep 29 2017 17:32
@cpuheater @raver119 happy to take a stab at it
cpuheater
@cpuheater
Sep 29 2017 17:42
@huitseeker maybe you have an idea why I'm getting Nd4jBackend$NoAvailableBackendException while running tests in Nd4s event though it is declared in sbt like this
"org.nd4j" % "nd4j-native" % nd4jVersion.value % Test classifier "linux-x86_64",