«Поддерживаются только абсолютные URL» при загрузке модели Keras в Tensorflow.js с помощью loadLayersModel - PullRequest
2 голосов
/ 09 мая 2019

Я хочу загрузить модель Keras в Tensorflow.js из локального файла внутри сервера NodeJS, но я получаю следующую ошибку: «Поддерживаются только абсолютные URL».

let tf = require("@tensorflow/tfjs");

(async () => {
    try
    {
        const model = await tf.loadLayersModel("/path/to/model.json");
    }
    catch(error)
    {
        console.error(error);
    }
})();

Не поддерживаются ли локальные файлы с помощью loadLayersModel?

Спасибо!

1 Ответ

1 голос
/ 09 мая 2019

Документация Tensorflow указывает, что вы должны использовать прямой доступ к вашей файловой системе, используя ключевое слово file://, что-то вроде

tf.loadLayersModel("file://path/to/model.json");

Путь к модели указан относительно папки, из которой вы в данный момент вызываете функцию. Например, если указанная выше функция находится в файле в / a / b / c, а модель находится в /a/d/model.json, правильный путь - это «file: //../../d/model. JSON».

Кроме того, требуется require ('@ tenorflow / tfjs-node'), в противном случае выдается следующая ошибка: «Поддерживаются только протоколы HTTP (s)».

Полный рабочий пример:

const tf = require('@tensorflow/tfjs');
require('@tensorflow/tfjs-node');

(async () => {
    try
    {
        const model = await tf.loadLayersModel('file://relative/path/to/model.json');
    }
    catch(error)
    {
        console.error(error);
    }
})();
...