как передать несколько тензоров в model.predict в тензорном потоке. js - PullRequest
0 голосов
/ 16 марта 2020

Я пытаюсь использовать тензор потока. js для запуска модели, которую я создал в python. Эта модель имеет два входных тензора, один из которых [1, 60], а другой из [1, 60, 1]. Я делаю это:

    var array1 = new Array(60).fill(0);
    var tensor1 = tf.tensor(arr1, [1, 60);
    var array2 = new Array(60).fill(1);
    var tensor2 = tf.tensor(arr2, [1, 60, 1]);

    var tensorResult = model.predict([tensor1, tensor2]);

Но мне выдается следующее сообщение:

Ошибка: ошибка при проверке модели: массив тензоров, который вы передаете своей модели, не тот размер, который ожидала модель. Ожидается увидеть 2 Тензор (ы), но вместо этого получил 1 Тензор (ы).

model.summary ():

__________________________________________________________________________________________________
Layer (type)                    Output shape         Param #     Receives inputs                 
==================================================================================================
l_word (InputLayer)             [null,60]            0                                           
__________________________________________________________________________________________________
l_embWord (Embedding)           [null,60,300]        164395500   l_word[0][0]                    
__________________________________________________________________________________________________
l_company (InputLayer)          [null,60,1]          0                                         
__________________________________________________________________________________________________
l_concat (Concatenate)          [null,60,301]        0           l_embWord[0][0]                 
                                                                 l_company[0][0]                 
__________________________________________________________________________________________________
l_bLstm (Bidirectional)         [null,128]           187392      l_concat[0][0]                  
__________________________________________________________________________________________________
l_dense (Dense)                 [null,16]            2064        l_bLstm[0][0]                   
__________________________________________________________________________________________________
l_dropout (Dropout)             [null,16]            0           l_dense[0][0]                   
__________________________________________________________________________________________________
l_softmax (Dense)               [null,3]             51          l_dropout[0][0]                 
==================================================================================================
Total params: 164585007
Trainable params: 189507
Non-trainable params: 164395500
__________________________________________________________________________________________________

В python, следующие работы идеально для меня:

    model.predict([tensor1, tensor2])

Буду признателен за любой вклад.

Спасибо!

1 Ответ

0 голосов
/ 19 марта 2020

Ошибка говорит само за себя.

Массив тензоров, который вы передаете своей модели, не соответствует размеру, ожидаемому моделью.

Форма тензоров, передаваемых в качестве входных данных для моделей, не соответствует модели, ожидаемой моделью

...