Я пытаюсь выполнить приведенную ниже eval_fn
функцию в графическом режиме,
@tf.function
def eval_fn(model, valid_data, batch_size, alphabet):
steps = len(valid_data) // batch_size
for step in range(steps):
batch_data = next(valid_data.next_batch())
batch_x = batch_data['inputs']
gt_text = batch_data['gt_text']
output = model(batch_x)
output = tf.nn.log_softmax(output)
for idx in range(output.shape[0]):
pred = output[idx]
output_text = ''
for timestep in pred:
label = tf.math.argmax(timestep)
output_text += alphabet[label]
print(f"Predicted text: {output_text}")
print(f"Original text : {gt_text[idx]}")
Но я получил следующую ошибку
TypeError: len is not well defined for symbolic Tensors. (transpose:0) Please call `x.shape` rather than `len(x)` for shape information.
Когда я запускаю эту же функцию без декоратора @tf.function
работает без ошибок. Что может быть причиной. Я использую
>>> tf.__version__
'2.1.0'
>>>
Я проверяю решение , но оно не работает со мной
Спасибо