Skip to content

Instantly share code, notes, and snippets.

@alonsoir
Created September 9, 2019 15:30
Show Gist options
  • Save alonsoir/55563b1fe3ebb07d9d89b8343b933d5c to your computer and use it in GitHub Desktop.
Save alonsoir/55563b1fe3ebb07d9d89b8343b933d5c to your computer and use it in GitHub Desktop.
I am getting this exception when i try to load the model:
java.lang.IllegalStateException: Illegal set of indices for array: need at least 1 point/interval/all/specified indices for rank 1 array ([9472]), got indices [Point(0), Interval(b=0,e=64,s=1)]
at org.nd4j.base.Preconditions.throwStateEx(Preconditions.java:641)
at org.nd4j.base.Preconditions.checkState(Preconditions.java:412)
at org.nd4j.linalg.api.ndarray.BaseNDArray.get(BaseNDArray.java:4910)
at org.deeplearning4j.nn.layers.BaseLayer.setParams(BaseLayer.java:206)
at org.deeplearning4j.nn.layers.convolution.ConvolutionLayer.setParams(ConvolutionLayer.java:483)
at com.aironman.demoFaceRecognition.service.FaceNetSmallV2Helper.loadWeights(FaceNetSmallV2Helper.java:142)
Full code is located here: https://github.com/alonsoir/demoFaceRecognition
To reproduce the problem you have to run/debug loadModel method.
I am using next dependencies:
<properties>
<java.version>1.8</java.version>
<dl4j.version>1.0.0-beta4</dl4j.version>
<ffmpeg.version>3.2.1-1.3</ffmpeg.version>
<javacv.version>1.4.1</javacv.version>
</properties>
<dependency>
<groupId>org.nd4j</groupId>
<artifactId>nd4j-native-platform</artifactId>
<version>${dl4j.version}</version>
</dependency>
<dependency>
<groupId>org.deeplearning4j</groupId>
<artifactId>deeplearning4j-core</artifactId>
<version>${dl4j.version}</version>
</dependency>
<dependency>
<groupId>org.deeplearning4j</groupId>
<artifactId>deeplearning4j-zoo</artifactId>
<version>${dl4j.version}</version>
</dependency>
<dependency>
<groupId>org.deeplearning4j</groupId>
<artifactId>deeplearning4j-modelimport</artifactId>
<version>${dl4j.version}</version>
</dependency>
I know that the problem remains here:
com.aironman.demoFaceRecognition.service.FaceNetSmallV2Model
(https://github.com/alonsoir/demoFaceRecognition/blob/master/src/main/java/com/aironman/demoFaceRecognition/service/FaceNetSmallV2Model.java)
It that class, i have this method where it breaks:
static void loadWeights(ComputationGraph computationGraph) throws IOException {
Layer[] layers = computationGraph.getLayers();
for (Layer layer : layers) {
List<double[]> all = new ArrayList<>();
String layerName = layer.conf().getLayer().getLayerName();
if (layerName.contains("bn")) {
all.add(readWightsValues(BASE + layerName + "_w.csv"));
all.add(readWightsValues(BASE + layerName + "_b.csv"));
all.add(readWightsValues(BASE + layerName + "_m.csv"));
all.add(readWightsValues(BASE + layerName + "_v.csv"));
layer.setParams(mergeAll(all));
} else if (layerName.contains("conv")) {
all.add(readWightsValues(BASE + layerName + "_b.csv"));
all.add(readWightsValues(BASE + layerName + "_w.csv"));
layer.setParams(mergeAll(all)); // BREAKS HERE!
} else if (layerName.contains("dense")) {
double[] w = readWightsValues(BASE + layerName + "_w.csv");
all.add(w);
double[] b = readWightsValues(BASE + layerName + "_b.csv");
all.add(b);
layer.setParams(mergeAll(all));
}
}
}
private static INDArray mergeAll(List<double[]> all) {
INDArray[] allArr = new INDArray[all.size()];
int index = 0;
for (double[] doubles : all) {
allArr[index++] = Nd4j.create(doubles);
}
return Nd4j.toFlattened(allArr);
}
~/D/d/s/m/r/face> cat conv1_b.csv
0.074328526854515,-0.065004885196686,0.019731981679797,-0.03164541348815,0.049864161759615,0.047465652227402,-0.062683172523975,0.044972907751799,-0.052160520106554,-0.061761725693941,0.026369612663984,-0.039822615683079,-0.068707391619682,-0.01500777900219,0.0037273904308677,-0.079713813960552,-0.061279214918613,0.04724470898509,-0.038083475083113,-0.033448062837124,0.072166487574577,0.074771963059902,0.062958501279354,0.05848179012537,0.035750649869442,-0.03879077732563,-0.016048049554229,-0.074237160384655,-0.0094126453623176,0.021401401609182,-0.022872289642692,0.066308602690697,-0.010107176378369,-0.026371361687779,-0.0013930114218965,-0.019880436360836,-0.053244985640049,-0.070416107773781,-0.060996521264315,-0.060744825750589,-0.0069606914184988,0.071597412228584,-0.078255370259285,-0.033103004097939,-0.0062247235327959,-0.071545749902725,-0.040594644844532,0.00037237466312945,-0.00041961853276007,0.074371129274368,-0.0089184977114201,-0.041675519198179,-0.014405858702958,-0.0087056122720242,-0.058029491454363,0.057333994656801,-0.024412425234914,0.056605514138937,0.045557118952274,0.052151009440422,0.012688796035945,0.054515104740858,0.021538998931646,-0.028681868687272
~/D/d/s/m/r/face> cat conv1_w.csv
0.14905615150928,0.031193917617202,0.087538994848728,-0.0048082140274346,0.090928107500076,0.09634106606245,0.10956674069166,-0.11018923670053,-0.31468334794044,-0.048853199928999,-0.013813746161759,0.14975428581238,0.29530164599419,0.30408787727356,-0.19403567910194,-0.36350479722023,-0.18662293255329,-0.017460213974118,0.32215702533722,0.47175887227058,0.30038884282112,-0.23103508353233,-0.48606976866722,-0.30163124203682,-0.18937809765339,0.29647281765938,0.44496831297874,0.25724047422409,-0.088596411049366,-0.37889078259468,-0.31466627120972,-0.2261620759964,0.27207657694817,0.31963357329369,0.21498043835163,0.14410790801048,-0.18546105921268,-0.21680469810963,-0.30749198794365,0.066602237522602,0.21936982870102,0.10629890114069,0.051362086087465,-0.12568105757236,-0.15556263923645,-0.27701357007027,-0.045568805187941,0.065719090402126,0.0016564568504691,-0.0052929990924895,-0.20380568504333,0.028499867767096,-0.11944176256657,0.045257978141308,0.028040695935488,0.00013559334911406,-0.066015847027302,-0.29703989624977,-0.17927467823029,-0.05413481965661,0.19670224189758,0.27755528688431,0.19793352484703,-0.082570962607861,-0.36594390869141,-0.19922108948231,-0.062286246567965,0.34059458971024,0.46556115150452,0.38989698886871,-0.19656422734261,-0.53888750076294,-0.390042334795,-0.15871568024158,0.3113372027874,0.44437113404274,0.34095129370689,-0.12760353088379,-0.37246429920197,-0.38116320967674,-0.10814601927996,0.31799900531769,0.35136786103249,0.23292736709118,0.083502374589443,-0.21523816883564,-0.21479642391205,-0.15603759884834,0.11334025114775,0.20955723524094,0.18844918906689,0.13599665462971,-0.019048746675253,-0.11807867139578,-0.13542887568474,0.036349959671497,0.089174017310143,0.088122636079788,-0.098422199487686,-0.11039140820503,-0.091300494968891,-0.070526815950871,0.030238235369325,0.015886971727014,0.0086170211434364,-0.16189642250538,-0.39457678794861,-0.16361004114151,-0.19295673072338,0.026536662131548,0.03540850058198,0.11689411103725,-0.069579303264618,-0.2991578578949,-0.18874505162239,-0.11734523624182,0.26184660196304,0.32284206151962,0.19789437949657,-0.13702555000782,-0.38827610015869,-0.33720430731773,-0.18267393112183,0.27002304792404,0.25829964876175,0.15625470876694,-0.068497538566589,-0.32705917954445,-0.31333413720131,-0.11023267358541,0.12542542815208,0.40732061862946,0.29760614037514,0.17867931723595,-0.093138225376606,-0.14012832939625,-0.14785206317902,0.19995452463627,0.20245851576328,0.14660510420799,0.18390755355358,0.074928186833858,-0.028445310890675,-0.15719804167747,0.092734642326832,0.19267399609089,0.1187351718545,-0.13476811349392,-0.06525556743145,0.011765637435019,-0.15020227432251,-0.12164067476988,-0.035681329667568,-0.13809360563755,-0.24087375402451,-0.27190026640892,-0.22797259688377,-0.19518287479877,-0.31591042876244,-0.27030196785927,-0.25612205266953,0.07227098941803,0.05827659368515,0.13394647836685,0.078182935714722,0.14574889838696,0.08094660192728,0.14839486777782,-0.1365325152874
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment