UNPKG

@energetic-ai/core

Version:

EnergeticAI is TensorFlow.js, optimized for serverless environments, with fast cold-start, small module size, and great usability.

74 lines (73 loc) 3.69 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-core"; 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"; /** * 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;