Ошибка при использовании tenorflow loadGraphModel из подписанного URL-адреса на node.js - PullRequest
1 голос
/ 09 мая 2019

Я загрузил файл model.json моего графа тензорного потока в частный репозиторий в корзине AWS S3, и сейчас пытаюсь загрузить граф с loadGraphModel (наряду с двоичными файлами значений манифеста веса, группа1-shard1of1). Вот мой код, который я запускаю с узла (я сохранил путь к корзине и ключи подписи закрытыми)

TFJSConverter = require('@tensorflow/tfjs-converter')
const MODEL_URL = "https://[BucketName].s3.amazonaws.com/[PathToModel]/model.json?[credentials]&[securitykey]";
global.fetch = require('node-fetch')
TFJSConverter.loadGraphModel(MODEL_URL)

Однако функция loadGraphModel ищет URL модели, заканчивающийся на «.json». Если нет, он ищет полный URL-адрес модели и проверяет файл манифеста веса с именем weights_manifest.json без подписи. Затем следует запрос на ошибку:

UnhandledPromiseRejectionWarning: Ошибка: запрос на https://[BucketName].s3.amazonaws.com/[PathToModel]/model.json?[credentials]&[securitykey],https://[BucketName].s3.amazonaws.com/[PathToModel]/weights_manifest.json завершился неудачно с кодом состояния 403. Убедитесь, что этот URL-адрес указывает на модель JSON модели для загрузки.

Я проверил, что подписанный URL действительно работает, есть ли решение для подписанных URL?

Установленные версии: @ Tensorflow / tfjs-конвертер @ 1.1.2 узел v10.15.3

Большое спасибо!

1 Ответ

0 голосов
/ 09 мая 2019

Правильная библиотека для загрузки модели: tfjs, а не tfjs-converter

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

403. Ошибка - это ошибка авторизации.Попробуйте установить учетные данные в запросе, используя requestInit объекта, переданного как параметр loadGraphModel

...