Small number of test fixes (#220)
* Workaround for apache solr RNG algorithm enforcement in tests Signed-off-by: AlexDBlack <blacka101@gmail.com> * DeepWalk gradient check spam reduction Signed-off-by: AlexDBlack <blacka101@gmail.com> * Timeout increase Signed-off-by: AlexDBlack <blacka101@gmail.com>master
parent
ce6848c9fe
commit
937a27ae27
|
@ -18,6 +18,8 @@ package org.deeplearning4j.nn.dataimport.solr.client.solrj.io.stream;
|
|||
|
||||
import com.carrotsearch.randomizedtesting.annotations.ThreadLeakFilters;
|
||||
import com.carrotsearch.randomizedtesting.ThreadFilter;
|
||||
|
||||
import java.security.SecureRandom;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
@ -44,6 +46,18 @@ import org.nd4j.rng.deallocator.NativeRandomDeallocator;
|
|||
})
|
||||
public class TupleStreamDataSetIteratorTest extends SolrCloudTestCase {
|
||||
|
||||
static {
|
||||
/*
|
||||
This is a hack around the backend-dependent nature of secure random implementations
|
||||
though we can set the secure random algorithm in our pom.xml files (via maven surefire and test.solr.allowed.securerandom)
|
||||
there isn't a mechanism that is completely platform independent.
|
||||
By setting it there (for example, to NativePRNG) that makes it pass on some platforms like Linux but fails on some JVMs on Windows
|
||||
For testing purposes, we don't need strict guarantees around RNG, hence we don't want to enforce the RNG algorithm
|
||||
*/
|
||||
String algorithm = new SecureRandom().getAlgorithm();
|
||||
System.setProperty("test.solr.allowed.securerandom", algorithm);
|
||||
}
|
||||
|
||||
public static class PrivateDeallocatorThreadsFilter implements ThreadFilter {
|
||||
/**
|
||||
* Reject deallocator threads over whose cleanup this test has no control.
|
||||
|
|
|
@ -66,7 +66,7 @@ public class DeepWalkGradientCheck extends BaseDL4JTest {
|
|||
for (int i = 0; i < 7; i++) {
|
||||
INDArray vector = deepWalk.getVertexVector(i);
|
||||
assertArrayEquals(new long[] {vectorSize}, vector.shape());
|
||||
System.out.println(Arrays.toString(vector.dup().data().asFloat()));
|
||||
// System.out.println(Arrays.toString(vector.dup().data().asFloat()));
|
||||
}
|
||||
|
||||
GraphWalkIterator<String> iter = new RandomWalkIterator<>(graph, 8);
|
||||
|
@ -182,10 +182,10 @@ public class DeepWalkGradientCheck extends BaseDL4JTest {
|
|||
|
||||
if (relError > MAX_REL_ERROR && absErr > MIN_ABS_ERROR)
|
||||
fail(msg);
|
||||
else
|
||||
System.out.println(msg);
|
||||
// else
|
||||
// System.out.println(msg);
|
||||
}
|
||||
System.out.println();
|
||||
// System.out.println();
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -216,7 +216,7 @@ public class DeepWalkGradientCheck extends BaseDL4JTest {
|
|||
for (int i = 0; i < nVertices; i++) {
|
||||
INDArray vector = deepWalk.getVertexVector(i);
|
||||
assertArrayEquals(new long[] {vectorSize}, vector.shape());
|
||||
System.out.println(Arrays.toString(vector.dup().data().asFloat()));
|
||||
// System.out.println(Arrays.toString(vector.dup().data().asFloat()));
|
||||
}
|
||||
|
||||
GraphWalkIterator<String> iter = new RandomWalkIterator<>(graph, 10);
|
||||
|
@ -295,8 +295,8 @@ public class DeepWalkGradientCheck extends BaseDL4JTest {
|
|||
|
||||
if (relError > MAX_REL_ERROR && absErr > minAbsError)
|
||||
fail(msg);
|
||||
else
|
||||
System.out.println(msg);
|
||||
// else
|
||||
// System.out.println(msg);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -18,6 +18,7 @@ package org.deeplearning4j.nn.modelexport.solr.handler;
|
|||
|
||||
import java.io.File;
|
||||
import java.nio.file.Path;
|
||||
import java.security.SecureRandom;
|
||||
|
||||
import com.carrotsearch.randomizedtesting.ThreadFilter;
|
||||
import com.carrotsearch.randomizedtesting.annotations.ThreadLeakFilters;
|
||||
|
@ -49,6 +50,19 @@ import org.nd4j.rng.deallocator.NativeRandomDeallocator;
|
|||
})
|
||||
public class ModelTupleStreamIntegrationTest extends SolrCloudTestCase {
|
||||
|
||||
static {
|
||||
/*
|
||||
This is a hack around the backend-dependent nature of secure random implementations
|
||||
though we can set the secure random algorithm in our pom.xml files (via maven surefire and test.solr.allowed.securerandom)
|
||||
there isn't a mechanism that is completely platform independent.
|
||||
By setting it there (for example, to NativePRNG) that makes it pass on some platforms like Linux but fails on some JVMs on Windows
|
||||
For testing purposes, we don't need strict guarantees around RNG, hence we don't want to enforce the RNG algorithm
|
||||
*/
|
||||
String algorithm = new SecureRandom().getAlgorithm();
|
||||
System.setProperty("test.solr.allowed.securerandom", algorithm);
|
||||
}
|
||||
|
||||
|
||||
public static class PrivateDeallocatorThreadsFilter implements ThreadFilter {
|
||||
/**
|
||||
* Reject deallocator threads over whose cleanup this test has no control.
|
||||
|
|
|
@ -19,6 +19,7 @@ package org.deeplearning4j.nn.modelexport.solr.handler;
|
|||
import java.io.File;
|
||||
import java.nio.file.Files;
|
||||
import java.nio.file.Path;
|
||||
import java.security.SecureRandom;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
@ -58,6 +59,18 @@ import org.nd4j.linalg.lossfunctions.LossFunctions;
|
|||
|
||||
public class ModelTupleStreamTest {
|
||||
|
||||
static {
|
||||
/*
|
||||
This is a hack around the backend-dependent nature of secure random implementations
|
||||
though we can set the secure random algorithm in our pom.xml files (via maven surefire and test.solr.allowed.securerandom)
|
||||
there isn't a mechanism that is completely platform independent.
|
||||
By setting it there (for example, to NativePRNG) that makes it pass on some platforms like Linux but fails on some JVMs on Windows
|
||||
For testing purposes, we don't need strict guarantees around RNG, hence we don't want to enforce the RNG algorithm
|
||||
*/
|
||||
String algorithm = new SecureRandom().getAlgorithm();
|
||||
System.setProperty("test.solr.allowed.securerandom", algorithm);
|
||||
}
|
||||
|
||||
protected List<float[]> floatsList(int numFloats) {
|
||||
final List<float[]> floatsList = new ArrayList<float[]>();
|
||||
final float[] floats0 = new float[numFloats];
|
||||
|
|
|
@ -34,7 +34,7 @@ public class MiscTests extends BaseDL4JTest {
|
|||
|
||||
@Override
|
||||
public long getTimeoutMilliseconds() {
|
||||
return 120000L;
|
||||
return 240000L;
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
Loading…
Reference in New Issue