Я пробую модель 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()
, и весы не были зарегистрированы, но та же проблема, он продолжает пытаться вычислить гистограмму и завершается неудачей в конце эпохи.
Есть идеи, что здесь не так?