Обратный вызов W & B Keras TypeError: ufun c 'isfinite' не поддерживается для типов ввода - PullRequest
0 голосов
/ 20 января 2020

Я пробую модель TF, где в качестве входных данных используется ввод тензора строки, моя модель содержит слой TextVectorization для обработки текста, который доступен в TF 2.2.

Обучение не выполнено в обратном вызове W & B со следующей ошибкой

TypeError: ufunc 'isfinite' not supported for the input types, and the inputs could not be safely coerced to any supported types according to the casting rule ''safe'' 

При отладке я обнаружил, что проблема заключается в гистограммах вычисления весов

> /usr/local/lib/python3.6/dist-packages/numpy/lib/histograms.py(325)_get_outer_edges()
    323     else:
    324         first_edge, last_edge = a.min(), a.max()
--> 325         if not (np.isfinite(first_edge) and np.isfinite(last_edge)):
    326             raise ValueError(
    327                 "autodetected range of [{}, {}] is not finite".format(first_edge, last_edge))
ipdb> first_edge
b'0'
ipdb> last_edge
b'zurich'
ipdb> np.isfinite('0')
*** TypeError: ufunc 'isfinite' not supported for the input types, and the inputs could not be safely coerced to any supported types according to the casting rule ''safe''

Вот как я настраиваю обратный вызов W & B и запускаю обучение

wandb_callback = wandb.keras.WandbCallback(log_weights=True)
model.compile(optimizer='adam', loss='sparse_categorical_crossentropy')
model.fit(train_ds, validation_data=valid_ds, epochs=config.epochs, shuffle=True, verbose=1, callbacks=[wandb_callback])

Я попытался создать обратный вызов с помощью wandb.keras.WandbCallback(), и весы не были зарегистрированы, но та же проблема, он продолжает пытаться вычислить гистограмму и завершается неудачей в конце эпохи.

Есть идеи, что здесь не так?

1 Ответ

0 голосов
/ 24 января 2020

Можете ли вы поделиться своим реальным кодом модели? Похоже, сама модель содержит строковые тензоры. Обычно вы должны преобразовать строки во встраивание перед тем, как проходить через сеть. Вы используете TensorFlow 2?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...