Assignment 2 : Neural network bits fail with java.lang.IndexOutOfBoundsException
See original GitHub issueRunning the following files with Jython throws an Index out of bounds error (when using CreditApprovalData or PenDigitsData).
- NN-Backprop.py
- NN-GA.py
- NN-RHC.py
- NN-SA.py
$ jython NN-Backprop.py
Using seed 653091685
Error results for Backprop
Traceback (most recent call last): File “NN-Backprop.py”, line 48, in <module> main() File “NN-Backprop.py”, line 38, in main train(BatchBackPropagationTrainer(data_set, classification_network, measure, rule), classification_network, File “/CS-7641-assignments/assignment2/base.py”, line 132, in train oa.train() at java.base/jdk.internal.util.Preconditions.outOfBounds(Preconditions.java:64) at java.base/jdk.internal.util.Preconditions.outOfBoundsCheckIndex(Preconditions.java:70) at java.base/jdk.internal.util.Preconditions.checkIndex(Preconditions.java:248) at java.base/java.util.Objects.checkIndex(Objects.java:372) at java.base/java.util.ArrayList.get(ArrayList.java:440) at func.nn.Layer.getNode(Layer.java:43) at func.nn.Layer.setActivations(Layer.java:60) at func.nn.LayeredNetwork.setInputValues(LayeredNetwork.java:53) at func.nn.backprop.BatchBackPropagationTrainer.train(BatchBackPropagationTrainer.java:46) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:564)
java.lang.IndexOutOfBoundsException: java.lang.IndexOutOfBoundsException: Index 8 out-of-bounds for length 8 `
Issue Analytics
- State:
- Created 5 years ago
- Comments:5 (2 by maintainers)
Top GitHub Comments
@timuster and @sw-yx I’ve updated the readme, let me know if you have more to add.
If I’m following correctly you’re saying the
INPUT_LAYER
andOUTPUT_LAYER
settings have to be changed for the data sets and that’s not clear in the readme? If so feel free to open a PR. An alternative might be to updatebase.py
in order specify these settings in one place, similar to howDS_NAME
is set there. In fact all those layer settings should probably be inbase.py
…