Я решил эту проблему для дальнейшего использования, оказалось, что я не нормализовал изображения в диапазоне [-1, 1] до ввода их в модель, как это делает Mobilenet . Я не уверен, почему ResNet50 работает без нормализации.
Код нормализации:
let tensor = tf.browser.fromPixels(canvas, number_channels);
let normalizationOffset = tf.scalar(127.5);
var normalized = tensor.toFloat().sub(normalizationOffset).div(normalizationOffset);
var batched = resized.reshape([1, imgSize, imgSize, 3]);
var output = model.predict(batched) as any;