/**
|
* @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.
|
* =============================================================================
|
*/
|
/// <amd-module name="@tensorflow/tfjs-core/dist/io/weights_loader" />
|
import { NamedTensorMap } from '../tensor_types';
|
import { LoadOptions, WeightsManifestConfig } from './types';
|
/**
|
* Reads binary weights data from a number of URLs.
|
*
|
* @param fetchURLs URLs to send the HTTP requests at, using `fetch` calls.
|
* @param requestOptions RequestInit (options) for the HTTP requests.
|
* @param fetchFunc Optional overriding value for the `window.fetch` function.
|
* @param onProgress Optional, progress callback function, fired periodically
|
* before the load is completed.
|
* @returns A `Promise` of an Array of `ArrayBuffer`. The Array has the same
|
* length as `fetchURLs`.
|
*/
|
export declare function loadWeightsAsArrayBuffer(fetchURLs: string[], loadOptions?: LoadOptions): Promise<ArrayBuffer[]>;
|
export declare function streamWeights(fetchURLs: string[], loadOptions: LoadOptions): ReadableStream<ArrayBuffer>;
|
/**
|
* Reads a weights manifest JSON configuration, fetches the weights and
|
* returns them as `Tensor`s.
|
*
|
* @param manifest The weights manifest JSON.
|
* @param filePathPrefix The path prefix for filenames given in the manifest.
|
* Defaults to the empty string.
|
* @param weightNames The names of the weights to be fetched.
|
*/
|
export declare function loadWeights(manifest: WeightsManifestConfig, filePathPrefix?: string, weightNames?: string[], requestInit?: RequestInit): Promise<NamedTensorMap>;
|
/**
|
* Creates a function, which reads a weights manifest JSON configuration,
|
* fetches the weight files using the specified function and returns them as
|
* `Tensor`s.
|
*
|
* ```js
|
* // example for creating a nodejs weight loader, which reads the weight files
|
* // from disk using fs.readFileSync
|
*
|
* import * as fs from 'fs'
|
*
|
* const fetchWeightsFromDisk = (filePaths: string[]) =>
|
* filePaths.map(filePath => fs.readFileSync(filePath).buffer)
|
*
|
* const loadWeights = tf.io.weightsLoaderFactory(fetchWeightsFromDisk)
|
*
|
* const manifest = JSON.parse(
|
* fs.readFileSync('./my_model-weights_manifest').toString()
|
* )
|
* const weightMap = await loadWeights(manifest, './')
|
* ```
|
* @param fetchWeightsFunction The function used for fetching the weight files.
|
* @returns Weight loading function.
|
*/
|
export declare function weightsLoaderFactory(fetchWeightsFunction: (fetchUrls: string[]) => Promise<ArrayBuffer[]>): (manifest: WeightsManifestConfig, filePathPrefix?: string, weightNames?: string[]) => Promise<NamedTensorMap>;
|