2013-05-31 2 views
0

Я писал приложение для Android с помощью нейронной сети (NeuroPh Framework). У меня есть моя сеть готова и сохранена, а затем я портировал ее в приложение. Настоящее конфигурации библиотеки, которые я использую в приложение являетсяAndroid Neural Network InvalidClassException

  1. Encog двигатель-2.5.0.jar
  2. JOCL-0.1.3a-beta.jar
  3. neuroph.jar

код строки, в которой я загружаю моя сеть

 // R.raw.imsafe is the neural network 
     InputStream is = getResources().openRawResource(R.raw.imsafe); 

     // load neural network 
     NeuralNetwork nnet = NeuralNetwork.load(is); 

я получаю это исключение

java.io.InvalidClassException: org.neuroph.core.NeuralNetwork; 
Incompatible class (SUID): org.neuroph.core.NeuralNetwork: 
static final long serialVersionUID =5L; 
but expected org.neuroph.core.NeuralNetwork: 
static final long serialVersionUID =4L; 

Является ли это причиной версии библиотеки?

Я использовал NeuroPh Studio 2.7 для разработки сети.

+0

Вы определили 'serialVersionUID' вручную в своем классе? – Swayam

+0

Нет .. Нигде я не определил 'serialVersionUID' .. – shridatt

ответ

0

Исправлено! .. Я использовал более старую библиотеку neuroph .. обновил ее до последней версии 2.7 NeuroPh 2.7 и столкнулся с новым Исключением!

0

serialVersionUID упоминается в классе ImageNeuralData в пакете org.encog.ml.data.image \

Проверьте, если у вас уже есть этот класс в сборке.