У меня есть модель оценщика TF с кодом следующим образом:
'' '
estimator_model = keras.estimator.model_to_estimator(keras_model=model, model_dir=outputdir)
def batchGen(features, labels):
num = 0
for i in itertools.count(0):
if(num < len(features)):
yield features[i], labels[i]
num+=1
else:
break
def newFeatureFunc(x):
x = x.decode("utf-8")
outT = tokenizer.texts_to_sequences(x, maxlen)
outT = outT.astype(np.float32)
return outT
def newLabelFunc(y):
outT = utils.to_categorical(y, nb_classes)
return outT
def train_fn_custom(features, labels, batch_size):
genSet = lambda : batchGen(features,labels)
dataset=tf.data.Dataset.from_generator(genSet,(tf.string, tf.float32),(tf.TensorShape([]), tf.TensorShape([])))
def _preprocess_function(features, labels):
output1 = tf.py_func(newFeatureFunc, [features], tf.float32)
output1.set_shape([,maxlen])
output2 = tf.py_func(newLabelFunc, [labels], tf.float32)
output2.set_shape([,nb_classes])
return output1, output2
dataset = dataset.map(_preprocess_function)
dataset = dataset.repeat(9)
dataset = dataset.batch(batch_size)
return dataset
batch_size = 1
customTrain = lambda:train_fn_custom(X1, y_train, batch_size)
estimator_model.train(input_fn=customTrain, steps=100)
'' '
Это выдает ошибку
Ошибка OP_REQUIRES при transpose_op.cc:157: Неверный аргумент: transpose ожидает вектор размера 5. Но input (1) - это вектор размера 4
Я не могу указать местоположение кода, вызывающего эту ошибку, и его значение в контексте моей оценки. Может кто-нибудь, пожалуйста, предоставьте некоторые идеи?