-
-
Save jgao1025/bbb48d7bc22ca99f7e60b692620e5ff3 to your computer and use it in GitHub Desktop.
deeplearning4j exception and code
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
| package org.mydeeplearning4j.pic.detection; | |
| import org.canova.api.records.reader.RecordReader; | |
| import org.canova.api.split.FileSplit; | |
| import org.canova.image.recordreader.ImageRecordReader; | |
| import org.deeplearning4j.datasets.canova.RecordReaderDataSetIterator; | |
| import org.deeplearning4j.datasets.iterator.DataSetIterator; | |
| import org.deeplearning4j.nn.api.OptimizationAlgorithm; | |
| import org.deeplearning4j.nn.conf.MultiLayerConfiguration; | |
| import org.deeplearning4j.nn.conf.NeuralNetConfiguration; | |
| import org.deeplearning4j.nn.conf.Updater; | |
| import org.deeplearning4j.nn.conf.layers.ConvolutionLayer; | |
| import org.deeplearning4j.nn.conf.layers.DenseLayer; | |
| import org.deeplearning4j.nn.conf.layers.OutputLayer; | |
| import org.deeplearning4j.nn.conf.layers.SubsamplingLayer; | |
| import org.deeplearning4j.nn.conf.layers.setup.ConvolutionLayerSetup; | |
| import org.deeplearning4j.nn.multilayer.MultiLayerNetwork; | |
| import org.deeplearning4j.nn.weights.WeightInit; | |
| import org.deeplearning4j.optimize.listeners.ScoreIterationListener; | |
| import org.nd4j.linalg.lossfunctions.LossFunctions; | |
| import org.slf4j.Logger; | |
| import org.slf4j.LoggerFactory; | |
| import java.io.File; | |
| import java.util.ArrayList; | |
| import java.util.List; | |
| /** | |
| * Created by bottles on 3/31/2016. | |
| */ | |
| public class convoltest { | |
| private static final Logger log = LoggerFactory.getLogger(convoltest.class); | |
| public static void main(String[] args) throws Exception { | |
| int nChannels = 1; | |
| int outputNum = 10; | |
| int batchSize = 1000; | |
| int nEpochs = 10; | |
| int iterations = 1; | |
| int seed = 123; | |
| final int numRows = 28; | |
| final int numColumns = 28; | |
| // Set path to the labeled images. in world cup, there is only a 28*28 pixels jpg image. | |
| String labeledPath = "C:\\Users\\Public\\Pictures\\world cup"; | |
| //create array of strings called labels | |
| List<String> labels = new ArrayList<>(); | |
| //traverse dataset to get each label | |
| for(File f : new File(labeledPath).listFiles()) { | |
| labels.add(f.getName()); | |
| } | |
| // Instantiating RecordReader. Specify height and width of images. | |
| RecordReader recordReader = new ImageRecordReader(numRows, numColumns, true, labels); | |
| // Point to data path. | |
| recordReader.initialize(new FileSplit(new File(labeledPath))); | |
| DataSetIterator mnistTrain = new RecordReaderDataSetIterator(recordReader, numRows*numColumns, labels.size()); | |
| log.info("Build model...."); | |
| MultiLayerConfiguration.Builder builder = new NeuralNetConfiguration.Builder() | |
| .seed(seed) | |
| .iterations(iterations) | |
| .regularization(true).l2(0.0005) | |
| .learningRate(0.01) | |
| .weightInit(WeightInit.XAVIER) | |
| .optimizationAlgo(OptimizationAlgorithm.STOCHASTIC_GRADIENT_DESCENT) | |
| .updater(Updater.NESTEROVS).momentum(0.9) | |
| .list(4) | |
| .layer(0, new ConvolutionLayer.Builder(5, 5) | |
| .nIn(nChannels) | |
| .stride(1, 1) | |
| .nOut(20).dropOut(0.5) | |
| .activation("relu") | |
| .build()) | |
| .layer(1, new SubsamplingLayer.Builder(SubsamplingLayer.PoolingType.MAX) | |
| .kernelSize(2,2) | |
| .stride(2,2) | |
| .build()) | |
| .layer(2, new DenseLayer.Builder().activation("relu") | |
| .nOut(500).build()) | |
| .layer(3, new OutputLayer.Builder(LossFunctions.LossFunction.NEGATIVELOGLIKELIHOOD) | |
| .nOut(outputNum) | |
| .activation("softmax") | |
| .build()) | |
| .backprop(true).pretrain(false); | |
| new ConvolutionLayerSetup(builder,numRows, numColumns,1); | |
| MultiLayerConfiguration conf = builder.build(); | |
| MultiLayerNetwork model = new MultiLayerNetwork(conf); | |
| model.init(); | |
| log.info("Train model...."); | |
| model.setListeners(new ScoreIterationListener(1)); | |
| model.fit(mnistTrain); //exception created here | |
| log.info("****************Example finished********************"); | |
| } | |
| } |
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
| Exception in thread "main" java.lang.IllegalArgumentException: Shapes do not match: x.shape=[1, 10], y.shape=[1, 3] | |
| at org.nd4j.linalg.api.parallel.tasks.cpu.CPUTaskFactory.getTransformAction(CPUTaskFactory.java:92) | |
| at org.nd4j.linalg.api.ops.executioner.DefaultOpExecutioner.doTransformOp(DefaultOpExecutioner.java:409) | |
| at org.nd4j.linalg.api.ops.executioner.DefaultOpExecutioner.exec(DefaultOpExecutioner.java:62) | |
| at org.nd4j.linalg.api.ndarray.BaseNDArray.subi(BaseNDArray.java:2660) | |
| at org.nd4j.linalg.api.ndarray.BaseNDArray.subi(BaseNDArray.java:2641) | |
| at org.nd4j.linalg.api.ndarray.BaseNDArray.sub(BaseNDArray.java:2419) | |
| at org.deeplearning4j.nn.layers.BaseOutputLayer.getGradientsAndDelta(BaseOutputLayer.java:154) | |
| at org.deeplearning4j.nn.layers.BaseOutputLayer.backpropGradient(BaseOutputLayer.java:133) | |
| at org.deeplearning4j.nn.multilayer.MultiLayerNetwork.calcBackpropGradients(MultiLayerNetwork.java:1224) | |
| at org.deeplearning4j.nn.multilayer.MultiLayerNetwork.backprop(MultiLayerNetwork.java:1178) | |
| at org.deeplearning4j.nn.multilayer.MultiLayerNetwork.computeGradientAndScore(MultiLayerNetwork.java:1753) | |
| at org.deeplearning4j.optimize.solvers.BaseOptimizer.gradientAndScore(BaseOptimizer.java:132) | |
| at org.deeplearning4j.optimize.solvers.StochasticGradientDescent.optimize(StochasticGradientDescent.java:56) | |
| at org.deeplearning4j.optimize.Solver.optimize(Solver.java:52) | |
| at org.deeplearning4j.nn.multilayer.MultiLayerNetwork.fit(MultiLayerNetwork.java:1168) | |
| at org.mydeeplearning4j.pic.detection.convoltest.main(convoltest.java:101) | |
| at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) | |
| at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) | |
| at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) | |
| at java.lang.reflect.Method.invoke(Method.java:497) | |
| at com.intellij.rt.execution.application.AppMain.main(AppMain.java:144) | |
| Process finished with exit code 1 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment