Created
September 9, 2019 15:30
-
-
Save alonsoir/55563b1fe3ebb07d9d89b8343b933d5c to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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