Модель не проходит тестирование входных тензоров - PullRequest
0 голосов
/ 19 марта 2020

Я использую tenorflow 2.1 с i python3.

from tensorflow import keras
from tensorflow.keras import layers
import tensorflow as tf
import tensorflow_text as text


array1 = [4.378686935524456e-05, 5.838137076352723e-05, 7.29753082850948e-05, -1.751480704115238e-05, -0.00014302860654424876]

array2 = [8.178586925524456e-05, 2.638037056352723e-05, 3.49752081850948e-05]

array3 = [5.3793552445628684e-05, 1.8381229370763528e-05, 2.23082850949758e-05, -3.041157514807238e-05, -0.0006544248754302861]

array4 = [8.380704135524457e-05, 2.606544076352723e-05]

mydata = tf.ragged.constant([array1,  array2, array3, array4])

model = tf.keras.Sequential([
  tf.keras.layers.InputLayer(input_shape=(None,), dtype='float64', ragged=True),
  text.keras.layers.ToDense(pad_value=0, mask=True),   
  tf.keras.layers.Embedding(100, 16),
  tf.keras.layers.LSTM(32),
  tf.keras.layers.Dense(32, activation='relu'),
  tf.keras.layers.Dense(1, activation='sigmoid')
])

model.compile(loss='binary_crossentropy',
             optimizer='rmsprop',
              metrics=['accuracy'])

model.fit(mydata, epochs=10)

Я получаю ошибку: «Две структуры не имеют одинаковую вложенную структуру». Похоже, я не могу получить мой рваный тензорный ввод через модель для тестирования. Я попытался настроить модель, параметры компиляции, параметры подгонки и т. Д. c. Еще одна ошибка, которую я получаю после внесения корректировок, - это «Tuple Index Out of Range», поскольку тестирование на соответствие начинает повторять эпоху через модель. Исходя из этой темы, https://github.com/tensorflow/tensorflow/issues/35925, re: «Единственный способ, который я нашел, это вообще не использовать tf.data и не использовать простой генератор Python», мне интересно, не рвется ли тензорные наборы данных просто не работают как входные данные для моделей tf.keras?


...