tf.loadModel не является функцией - PullRequest
3 голосов
/ 11 марта 2019

Я классифицирую изображения с помощью Keras MobileNet и TensorFlow.js в Google Chrome. Я следовал учебному пособию.Когда я запускаю код, я получаю, что tf.loadModel не является ошибкой функции.Я загружаю модель вот так.

	model = await tf.loadModel('https://gogul09.github.io/models/mobilenet/model.json');
	model.predict();

error details

Ответы [ 2 ]

5 голосов
/ 10 мая 2019

Функция loadModel была переименована в loadLayersModel.

3 голосов
/ 11 марта 2019

Вы наблюдаете ошибку, потому что API tf.loadModel изменился в последних версиях tenorflow.js.Я мог бы заставить предсказание работать, сделав следующие изменения в проекте https://github.com/Gogul09/digit-recognizer-live:

В index.html , изменив версию на 0.10.0 вместо последней.

<script src="https://cdn.jsdelivr.net/npm/@tensorflow/tfjs@0.10.0"></script>

После внесения этого изменения я получил еще одну ошибку: "Аргумент 'b', переданный в 'div', должен быть тензором, но получил номер."

Чтобы это исправитьв app.js функция preprocessCanvas () изменяет тензор.див (255,0) на

tensor.div(tf.scalar(255.0))

В зависимости от того, используете ли вы модель MLP или CNNвнести изменения соответственно.Перезагрузите страницу, как только вы измените файл js.

Для этого проекта, https://github.com/Gogul09/mobile-net-projects, после жесткого кодирования версии tf js, прогноз не сработал, так как событие нажатия кнопки прогнозированияне срабатывал.Также для загрузки изображения.После замены этих строк в mobile-net.js прогноз работает.

Изменить

$("#predict-button").click(async function () {

на

$(document).on('click', '#predict-button', async function() { 

Изменить

$("#select-file-image").change(function() {

на

$(document).on('change', '#select-file-image', function() {
...