mobilenet.load()
возвращает обещание типа Mobil eNet. Вот определение интерфейса:
export interface MobileNet {
load(): Promise<void>;
infer(
img: tf.Tensor|ImageData|HTMLImageElement|HTMLCanvasElement|
HTMLVideoElement,
embedding?: boolean): tf.Tensor;
classify(
img: tf.Tensor3D|ImageData|HTMLImageElement|HTMLCanvasElement|
HTMLVideoElement,
topk?: number): Promise<Array<{className: string, probability: number}>>;
}
Загруженная модель не содержит метод save
, что вызывает ошибку.
сохранение не является функцией
Стоит ли сохранять модель? Загруженная модель не используется для обучения. Таким образом, каждый раз, когда это необходимо, его можно загрузить с помощью mobilenet.load
.
Пакет mobil enet - это просто оболочка для mobilet saveModel. Репо gitbub содержит URL другой версии mobil enet, из которой можно загрузить сохраненную модель. Модель можно загрузить локально, используя tf.loadGraphModel
. Но эта локально загруженная модель будет иметь тип tf.GraphModel
и не будет содержать методы classify
и infer
A , следующий выпуск обеспечит возможность сохранения tf.GraphModel