Тип данных, введенный в модель tflite, не совпадает - PullRequest
0 голосов
/ 30 марта 2019

Я сделал следующую модель SimpleRNN с Python.

python
#Omit
Xtest = np.zeros((1, 10, 1102))
#Omit
pred = model.predict(Xtest, verbose=0)[0]

Как видите, я использовал трехмерный массив целых чисел в качестве входных данных для модели.

Затем я портировалэта модель для андроида как .tflite.В приведенном ниже коде часть, называемая tfliteModel, соответствует.

kotlin
Interpreter(tfliteModel!!).use { interpreter ->
    val input_onehot = Array(1) { Array(10) {Array<Int>(1102) {0} } }
    val output = Array(1) {Array<Float>(1102) { 0F } }
    //some operation like making it a one hot vector
    interpreter.run(input_onehot, output)
}

Но в Android Studio возникла ошибка, подобная этой:

Caused by: java.lang.IllegalArgumentException: DataType error: cannot resolve DataType of [[[Ljava.lang.Integer;

Почему возникает эта ошибка?Как я могу загрузить свой целочисленный массив в мою модель?

Я использовал этот сайт в качестве ссылки.Но это относится к изображению, а не к НЛП ・ ・ ・

1 Ответ

0 голосов
/ 31 марта 2019

Не знаю почему, но я решил это, читая как float вместо int. Я использовал np.int32 ・ ・ ・ Возможно, int32 от numpy и Int32 от kotlin могут быть несовместимы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...