我正在使用tensorflow 2.1和ipython3。
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)
我得到的错误是: “这两个结构没有相同的嵌套结构”。我似乎无法通过模型进行测试来获取参差不齐的张量输入。我尝试过调整模型,编译选项,拟合参数等。进行调整后,我遇到的另一个错误是“元组索引超出范围”,因为对拟合的测试开始通过模型重复一个纪元。基于https://github.com/tensorflow/tensorflow/issues/35925这个线程,re:“我发现它的唯一方法是根本不使用tf.data和使用普通的Python生成器”,我想知道是否作为数据集的参差不齐的张量不存在用作tf.keras模型的输入?