Closed tem556 closed 1 year ago
Currently, the issue takes place on the client's side during the training stage. The specific error is below:
Exception in thread "Thread-4" java.lang.IllegalStateException: Invalid input, does not match configuration: expected [minibatch, numChannels=10, inputHeight=7, inputWidth=7] but got input array of shape [128, 10, 26, 26]
at org.deeplearning4j.nn.conf.preprocessor.CnnToFeedForwardPreProcessor.preProcess(CnnToFeedForwardPreProcessor.java:98)
at org.deeplearning4j.nn.multilayer.MultiLayerNetwork.computeGradientAndScore(MultiLayerNetwork.java:2794)
at org.deeplearning4j.nn.multilayer.MultiLayerNetwork.computeGradientAndScore(MultiLayerNetwork.java:2742)
at org.deeplearning4j.optimize.solvers.BaseOptimizer.gradientAndScore(BaseOptimizer.java:174)
at org.deeplearning4j.optimize.solvers.StochasticGradientDescent.optimize(StochasticGradientDescent.java:61)
at org.deeplearning4j.optimize.Solver.optimize(Solver.java:52)
at org.deeplearning4j.nn.multilayer.MultiLayerNetwork.fitHelper(MultiLayerNetwork.java:1753)
at org.deeplearning4j.nn.multilayer.MultiLayerNetwork.fit(MultiLayerNetwork.java:1674)
at org.deeplearning4j.nn.multilayer.MultiLayerNetwork.fit(MultiLayerNetwork.java:1661)
at com.bnnthang.fltestbed.commonutils.clients.Cifar10TrainingWorker.run(Cifar10TrainingWorker.java:64)
java.lang.NullPointerException
at com.bnnthang.fltestbed.commonutils.clients.BaseClientOperations.handleReport(BaseClientOperations.java:98)
at com.bnnthang.fltestbed.commonutils.clients.BaseClient.coordinate(BaseClient.java:121)
at com.bnnthang.fltestbed.commonutils.clients.BaseClient.serve(BaseClient.java:84)
at com.bnnthang.fltestbed.commonutils.clients.BaseClient.run(BaseClient.java:55)
The model seems to work correctly when used in outside of the FL setting. So far, I have verified that the image received by the clients' side is indeed as required. The issue could be in how the model is loaded. It may also have to with how the dataset is used.
Brief explanation of changes made: