Как сделать tf.loadLayersModel из mobil enet v2 - PullRequest
1 голос
/ 27 января 2020
tf.loadLayersModel('https://storage.googleapis.com/tfjs-models/tfjs/mobilenet_v1_1.0_224/model.json');

работает нормально, но я бы хотел вместо этого загрузить v2. Я пробовал

tf.loadLayersModel('https://storage.googleapis.com/tfjs-models/savedmodel/mobilenet_v2_1.0_224/model.json')

, но получаю сообщение об ошибке неправильного формата слоя.

В целом, как найти предварительно преобразованные предварительно обученные модели TF JS?

1 Ответ

1 голос
/ 27 января 2020

Модель v2, найденная по указанному URL, не является форматом tf js, что приводит к ошибке. Вам потребуется использовать преобразователь tf js для преобразования сохраненной модели в формат tf js.

tf js поддерживает формат v2 на tfhub. Все доступные для скачивания модели можно найти здесь

(async() => {

const modelUrl =
   'https://tfhub.dev/google/imagenet/mobilenet_v2_140_224/classification/2';
const model = await tf.loadGraphModel(modelUrl, {fromTFHub: true})
const zeros = tf.zeros([1, 224, 224, 3]);
model.predict(zeros).print();

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