UNPKG

@tensorflow/tfjs-node

Version:

This repository provides native TensorFlow execution in backend JavaScript applications under the Node.js runtime, accelerated by the TensorFlow C binary under the hood. It provides the same API as [TensorFlow.js](https://js.tensorflow.org/api/latest/).

75 lines (74 loc) 3.74 kB
/** * @license * Copyright 2018 Google LLC. All Rights Reserved. * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * ============================================================================= */ import * as tf from '@tensorflow/tfjs'; export declare class NodeFileSystem implements tf.io.IOHandler { static readonly URL_SCHEME = "file://"; protected readonly path: string | string[]; readonly MODEL_JSON_FILENAME = "model.json"; readonly WEIGHTS_BINARY_FILENAME = "weights.bin"; readonly MODEL_BINARY_FILENAME = "tensorflowjs.pb"; /** * Constructor of the NodeFileSystem IOHandler. * @param path A single path or an Array of paths. * For saving: expects a single path pointing to an existing or nonexistent * directory. If the directory does not exist, it will be * created. * For loading: * - If the model has JSON topology (e.g., `tf.Model`), a single path * pointing to the JSON file (usually named `model.json`) is expected. * The JSON file is expected to contain `modelTopology` and/or * `weightsManifest`. If `weightManifest` exists, the values of the * weights will be loaded from relative paths (relative to the directory * of `model.json`) as contained in `weightManifest`. * - If the model has binary (protocol buffer GraphDef) topology, * an Array of two paths is expected: the first path should point to the * .pb file and the second path should point to the weight manifest * JSON file. */ constructor(path: string | string[]); save(modelArtifacts: tf.io.ModelArtifacts): Promise<tf.io.SaveResult>; load(): Promise<tf.io.ModelArtifacts>; protected loadBinaryModel(): Promise<tf.io.ModelArtifacts>; protected loadJSONModel(): Promise<tf.io.ModelArtifacts>; private loadWeights; /** * For each item in `this.path`, creates a directory at the path or verify * that the path exists as a directory. */ protected createOrVerifyDirectory(): Promise<void>; } export declare const nodeFileSystemRouter: (url: string | string[]) => NodeFileSystem; /** * Factory function for Node.js native file system IO Handler. * * @param path A single path or an Array of paths. * For saving: expects a single path pointing to an existing or nonexistent * directory. If the directory does not exist, it will be * created. * For loading: * - If the model has JSON topology (e.g., `tf.Model`), a single path * pointing to the JSON file (usually named `model.json`) is expected. * The JSON file is expected to contain `modelTopology` and/or * `weightsManifest`. If `weightManifest` exists, the values of the * weights will be loaded from relative paths (relative to the directory * of `model.json`) as contained in `weightManifest`. * - If the model has binary (protocol buffer GraphDef) topology, * an Array of two paths is expected: the first path should point to the * .pb file and the second path should point to the weight manifest * JSON file. */ export declare function fileSystem(path: string | string[]): NodeFileSystem;