update tfjs

pull/293/head
Vladimir Mandic 2022-07-23 14:45:40 -04:00
parent 4ce7fa22a0
commit 0ea4edf39c
25 changed files with 10811 additions and 11243 deletions

View File

@ -11,6 +11,7 @@
### **HEAD -> main** 2022/07/21 mandic00@live.com
- release cleanup
- tflite experiments
- add load monitor test
- beta for upcoming major release

41
dist/human.d.ts vendored
View File

@ -849,6 +849,8 @@ export declare class GraphModel<ModelURL extends Url = string | io.IOHandler> im
private initializer;
private resourceManager;
private signature;
private structuredOutputKeys;
private readonly io;
readonly modelVersion: string;
readonly inputNodes: string[];
readonly outputNodes: string[];
@ -857,6 +859,7 @@ export declare class GraphModel<ModelURL extends Url = string | io.IOHandler> im
readonly weights: NamedTensorsMap;
readonly metadata: {};
readonly modelSignature: {};
readonly modelStructuredOutputKeys: {};
/**
* @param modelUrl url for the model, or an `io.IOHandler`.
* @param weightManifestUrl url for the weight file generated by
@ -866,7 +869,7 @@ export declare class GraphModel<ModelURL extends Url = string | io.IOHandler> im
* @param onProgress Optional, progress callback function, fired periodically
* before the load is completed.
*/
constructor(modelUrl: ModelURL, loadOptions?: io.LoadOptions);
constructor(modelUrl: ModelURL, loadOptions?: io.LoadOptions, tfio?: typeof io);
private findIOHandler;
/**
* Loads the model and weight files, construct the in memory weight map and
@ -953,13 +956,14 @@ export declare class GraphModel<ModelURL extends Url = string | io.IOHandler> im
* If we are provide a batched data of 100 images, the input tensor should be
* in the shape of [100, 244, 244, 3].
*
* @param config Prediction configuration for specifying the batch size and
* output node names. Currently the batch size option is ignored for graph
* model.
* @param config Prediction configuration for specifying the batch size.
* Currently the batch size option is ignored for graph model.
*
* @returns Inference result tensors. The output would be single `tf.Tensor`
* if model has single output node, otherwise Tensor[] or NamedTensorMap[]
* will be returned for model with multiple outputs.
* @returns Inference result tensors. If the model is converted and it
* originally had structured_outputs in tensorflow, then a NamedTensorMap
* will be returned matching the structured_outputs. If no structured_outputs
* are present, the output will be single `tf.Tensor` if the model has single
* output node, otherwise Tensor[].
*
* @doc {heading: 'Models', subheading: 'Classes'}
*/
@ -1456,8 +1460,15 @@ declare interface IOHandler {
load?: LoadHandler;
}
/**
* Interface for a synchronous model import/export handler.
*
* The `save` and `load` handlers are both optional, in order to allow handlers
* that support only saving or loading.
*/
declare type IOHandlerSync = {
[K in keyof IOHandler]: Syncify<IOHandler[K]>;
save?: SaveHandlerSync;
load?: LoadHandlerSync;
};
declare type IORouter = (url: string | string[], loadOptions?: LoadOptions) => IOHandler;
@ -1514,6 +1525,11 @@ declare function load(instance: Human): Promise<void>;
*/
declare type LoadHandler = () => Promise<ModelArtifacts>;
/**
* Type definition for handlers of synchronous loading operations.
*/
declare type LoadHandlerSync = () => ModelArtifacts;
/** @innamespace io */
declare interface LoadOptions {
/**
@ -2048,8 +2064,6 @@ export declare interface PersonResult {
/** generic point as [x, y, z?] */
export declare type Point = [number, number, number?];
declare type PromiseFunction = (...args: unknown[]) => Promise<unknown>;
export declare type Race = 'white' | 'black' | 'asian' | 'indian' | 'other';
export declare enum Rank {
@ -2168,6 +2182,11 @@ declare interface SaveConfig {
*/
declare type SaveHandler = (modelArtifact: ModelArtifacts) => Promise<SaveResult>;
/**
* Type definition for handlers of synchronous saving operations.
*/
declare type SaveHandlerSync = (modelArtifact: ModelArtifacts) => SaveResult;
/**
* Result of a saving operation.
*/
@ -2247,8 +2266,6 @@ declare interface SingleValueMap {
string: string;
}
declare type Syncify<T extends PromiseFunction> = T extends (...args: infer Args) => Promise<infer R> ? (...args: Args) => R : never;
export declare namespace Tensor { }
/**

View File

@ -849,6 +849,8 @@ export declare class GraphModel<ModelURL extends Url = string | io.IOHandler> im
private initializer;
private resourceManager;
private signature;
private structuredOutputKeys;
private readonly io;
readonly modelVersion: string;
readonly inputNodes: string[];
readonly outputNodes: string[];
@ -857,6 +859,7 @@ export declare class GraphModel<ModelURL extends Url = string | io.IOHandler> im
readonly weights: NamedTensorsMap;
readonly metadata: {};
readonly modelSignature: {};
readonly modelStructuredOutputKeys: {};
/**
* @param modelUrl url for the model, or an `io.IOHandler`.
* @param weightManifestUrl url for the weight file generated by
@ -866,7 +869,7 @@ export declare class GraphModel<ModelURL extends Url = string | io.IOHandler> im
* @param onProgress Optional, progress callback function, fired periodically
* before the load is completed.
*/
constructor(modelUrl: ModelURL, loadOptions?: io.LoadOptions);
constructor(modelUrl: ModelURL, loadOptions?: io.LoadOptions, tfio?: typeof io);
private findIOHandler;
/**
* Loads the model and weight files, construct the in memory weight map and
@ -953,13 +956,14 @@ export declare class GraphModel<ModelURL extends Url = string | io.IOHandler> im
* If we are provide a batched data of 100 images, the input tensor should be
* in the shape of [100, 244, 244, 3].
*
* @param config Prediction configuration for specifying the batch size and
* output node names. Currently the batch size option is ignored for graph
* model.
* @param config Prediction configuration for specifying the batch size.
* Currently the batch size option is ignored for graph model.
*
* @returns Inference result tensors. The output would be single `tf.Tensor`
* if model has single output node, otherwise Tensor[] or NamedTensorMap[]
* will be returned for model with multiple outputs.
* @returns Inference result tensors. If the model is converted and it
* originally had structured_outputs in tensorflow, then a NamedTensorMap
* will be returned matching the structured_outputs. If no structured_outputs
* are present, the output will be single `tf.Tensor` if the model has single
* output node, otherwise Tensor[].
*
* @doc {heading: 'Models', subheading: 'Classes'}
*/
@ -1456,8 +1460,15 @@ declare interface IOHandler {
load?: LoadHandler;
}
/**
* Interface for a synchronous model import/export handler.
*
* The `save` and `load` handlers are both optional, in order to allow handlers
* that support only saving or loading.
*/
declare type IOHandlerSync = {
[K in keyof IOHandler]: Syncify<IOHandler[K]>;
save?: SaveHandlerSync;
load?: LoadHandlerSync;
};
declare type IORouter = (url: string | string[], loadOptions?: LoadOptions) => IOHandler;
@ -1514,6 +1525,11 @@ declare function load(instance: Human): Promise<void>;
*/
declare type LoadHandler = () => Promise<ModelArtifacts>;
/**
* Type definition for handlers of synchronous loading operations.
*/
declare type LoadHandlerSync = () => ModelArtifacts;
/** @innamespace io */
declare interface LoadOptions {
/**
@ -2048,8 +2064,6 @@ export declare interface PersonResult {
/** generic point as [x, y, z?] */
export declare type Point = [number, number, number?];
declare type PromiseFunction = (...args: unknown[]) => Promise<unknown>;
export declare type Race = 'white' | 'black' | 'asian' | 'indian' | 'other';
export declare enum Rank {
@ -2168,6 +2182,11 @@ declare interface SaveConfig {
*/
declare type SaveHandler = (modelArtifact: ModelArtifacts) => Promise<SaveResult>;
/**
* Type definition for handlers of synchronous saving operations.
*/
declare type SaveHandlerSync = (modelArtifact: ModelArtifacts) => SaveResult;
/**
* Result of a saving operation.
*/
@ -2247,8 +2266,6 @@ declare interface SingleValueMap {
string: string;
}
declare type Syncify<T extends PromiseFunction> = T extends (...args: infer Args) => Promise<infer R> ? (...args: Args) => R : never;
export declare namespace Tensor { }
/**

View File

@ -4,7 +4,7 @@
author: <https://github.com/vladmandic>'
*/
var J2=Object.defineProperty;var Po=Object.getOwnPropertyDescriptor;var Ro=Object.getOwnPropertyNames;var vo=Object.prototype.hasOwnProperty;var To=(e,t,o)=>t in e?J2(e,t,{enumerable:!0,configurable:!0,writable:!0,value:o}):e[t]=o;var U0=(e,t)=>{for(var o in t)J2(e,o,{get:t[o],enumerable:!0})},I1=(e,t,o,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of Ro(t))!vo.call(e,r)&&r!==o&&J2(e,r,{get:()=>t[r],enumerable:!(n=Po(t,r))||n.enumerable});return e},q=(e,t,o)=>(I1(e,t,"default"),o&&I1(o,t,"default"));var w=(e,t,o)=>(To(e,typeof t!="symbol"?t+"":t,o),o),N1=(e,t,o)=>{if(!t.has(e))throw TypeError("Cannot "+o)};var Xe=(e,t,o)=>(N1(e,t,"read from private field"),o?o.call(e):t.get(e)),qe=(e,t,o)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,o)},Ue=(e,t,o,n)=>(N1(e,t,"write to private field"),n?n.call(e,o):t.set(e,o),o);function u(...e){let t=new Date,o=`${t.getHours().toString().padStart(2,"0")}:${t.getMinutes().toString().padStart(2,"0")}:${t.getSeconds().toString().padStart(2,"0")}.${t.getMilliseconds().toString().padStart(3,"0")}`;e&&console.log(o,"Human:",...e)}function O1(e,t){let o=e.endsWith("/")?"":"/",r=t.startsWith(".")||t.startsWith("/")||t.startsWith("http:")||t.startsWith("https:")||t.startsWith("file:")?`${t}`:`${e}${o}${t}`;if(!r.toLocaleLowerCase().includes(".json"))throw new Error(`modelpath error: expecting json file: ${r}`);return r}var b=()=>typeof performance!="undefined"?performance.now():parseInt((Number(process.hrtime.bigint())/1e3/1e3).toString());function Q2(e,t,o="config",n=[]){for(let r of Object.keys(t))if(typeof t[r]=="object")Q2(e[r],t[r],r,n);else{let s=e&&typeof e[r]!="undefined";s||n.push({reason:"unknown property",where:`${o}.${r} = ${t[r]}`});let a=e&&typeof e[r]==typeof t[r];s&&!a&&n.push({reason:"property type mismatch",where:`${o}.${r} = ${t[r]}`,expected:typeof e[r]})}return t.debug&&o==="config"&&n.length>0&&u("invalid configuration",n),n}function J(...e){let t=o=>o&&typeof o=="object";return e.reduce((o,n)=>(Object.keys(n||{}).forEach(r=>{let s=o[r],a=n[r];Array.isArray(s)&&Array.isArray(a)?o[r]=s.concat(...a):t(s)&&t(a)?o[r]=J(s,a):o[r]=a}),o),{})}var se={backend:"",modelBasePath:"",cacheModels:!0,wasmPath:"",wasmPlatformFetch:!1,debug:!1,async:!0,warmup:"full",cacheSensitivity:.7,skipAllowed:!1,deallocate:!1,filter:{enabled:!0,equalization:!1,width:0,height:0,flip:!1,return:!0,brightness:0,contrast:0,sharpness:0,blur:0,saturation:0,hue:0,negative:!1,sepia:!1,vintage:!1,kodachrome:!1,technicolor:!1,polaroid:!1,pixelate:0},gesture:{enabled:!0},face:{enabled:!0,detector:{modelPath:"blazeface.json",rotation:!0,maxDetected:1,skipFrames:99,skipTime:2500,minConfidence:.2,iouThreshold:.1,mask:!1,return:!1},mesh:{enabled:!0,modelPath:"facemesh.json",keepInvalid:!1},attention:{enabled:!1,modelPath:"facemesh-attention.json"},iris:{enabled:!0,modelPath:"iris.json"},emotion:{enabled:!0,minConfidence:.1,skipFrames:99,skipTime:1500,modelPath:"emotion.json"},description:{enabled:!0,modelPath:"faceres.json",skipFrames:99,skipTime:3e3,minConfidence:.1},antispoof:{enabled:!1,skipFrames:99,skipTime:4e3,modelPath:"antispoof.json"},liveness:{enabled:!1,skipFrames:99,skipTime:4e3,modelPath:"liveness.json"}},body:{enabled:!0,modelPath:"movenet-lightning.json",maxDetected:-1,minConfidence:.3,skipFrames:1,skipTime:200},hand:{enabled:!0,rotation:!0,skipFrames:99,skipTime:1e3,minConfidence:.5,iouThreshold:.2,maxDetected:-1,landmarks:!0,detector:{modelPath:"handtrack.json"},skeleton:{modelPath:"handlandmark-full.json"}},object:{enabled:!1,modelPath:"mb3-centernet.json",minConfidence:.2,iouThreshold:.4,maxDetected:10,skipFrames:99,skipTime:2e3},segmentation:{enabled:!1,modelPath:"selfie.json",blur:8}};var A={};U0(A,{GraphModel:()=>_2,Tensor:()=>ge,version:()=>Ye});q(A,SA);q(A,CA);import*as SA from"@tensorflow/tfjs/dist/index.js";import*as CA from"@tensorflow/tfjs-backend-webgl/dist/index.js";import{Tensor as ge}from"@tensorflow/tfjs/dist/index.js";import{GraphModel as _2}from"@tensorflow/tfjs-converter/dist/index";var wo="3.18.0",ko="3.18.0",Eo="3.18.0",zo="3.18.0",So="3.18.0",Co="3.18.0",jo="3.18.0",Ye={tfjs:wo,"tfjs-core":ko,"tfjs-data":Eo,"tfjs-layers":zo,"tfjs-converter":So,"tfjs-backend-webgl":Co,"tfjs-backend-wasm":jo};var L1=`
var J2=Object.defineProperty;var Po=Object.getOwnPropertyDescriptor;var Ro=Object.getOwnPropertyNames;var vo=Object.prototype.hasOwnProperty;var To=(e,t,o)=>t in e?J2(e,t,{enumerable:!0,configurable:!0,writable:!0,value:o}):e[t]=o;var U0=(e,t)=>{for(var o in t)J2(e,o,{get:t[o],enumerable:!0})},I1=(e,t,o,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of Ro(t))!vo.call(e,r)&&r!==o&&J2(e,r,{get:()=>t[r],enumerable:!(n=Po(t,r))||n.enumerable});return e},q=(e,t,o)=>(I1(e,t,"default"),o&&I1(o,t,"default"));var w=(e,t,o)=>(To(e,typeof t!="symbol"?t+"":t,o),o),N1=(e,t,o)=>{if(!t.has(e))throw TypeError("Cannot "+o)};var Xe=(e,t,o)=>(N1(e,t,"read from private field"),o?o.call(e):t.get(e)),qe=(e,t,o)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,o)},Ue=(e,t,o,n)=>(N1(e,t,"write to private field"),n?n.call(e,o):t.set(e,o),o);function u(...e){let t=new Date,o=`${t.getHours().toString().padStart(2,"0")}:${t.getMinutes().toString().padStart(2,"0")}:${t.getSeconds().toString().padStart(2,"0")}.${t.getMilliseconds().toString().padStart(3,"0")}`;e&&console.log(o,"Human:",...e)}function O1(e,t){let o=e.endsWith("/")?"":"/",r=t.startsWith(".")||t.startsWith("/")||t.startsWith("http:")||t.startsWith("https:")||t.startsWith("file:")?`${t}`:`${e}${o}${t}`;if(!r.toLocaleLowerCase().includes(".json"))throw new Error(`modelpath error: expecting json file: ${r}`);return r}var b=()=>typeof performance!="undefined"?performance.now():parseInt((Number(process.hrtime.bigint())/1e3/1e3).toString());function Q2(e,t,o="config",n=[]){for(let r of Object.keys(t))if(typeof t[r]=="object")Q2(e[r],t[r],r,n);else{let s=e&&typeof e[r]!="undefined";s||n.push({reason:"unknown property",where:`${o}.${r} = ${t[r]}`});let a=e&&typeof e[r]==typeof t[r];s&&!a&&n.push({reason:"property type mismatch",where:`${o}.${r} = ${t[r]}`,expected:typeof e[r]})}return t.debug&&o==="config"&&n.length>0&&u("invalid configuration",n),n}function J(...e){let t=o=>o&&typeof o=="object";return e.reduce((o,n)=>(Object.keys(n||{}).forEach(r=>{let s=o[r],a=n[r];Array.isArray(s)&&Array.isArray(a)?o[r]=s.concat(...a):t(s)&&t(a)?o[r]=J(s,a):o[r]=a}),o),{})}var se={backend:"",modelBasePath:"",cacheModels:!0,wasmPath:"",wasmPlatformFetch:!1,debug:!1,async:!0,warmup:"full",cacheSensitivity:.7,skipAllowed:!1,deallocate:!1,filter:{enabled:!0,equalization:!1,width:0,height:0,flip:!1,return:!0,brightness:0,contrast:0,sharpness:0,blur:0,saturation:0,hue:0,negative:!1,sepia:!1,vintage:!1,kodachrome:!1,technicolor:!1,polaroid:!1,pixelate:0},gesture:{enabled:!0},face:{enabled:!0,detector:{modelPath:"blazeface.json",rotation:!0,maxDetected:1,skipFrames:99,skipTime:2500,minConfidence:.2,iouThreshold:.1,mask:!1,return:!1},mesh:{enabled:!0,modelPath:"facemesh.json",keepInvalid:!1},attention:{enabled:!1,modelPath:"facemesh-attention.json"},iris:{enabled:!0,modelPath:"iris.json"},emotion:{enabled:!0,minConfidence:.1,skipFrames:99,skipTime:1500,modelPath:"emotion.json"},description:{enabled:!0,modelPath:"faceres.json",skipFrames:99,skipTime:3e3,minConfidence:.1},antispoof:{enabled:!1,skipFrames:99,skipTime:4e3,modelPath:"antispoof.json"},liveness:{enabled:!1,skipFrames:99,skipTime:4e3,modelPath:"liveness.json"}},body:{enabled:!0,modelPath:"movenet-lightning.json",maxDetected:-1,minConfidence:.3,skipFrames:1,skipTime:200},hand:{enabled:!0,rotation:!0,skipFrames:99,skipTime:1e3,minConfidence:.5,iouThreshold:.2,maxDetected:-1,landmarks:!0,detector:{modelPath:"handtrack.json"},skeleton:{modelPath:"handlandmark-full.json"}},object:{enabled:!1,modelPath:"mb3-centernet.json",minConfidence:.2,iouThreshold:.4,maxDetected:10,skipFrames:99,skipTime:2e3},segmentation:{enabled:!1,modelPath:"selfie.json",blur:8}};var A={};U0(A,{GraphModel:()=>_2,Tensor:()=>ge,version:()=>Ye});q(A,SA);q(A,CA);import*as SA from"@tensorflow/tfjs/dist/index.js";import*as CA from"@tensorflow/tfjs-backend-webgl/dist/index.js";import{Tensor as ge}from"@tensorflow/tfjs/dist/index.js";import{GraphModel as _2}from"@tensorflow/tfjs-converter/dist/index";var wo="3.19.0",ko="3.19.0",Eo="3.19.0",zo="3.19.0",So="3.19.0",Co="3.19.0",jo="3.19.0",Ye={tfjs:wo,"tfjs-core":ko,"tfjs-data":Eo,"tfjs-layers":zo,"tfjs-converter":So,"tfjs-backend-webgl":Co,"tfjs-backend-wasm":jo};var L1=`
precision highp float;
attribute vec2 pos;
attribute vec2 uv;

File diff suppressed because one or more lines are too long

41
dist/human.esm.d.ts vendored
View File

@ -849,6 +849,8 @@ export declare class GraphModel<ModelURL extends Url = string | io.IOHandler> im
private initializer;
private resourceManager;
private signature;
private structuredOutputKeys;
private readonly io;
readonly modelVersion: string;
readonly inputNodes: string[];
readonly outputNodes: string[];
@ -857,6 +859,7 @@ export declare class GraphModel<ModelURL extends Url = string | io.IOHandler> im
readonly weights: NamedTensorsMap;
readonly metadata: {};
readonly modelSignature: {};
readonly modelStructuredOutputKeys: {};
/**
* @param modelUrl url for the model, or an `io.IOHandler`.
* @param weightManifestUrl url for the weight file generated by
@ -866,7 +869,7 @@ export declare class GraphModel<ModelURL extends Url = string | io.IOHandler> im
* @param onProgress Optional, progress callback function, fired periodically
* before the load is completed.
*/
constructor(modelUrl: ModelURL, loadOptions?: io.LoadOptions);
constructor(modelUrl: ModelURL, loadOptions?: io.LoadOptions, tfio?: typeof io);
private findIOHandler;
/**
* Loads the model and weight files, construct the in memory weight map and
@ -953,13 +956,14 @@ export declare class GraphModel<ModelURL extends Url = string | io.IOHandler> im
* If we are provide a batched data of 100 images, the input tensor should be
* in the shape of [100, 244, 244, 3].
*
* @param config Prediction configuration for specifying the batch size and
* output node names. Currently the batch size option is ignored for graph
* model.
* @param config Prediction configuration for specifying the batch size.
* Currently the batch size option is ignored for graph model.
*
* @returns Inference result tensors. The output would be single `tf.Tensor`
* if model has single output node, otherwise Tensor[] or NamedTensorMap[]
* will be returned for model with multiple outputs.
* @returns Inference result tensors. If the model is converted and it
* originally had structured_outputs in tensorflow, then a NamedTensorMap
* will be returned matching the structured_outputs. If no structured_outputs
* are present, the output will be single `tf.Tensor` if the model has single
* output node, otherwise Tensor[].
*
* @doc {heading: 'Models', subheading: 'Classes'}
*/
@ -1456,8 +1460,15 @@ declare interface IOHandler {
load?: LoadHandler;
}
/**
* Interface for a synchronous model import/export handler.
*
* The `save` and `load` handlers are both optional, in order to allow handlers
* that support only saving or loading.
*/
declare type IOHandlerSync = {
[K in keyof IOHandler]: Syncify<IOHandler[K]>;
save?: SaveHandlerSync;
load?: LoadHandlerSync;
};
declare type IORouter = (url: string | string[], loadOptions?: LoadOptions) => IOHandler;
@ -1514,6 +1525,11 @@ declare function load(instance: Human): Promise<void>;
*/
declare type LoadHandler = () => Promise<ModelArtifacts>;
/**
* Type definition for handlers of synchronous loading operations.
*/
declare type LoadHandlerSync = () => ModelArtifacts;
/** @innamespace io */
declare interface LoadOptions {
/**
@ -2048,8 +2064,6 @@ export declare interface PersonResult {
/** generic point as [x, y, z?] */
export declare type Point = [number, number, number?];
declare type PromiseFunction = (...args: unknown[]) => Promise<unknown>;
export declare type Race = 'white' | 'black' | 'asian' | 'indian' | 'other';
export declare enum Rank {
@ -2168,6 +2182,11 @@ declare interface SaveConfig {
*/
declare type SaveHandler = (modelArtifact: ModelArtifacts) => Promise<SaveResult>;
/**
* Type definition for handlers of synchronous saving operations.
*/
declare type SaveHandlerSync = (modelArtifact: ModelArtifacts) => SaveResult;
/**
* Result of a saving operation.
*/
@ -2247,8 +2266,6 @@ declare interface SingleValueMap {
string: string;
}
declare type Syncify<T extends PromiseFunction> = T extends (...args: infer Args) => Promise<infer R> ? (...args: Args) => R : never;
export declare namespace Tensor { }
/**

7139
dist/human.esm.js vendored

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

2583
dist/human.js vendored

File diff suppressed because one or more lines are too long

View File

@ -849,6 +849,8 @@ export declare class GraphModel<ModelURL extends Url = string | io.IOHandler> im
private initializer;
private resourceManager;
private signature;
private structuredOutputKeys;
private readonly io;
readonly modelVersion: string;
readonly inputNodes: string[];
readonly outputNodes: string[];
@ -857,6 +859,7 @@ export declare class GraphModel<ModelURL extends Url = string | io.IOHandler> im
readonly weights: NamedTensorsMap;
readonly metadata: {};
readonly modelSignature: {};
readonly modelStructuredOutputKeys: {};
/**
* @param modelUrl url for the model, or an `io.IOHandler`.
* @param weightManifestUrl url for the weight file generated by
@ -866,7 +869,7 @@ export declare class GraphModel<ModelURL extends Url = string | io.IOHandler> im
* @param onProgress Optional, progress callback function, fired periodically
* before the load is completed.
*/
constructor(modelUrl: ModelURL, loadOptions?: io.LoadOptions);
constructor(modelUrl: ModelURL, loadOptions?: io.LoadOptions, tfio?: typeof io);
private findIOHandler;
/**
* Loads the model and weight files, construct the in memory weight map and
@ -953,13 +956,14 @@ export declare class GraphModel<ModelURL extends Url = string | io.IOHandler> im
* If we are provide a batched data of 100 images, the input tensor should be
* in the shape of [100, 244, 244, 3].
*
* @param config Prediction configuration for specifying the batch size and
* output node names. Currently the batch size option is ignored for graph
* model.
* @param config Prediction configuration for specifying the batch size.
* Currently the batch size option is ignored for graph model.
*
* @returns Inference result tensors. The output would be single `tf.Tensor`
* if model has single output node, otherwise Tensor[] or NamedTensorMap[]
* will be returned for model with multiple outputs.
* @returns Inference result tensors. If the model is converted and it
* originally had structured_outputs in tensorflow, then a NamedTensorMap
* will be returned matching the structured_outputs. If no structured_outputs
* are present, the output will be single `tf.Tensor` if the model has single
* output node, otherwise Tensor[].
*
* @doc {heading: 'Models', subheading: 'Classes'}
*/
@ -1456,8 +1460,15 @@ declare interface IOHandler {
load?: LoadHandler;
}
/**
* Interface for a synchronous model import/export handler.
*
* The `save` and `load` handlers are both optional, in order to allow handlers
* that support only saving or loading.
*/
declare type IOHandlerSync = {
[K in keyof IOHandler]: Syncify<IOHandler[K]>;
save?: SaveHandlerSync;
load?: LoadHandlerSync;
};
declare type IORouter = (url: string | string[], loadOptions?: LoadOptions) => IOHandler;
@ -1514,6 +1525,11 @@ declare function load(instance: Human): Promise<void>;
*/
declare type LoadHandler = () => Promise<ModelArtifacts>;
/**
* Type definition for handlers of synchronous loading operations.
*/
declare type LoadHandlerSync = () => ModelArtifacts;
/** @innamespace io */
declare interface LoadOptions {
/**
@ -2048,8 +2064,6 @@ export declare interface PersonResult {
/** generic point as [x, y, z?] */
export declare type Point = [number, number, number?];
declare type PromiseFunction = (...args: unknown[]) => Promise<unknown>;
export declare type Race = 'white' | 'black' | 'asian' | 'indian' | 'other';
export declare enum Rank {
@ -2168,6 +2182,11 @@ declare interface SaveConfig {
*/
declare type SaveHandler = (modelArtifact: ModelArtifacts) => Promise<SaveResult>;
/**
* Type definition for handlers of synchronous saving operations.
*/
declare type SaveHandlerSync = (modelArtifact: ModelArtifacts) => SaveResult;
/**
* Result of a saving operation.
*/
@ -2247,8 +2266,6 @@ declare interface SingleValueMap {
string: string;
}
declare type Syncify<T extends PromiseFunction> = T extends (...args: infer Args) => Promise<infer R> ? (...args: Args) => R : never;
export declare namespace Tensor { }
/**

View File

@ -849,6 +849,8 @@ export declare class GraphModel<ModelURL extends Url = string | io.IOHandler> im
private initializer;
private resourceManager;
private signature;
private structuredOutputKeys;
private readonly io;
readonly modelVersion: string;
readonly inputNodes: string[];
readonly outputNodes: string[];
@ -857,6 +859,7 @@ export declare class GraphModel<ModelURL extends Url = string | io.IOHandler> im
readonly weights: NamedTensorsMap;
readonly metadata: {};
readonly modelSignature: {};
readonly modelStructuredOutputKeys: {};
/**
* @param modelUrl url for the model, or an `io.IOHandler`.
* @param weightManifestUrl url for the weight file generated by
@ -866,7 +869,7 @@ export declare class GraphModel<ModelURL extends Url = string | io.IOHandler> im
* @param onProgress Optional, progress callback function, fired periodically
* before the load is completed.
*/
constructor(modelUrl: ModelURL, loadOptions?: io.LoadOptions);
constructor(modelUrl: ModelURL, loadOptions?: io.LoadOptions, tfio?: typeof io);
private findIOHandler;
/**
* Loads the model and weight files, construct the in memory weight map and
@ -953,13 +956,14 @@ export declare class GraphModel<ModelURL extends Url = string | io.IOHandler> im
* If we are provide a batched data of 100 images, the input tensor should be
* in the shape of [100, 244, 244, 3].
*
* @param config Prediction configuration for specifying the batch size and
* output node names. Currently the batch size option is ignored for graph
* model.
* @param config Prediction configuration for specifying the batch size.
* Currently the batch size option is ignored for graph model.
*
* @returns Inference result tensors. The output would be single `tf.Tensor`
* if model has single output node, otherwise Tensor[] or NamedTensorMap[]
* will be returned for model with multiple outputs.
* @returns Inference result tensors. If the model is converted and it
* originally had structured_outputs in tensorflow, then a NamedTensorMap
* will be returned matching the structured_outputs. If no structured_outputs
* are present, the output will be single `tf.Tensor` if the model has single
* output node, otherwise Tensor[].
*
* @doc {heading: 'Models', subheading: 'Classes'}
*/
@ -1456,8 +1460,15 @@ declare interface IOHandler {
load?: LoadHandler;
}
/**
* Interface for a synchronous model import/export handler.
*
* The `save` and `load` handlers are both optional, in order to allow handlers
* that support only saving or loading.
*/
declare type IOHandlerSync = {
[K in keyof IOHandler]: Syncify<IOHandler[K]>;
save?: SaveHandlerSync;
load?: LoadHandlerSync;
};
declare type IORouter = (url: string | string[], loadOptions?: LoadOptions) => IOHandler;
@ -1514,6 +1525,11 @@ declare function load(instance: Human): Promise<void>;
*/
declare type LoadHandler = () => Promise<ModelArtifacts>;
/**
* Type definition for handlers of synchronous loading operations.
*/
declare type LoadHandlerSync = () => ModelArtifacts;
/** @innamespace io */
declare interface LoadOptions {
/**
@ -2048,8 +2064,6 @@ export declare interface PersonResult {
/** generic point as [x, y, z?] */
export declare type Point = [number, number, number?];
declare type PromiseFunction = (...args: unknown[]) => Promise<unknown>;
export declare type Race = 'white' | 'black' | 'asian' | 'indian' | 'other';
export declare enum Rank {
@ -2168,6 +2182,11 @@ declare interface SaveConfig {
*/
declare type SaveHandler = (modelArtifact: ModelArtifacts) => Promise<SaveResult>;
/**
* Type definition for handlers of synchronous saving operations.
*/
declare type SaveHandlerSync = (modelArtifact: ModelArtifacts) => SaveResult;
/**
* Result of a saving operation.
*/
@ -2247,8 +2266,6 @@ declare interface SingleValueMap {
string: string;
}
declare type Syncify<T extends PromiseFunction> = T extends (...args: infer Args) => Promise<infer R> ? (...args: Args) => R : never;
export declare namespace Tensor { }
/**

41
dist/human.node.d.ts vendored
View File

@ -849,6 +849,8 @@ export declare class GraphModel<ModelURL extends Url = string | io.IOHandler> im
private initializer;
private resourceManager;
private signature;
private structuredOutputKeys;
private readonly io;
readonly modelVersion: string;
readonly inputNodes: string[];
readonly outputNodes: string[];
@ -857,6 +859,7 @@ export declare class GraphModel<ModelURL extends Url = string | io.IOHandler> im
readonly weights: NamedTensorsMap;
readonly metadata: {};
readonly modelSignature: {};
readonly modelStructuredOutputKeys: {};
/**
* @param modelUrl url for the model, or an `io.IOHandler`.
* @param weightManifestUrl url for the weight file generated by
@ -866,7 +869,7 @@ export declare class GraphModel<ModelURL extends Url = string | io.IOHandler> im
* @param onProgress Optional, progress callback function, fired periodically
* before the load is completed.
*/
constructor(modelUrl: ModelURL, loadOptions?: io.LoadOptions);
constructor(modelUrl: ModelURL, loadOptions?: io.LoadOptions, tfio?: typeof io);
private findIOHandler;
/**
* Loads the model and weight files, construct the in memory weight map and
@ -953,13 +956,14 @@ export declare class GraphModel<ModelURL extends Url = string | io.IOHandler> im
* If we are provide a batched data of 100 images, the input tensor should be
* in the shape of [100, 244, 244, 3].
*
* @param config Prediction configuration for specifying the batch size and
* output node names. Currently the batch size option is ignored for graph
* model.
* @param config Prediction configuration for specifying the batch size.
* Currently the batch size option is ignored for graph model.
*
* @returns Inference result tensors. The output would be single `tf.Tensor`
* if model has single output node, otherwise Tensor[] or NamedTensorMap[]
* will be returned for model with multiple outputs.
* @returns Inference result tensors. If the model is converted and it
* originally had structured_outputs in tensorflow, then a NamedTensorMap
* will be returned matching the structured_outputs. If no structured_outputs
* are present, the output will be single `tf.Tensor` if the model has single
* output node, otherwise Tensor[].
*
* @doc {heading: 'Models', subheading: 'Classes'}
*/
@ -1456,8 +1460,15 @@ declare interface IOHandler {
load?: LoadHandler;
}
/**
* Interface for a synchronous model import/export handler.
*
* The `save` and `load` handlers are both optional, in order to allow handlers
* that support only saving or loading.
*/
declare type IOHandlerSync = {
[K in keyof IOHandler]: Syncify<IOHandler[K]>;
save?: SaveHandlerSync;
load?: LoadHandlerSync;
};
declare type IORouter = (url: string | string[], loadOptions?: LoadOptions) => IOHandler;
@ -1514,6 +1525,11 @@ declare function load(instance: Human): Promise<void>;
*/
declare type LoadHandler = () => Promise<ModelArtifacts>;
/**
* Type definition for handlers of synchronous loading operations.
*/
declare type LoadHandlerSync = () => ModelArtifacts;
/** @innamespace io */
declare interface LoadOptions {
/**
@ -2048,8 +2064,6 @@ export declare interface PersonResult {
/** generic point as [x, y, z?] */
export declare type Point = [number, number, number?];
declare type PromiseFunction = (...args: unknown[]) => Promise<unknown>;
export declare type Race = 'white' | 'black' | 'asian' | 'indian' | 'other';
export declare enum Rank {
@ -2168,6 +2182,11 @@ declare interface SaveConfig {
*/
declare type SaveHandler = (modelArtifact: ModelArtifacts) => Promise<SaveResult>;
/**
* Type definition for handlers of synchronous saving operations.
*/
declare type SaveHandlerSync = (modelArtifact: ModelArtifacts) => SaveResult;
/**
* Result of a saving operation.
*/
@ -2247,8 +2266,6 @@ declare interface SingleValueMap {
string: string;
}
declare type Syncify<T extends PromiseFunction> = T extends (...args: infer Args) => Promise<infer R> ? (...args: Args) => R : never;
export declare namespace Tensor { }
/**

10287
dist/tfjs.esm.js vendored

File diff suppressed because it is too large Load Diff

View File

@ -4,4 +4,4 @@
author: <https://github.com/vladmandic>'
*/
var e="3.18.0";var s="3.18.0";var t="3.18.0";var r="3.18.0";var l="3.18.0";var i="3.18.0";var a="3.18.0";var V={tfjs:e,"tfjs-core":s,"tfjs-data":t,"tfjs-layers":r,"tfjs-converter":l,"tfjs-backend-webgl":i,"tfjs-backend-wasm":a};export{V as version};
var e="3.19.0";var s="3.19.0";var t="3.19.0";var i="3.19.0";var n="3.19.0";var r="3.19.0";var l="3.19.0";var V={tfjs:e,"tfjs-core":s,"tfjs-data":t,"tfjs-layers":i,"tfjs-converter":n,"tfjs-backend-webgl":r,"tfjs-backend-wasm":l};export{V as version};

View File

@ -58,18 +58,18 @@
"dayjs": "^1.11.4"
},
"devDependencies": {
"@microsoft/api-extractor": "^7.28.5",
"@tensorflow/tfjs": "^3.18.0",
"@tensorflow/tfjs-backend-cpu": "^3.18.0",
"@tensorflow/tfjs-backend-wasm": "^3.18.0",
"@tensorflow/tfjs-backend-webgl": "^3.18.0",
"@tensorflow/tfjs-backend-webgpu": "0.0.1-alpha.11",
"@tensorflow/tfjs-converter": "^3.18.0",
"@tensorflow/tfjs-core": "^3.18.0",
"@tensorflow/tfjs-data": "^3.18.0",
"@tensorflow/tfjs-layers": "^3.18.0",
"@tensorflow/tfjs-node": "^3.18.0",
"@tensorflow/tfjs-node-gpu": "^3.18.0",
"@microsoft/api-extractor": "^7.28.6",
"@tensorflow/tfjs": "^3.19.0",
"@tensorflow/tfjs-backend-cpu": "^3.19.0",
"@tensorflow/tfjs-backend-wasm": "^3.19.0",
"@tensorflow/tfjs-backend-webgl": "^3.19.0",
"@tensorflow/tfjs-backend-webgpu": "0.0.1-alpha.12",
"@tensorflow/tfjs-converter": "^3.19.0",
"@tensorflow/tfjs-core": "^3.19.0",
"@tensorflow/tfjs-data": "^3.19.0",
"@tensorflow/tfjs-layers": "^3.19.0",
"@tensorflow/tfjs-node": "^3.19.0",
"@tensorflow/tfjs-node-gpu": "^3.19.0",
"@tensorflow/tfjs-tflite": "0.0.1-alpha.8",
"@types/node": "^18.0.6",
"@types/offscreencanvas": "^2019.7.0",

View File

@ -1,80 +1,80 @@
08:12:13.222 +00000ms human tests
08:12:14.358 +01136ms {version: 2.5.2}
08:12:14.359 +00001ms {tfjs: 3.11.0-20211110}
08:12:14.359 +00000ms {environment: {browser: true, node: false, worker: false, platform: Windows NT 10.0; Win64; x64, agent: Mozilla/5.0 AppleWebKit/537.36 Chrome/98.0.4693.0 Safari/537.36 Edg/98.0.1074.0, backends: [cpu, webgl, webgpu, wasm, humangl], initial: true, tfjs: {version: 3.11.0-20211110}, offscreen: true, perfadd: false, wasm: {supported: true, backend: true}, webgl: {supported: true, backend: true, version: WebGL 2.0 (OpenGL ES 3.0 Chromium), renderer: WebKit WebGL}, webgpu: {supported: true, backend: true, adapter: Default}, cpu: {flags: []}, kernels: [lrn, lrngrad, _fusedmatmul, abs, acos, acosh, add, addn, all, any, argmax, argmin, asin, asinh, atan2, atan, atanh, avgpool3d, avgpool, avgpool3dgrad, avgpoolgrad, batchmatmul, fusedbatchnorm, batchtospacend, bincount, broadcastargs, cast, ceil, clipbyvalue, complexabs, complex, concat, conv2dbackpropfilter, conv2dbackpropinput, conv2d, conv3dbackpropfilterv2, conv3dbackpropinputv2, conv3d, cos, cosh, cropandresize, cumsum, densebincount, depthtospace, depthwiseconv2dnativebackpropfilter, depthwiseconv2dnativebackpropinput, depthwiseconv2dnative, diag, dilation2d, einsum, elu, elugrad, equal, erf, exp, expanddims, expm1, fft, fill, flipleftright, floor, floordiv, frompixels, fusedconv2d, fuseddepthwiseconv2d, gathernd, gatherv2, greater, greaterequal, identity, ifft, imag, isfinite, isinf, isnan, leakyrelu, less, lessequal, linspace, log1p, log, logicaland, logicalnot, logicalor, max, maxpool3d, maxpool, maxpool3dgrad, maxpoolgrad, maxpoolwithargmax, maximum, mean, min, minimum, mirrorpad, mod, multinomial, multiply, neg, nonmaxsuppressionv3, nonmaxsuppressionv4, nonmaxsuppressionv5, notequal, onehot, oneslike, pack, padv2, pow, prelu, prod, range, real, realdiv, reciprocal, relu6, relu, reshape, resizebilinear, resizebilineargrad, resizenearestneighbor, resizenearestneighborgrad, reverse, rotatewithoffset, round, rsqrt, scatternd, select, selu, sigmoid, sign, sin, sinh, slice, softmax, softplus, spacetobatchnd, sparsefillemptyrows, sparsereshape, sparsesegmentmean, sparsesegmentsum, sparsetodense, splitv, sqrt, square, squareddifference, step, stridedslice, stringngrams, stringsplit, stringtohashbucketfast, sub, sum, tan, tanh, tile, topk, transform, transpose, unique, unpack, unsortedsegmentsum, zeroslike, floormod]}}
08:12:14.360 +00001ms {config: {backend: humangl, modelBasePath: ../models/, wasmPath: https: //vladmandic.github.io/tfjs/dist/, debug: true, async: true, warmup: none, cacheSensitivity: 0, skipAllowed: false, deallocate: false, filter: {enabled: true, equalization: false, width: 0, height: 0, flip: false, return: true, brightness: 0, contrast: 0, sharpness: 0, blur: 0, saturation: 0, hue: 0, negative: false, sepia: false, vintage: false, kodachrome: false, technicolor: false, polaroid: false, pixelate: 0}, gesture: {enabled: true}, face: {enabled: true, detector: {modelPath: blazeface.json, rotation: true, maxDetected: 1, skipFrames: 99, skipTime: 2500, minConfidence: 0.2, iouThreshold: 0.1, cropFactor: 1.6, mask: false, return: false}, mesh: {enabled: true, modelPath: facemesh.json}, iris: {enabled: true, modelPath: iris.json}, emotion: {enabled: true, minConfidence: 0.1, skipFrames: 99, skipTime: 1500, modelPath: emotion.json}, description: {enabled: true, modelPath: faceres.json, skipFrames: 99, skipTime: 3000, minConfidence: 0.1}, antispoof: {enabled: false, skipFrames: 99, skipTime: 4000, modelPath: antispoof.json}, liveness: {enabled: false, skipFrames: 99, skipTime: 4000, modelPath: liveness.json}}, body: {enabled: true, modelPath: movenet-lightning.json, detector: {modelPath: }, maxDetected: -1, minConfidence: 0.3, skipFrames: 1, skipTime: 200}, hand: {enabled: true, rotation: true, skipFrames: 99, skipTime: 1000, minConfidence: 0.5, iouThreshold: 0.2, maxDetected: -1, landmarks: true, detector: {modelPath: handtrack.json}, skeleton: {modelPath: handlandmark-full.json}}, object: {enabled: true, modelPath: mb3-centernet.json, minConfidence: 0.2, iouThreshold: 0.4, maxDetected: 10, skipFrames: 99, skipTime: 2000}, segmentation: {enabled: false, modelPath: selfie.json, blur: 8}}}
08:12:16.692 +02332ms {models: [{name: ssrnetage, loaded: false}, {name: gear, loaded: false}, {name: blazeposedetect, loaded: false}, {name: blazepose, loaded: false}, {name: centernet, loaded: true}, {name: efficientpose, loaded: false}, {name: mobilefacenet, loaded: false}, {name: emotion, loaded: true}, {name: facedetect, loaded: true}, {name: faceiris, loaded: true}, {name: facemesh, loaded: true}, {name: faceres, loaded: true}, {name: ssrnetgender, loaded: false}, {name: handpose, loaded: false}, {name: handskeleton, loaded: true}, {name: handtrack, loaded: true}, {name: liveness, loaded: false}, {name: movenet, loaded: true}, {name: nanodet, loaded: false}, {name: posenet, loaded: false}, {name: segmentation, loaded: false}, {name: antispoof, loaded: false}]}
08:12:16.693 +00001ms
08:12:16.693 +00000ms test start:wasm
08:12:17.111 +00418ms {initialized: wasm}
08:12:17.112 +00001ms {memory: {unreliable: false, numTensors: 1742, numDataBuffers: 1742, numBytes: 60948116}}
08:12:17.114 +00002ms {validate: []}
08:12:18.951 +01837ms {warmup: face}
08:12:19.190 +00239ms {input: [1, 1200, 1200, 3]}
08:12:20.277 +01087ms {detect: true}
08:12:20.287 +00010ms {interpolated: true}
08:12:20.287 +00000ms {persons: true}
08:12:20.288 +00001ms {summary: {persons: 1, face: 1, body: 1, hand: 1, object: 1, gesture: 6}}
08:12:20.289 +00001ms {performance: {initBackend: 388, loadModels: 2331, inputProcess: 3, totalFrames: 2, cachedFrames: 0, cacheCheck: 0, total: 1086, warmup: 1835}}
08:12:23.659 +03370ms {benchmark: {time: 330, cacheSensitivity: 0}, performance: {inputProcess: 7, totalFrames: 10, cachedFrames: 0, cacheCheck: 0, total: 242}}
08:12:26.913 +03254ms {benchmark: {time: 319, cacheSensitivity: 0.25}, performance: {loadModels: 1, inputProcess: 6, totalFrames: 10, cachedFrames: 0, cacheCheck: 1, total: 235}}
08:12:29.926 +03013ms {benchmark: {time: 295, cacheSensitivity: 0.5}, performance: {inputProcess: 5, totalFrames: 10, cachedFrames: 0, cacheCheck: 1, total: 229}}
08:12:32.506 +02580ms {benchmark: {time: 252, cacheSensitivity: 0.75}, performance: {inputProcess: 4, totalFrames: 10, cachedFrames: 0, cacheCheck: 0, total: 156}}
08:12:33.870 +01364ms {benchmark: {time: 131, cacheSensitivity: 10}, performance: {inputProcess: 5, totalFrames: 10, cachedFrames: 8, cacheCheck: 1, total: 218}}
08:12:33.923 +00053ms {memory: {unreliable: false, numTensors: 1743, numDataBuffers: 1743, numBytes: 61734548}}
08:12:33.924 +00001ms
08:12:33.924 +00000ms test start:webgl
08:12:33.990 +00066ms {initialized: webgl}
08:12:33.991 +00001ms {memory: {unreliable: false, numBytesInGPU: 0, numBytesInGPUAllocated: 0, numBytesInGPUFree: 0, numTensors: 1743, numDataBuffers: 1743, numBytes: 61734548}}
08:12:33.991 +00000ms {validate: []}
08:12:43.904 +09913ms {warmup: face}
08:12:44.071 +00167ms {input: [1, 1200, 1200, 3]}
08:12:53.078 +09007ms {detect: true}
08:12:53.080 +00002ms {interpolated: true}
08:12:53.081 +00001ms {persons: true}
08:12:53.082 +00001ms {summary: {persons: 1, face: 1, body: 1, hand: 0, object: 0, gesture: 0}}
08:12:53.082 +00000ms {performance: {inputProcess: 0, totalFrames: 12, cachedFrames: 9, cacheCheck: 0, total: 9004, initBackend: 2, warmup: 9911}}
08:13:00.321 +07239ms {benchmark: {time: 716, cacheSensitivity: 0}, performance: {inputProcess: 0, totalFrames: 10, cachedFrames: 0, cacheCheck: 0, total: 130}}
08:13:02.371 +02050ms {benchmark: {time: 204, cacheSensitivity: 0.25}, performance: {inputProcess: 0, totalFrames: 10, cachedFrames: 0, cacheCheck: 10, total: 130}}
08:13:04.442 +02071ms {benchmark: {time: 206, cacheSensitivity: 0.5}, performance: {inputProcess: 0, totalFrames: 10, cachedFrames: 0, cacheCheck: 16, total: 135}}
08:13:06.389 +01947ms {benchmark: {time: 186, cacheSensitivity: 0.75}, performance: {inputProcess: 0, totalFrames: 10, cachedFrames: 0, cacheCheck: 16, total: 134}}
08:13:07.637 +01248ms {benchmark: {time: 124, cacheSensitivity: 10}, performance: {inputProcess: 0, totalFrames: 10, cachedFrames: 8, cacheCheck: 10, total: 127}}
08:13:07.650 +00013ms {memory: {unreliable: false, numBytesInGPU: 56090584, numBytesInGPUAllocated: 340531116, numBytesInGPUFree: 284440532, numTensors: 1743, numDataBuffers: 1743, numBytes: 61734548}}
08:13:07.651 +00001ms
08:13:07.652 +00001ms test start:humangl
08:13:07.739 +00087ms {initialized: humangl}
08:13:07.739 +00000ms {memory: {unreliable: false, numBytesInGPU: 0, numBytesInGPUAllocated: 0, numBytesInGPUFree: 0, numTensors: 1743, numDataBuffers: 1743, numBytes: 61734548}}
08:13:07.740 +00001ms {validate: []}
08:13:12.252 +04512ms {warmup: face}
08:13:12.369 +00117ms {input: [1, 1200, 1200, 3]}
08:13:16.660 +04291ms {detect: true}
08:13:16.662 +00002ms {interpolated: true}
08:13:16.662 +00000ms {persons: true}
08:13:16.662 +00000ms {summary: {persons: 1, face: 1, body: 1, hand: 0, object: 0, gesture: 0}}
08:13:16.663 +00001ms {performance: {inputProcess: 0, totalFrames: 12, cachedFrames: 9, cacheCheck: 0, total: 4289, initBackend: 2, warmup: 4510}}
08:13:21.526 +04863ms {benchmark: {time: 476, cacheSensitivity: 0}, performance: {inputProcess: 0, totalFrames: 10, cachedFrames: 0, cacheCheck: 0, total: 151}}
08:13:23.740 +02214ms {benchmark: {time: 204, cacheSensitivity: 0.25}, performance: {inputProcess: 0, totalFrames: 10, cachedFrames: 0, cacheCheck: 17, total: 135}}
08:13:25.923 +02183ms {benchmark: {time: 217, cacheSensitivity: 0.5}, performance: {inputProcess: 0, totalFrames: 10, cachedFrames: 0, cacheCheck: 16, total: 133}}
08:13:27.431 +01508ms {benchmark: {time: 150, cacheSensitivity: 0.75}, performance: {inputProcess: 0, totalFrames: 10, cachedFrames: 0, cacheCheck: 10, total: 104}}
08:13:28.928 +01497ms {benchmark: {time: 139, cacheSensitivity: 10}, performance: {inputProcess: 0, totalFrames: 10, cachedFrames: 8, cacheCheck: 16, total: 169}}
08:13:29.082 +00154ms {memory: {unreliable: false, numBytesInGPU: 56090584, numBytesInGPUAllocated: 340531116, numBytesInGPUFree: 284440532, numTensors: 1743, numDataBuffers: 1743, numBytes: 61734548}}
08:13:29.083 +00001ms
08:13:29.084 +00001ms test start:webgpu
08:13:29.308 +00224ms {initialized: webgpu}
08:13:29.309 +00001ms {memory: {numBytesInGPU: 0, numBytesAllocatedInGPU: 0, unreliable: false, numTensors: 1743, numDataBuffers: 1743, numBytes: 61734548}}
08:13:29.310 +00001ms {validate: []}
08:13:45.144 +15834ms {warmup: face}
08:13:45.309 +00165ms {input: [1, 1200, 1200, 3]}
08:13:59.121 +13812ms {detect: true}
08:13:59.123 +00002ms {interpolated: true}
08:13:59.124 +00001ms {persons: true}
08:13:59.125 +00001ms {summary: {persons: 1, face: 1, body: 1, hand: 0, object: 0, gesture: 0}}
08:13:59.126 +00001ms {performance: {inputProcess: 0, totalFrames: 12, cachedFrames: 9, cacheCheck: 0, total: 13810, initBackend: 190, warmup: 15832}}
08:14:07.626 +08500ms {benchmark: {time: 835, cacheSensitivity: 0}, performance: {inputProcess: 0, totalFrames: 10, cachedFrames: 0, cacheCheck: 0, total: 68}}
08:14:08.825 +01199ms {benchmark: {time: 104, cacheSensitivity: 0.25}, performance: {inputProcess: 0, totalFrames: 10, cachedFrames: 0, cacheCheck: 7, total: 75}}
08:14:09.978 +01153ms {benchmark: {time: 99, cacheSensitivity: 0.5}, performance: {inputProcess: 0, totalFrames: 10, cachedFrames: 0, cacheCheck: 5, total: 70}}
08:14:11.123 +01145ms {benchmark: {time: 100, cacheSensitivity: 0.75}, performance: {inputProcess: 0, totalFrames: 10, cachedFrames: 0, cacheCheck: 6, total: 78}}
08:14:11.971 +00848ms {benchmark: {time: 68, cacheSensitivity: 10}, performance: {inputProcess: 0, totalFrames: 10, cachedFrames: 8, cacheCheck: 6, total: 80}}
08:14:11.982 +00011ms {memory: {numBytesInGPU: 53317304, numBytesAllocatedInGPU: 342712224, unreliable: false, numTensors: 1743, numDataBuffers: 27717, numBytes: 61734548}}
08:14:11.983 +00001ms
08:14:11.983 +00000ms tests complete
14:40:51.744 +00001ms human tests
14:40:51.918 +00174ms {version: 2.9.0}
14:40:51.918 +00000ms {tfjs: 3.19.0}
14:40:51.918 +00000ms {environment: {browser: true, node: false, worker: false, platform: Windows NT 10.0; Win64; x64, agent: Mozilla/5.0 AppleWebKit/537.36 Chrome/105.0.0.0 Safari/537.36 Edg/105.0.1329.0, backends: [cpu, webgl, wasm, webgpu, humangl], initial: true, tfjs: {version: 3.19.0}, offscreen: true, perfadd: false, wasm: {supported: true, backend: true}, webgl: {supported: true, backend: true, version: WebGL 2.0 (OpenGL ES 3.0 Chromium), renderer: WebKit WebGL}, webgpu: {supported: true, backend: true, adapter: Default}, cpu: {flags: []}, kernels: [_fusedmatmul, abs, acos, acosh, add, addn, all, any, argmax, argmin, asin, asinh, atan, atan2, atanh, avgpool, avgpool3d, avgpool3dgrad, avgpoolgrad, batchmatmul, fusedbatchnorm, batchtospacend, bincount, broadcastargs, cast, ceil, clipbyvalue, complex, complexabs, concat, conv2d, conv2dbackpropfilter, conv2dbackpropinput, conv3d, conv3dbackpropfilterv2, conv3dbackpropinputv2, cos, cosh, cropandresize, cumprod, cumsum, densebincount, depthtospace, depthwiseconv2dnative, depthwiseconv2dnativebackpropfilter, depthwiseconv2dnativebackpropinput, diag, dilation2d, einsum, elu, elugrad, equal, erf, exp, expanddims, expm1, fft, fill, flipleftright, floor, floordiv, frompixels, fusedconv2d, fuseddepthwiseconv2d, gathernd, gatherv2, greater, greaterequal, identity, ifft, imag, isfinite, isinf, isnan, leakyrelu, less, lessequal, linspace, log, log1p, logicaland, logicalnot, logicalor, lrn, lrngrad, max, maximum, maxpool, maxpool3d, maxpool3dgrad, maxpoolgrad, maxpoolwithargmax, mean, min, minimum, mirrorpad, mod, multinomial, multiply, neg, nonmaxsuppressionv3, nonmaxsuppressionv4, nonmaxsuppressionv5, notequal, onehot, oneslike, pack, padv2, pow, prelu, prod, range, real, realdiv, reciprocal, relu, relu6, reshape, resizebilinear, resizebilineargrad, resizenearestneighbor, resizenearestneighborgrad, reverse, rotatewithoffset, round, rsqrt, scatternd, searchsorted, select, selu, sigmoid, sign, sin, sinh, slice, softmax, softplus, spacetobatchnd, sparsefillemptyrows, sparsereshape, sparsesegmentmean, sparsesegmentsum, sparsetodense, splitv, sqrt, square, squareddifference, step, stridedslice, stringngrams, stringsplit, stringtohashbucketfast, sub, sum, tan, tanh, tile, topk, transform, transpose, unique, unpack, unsortedsegmentsum, zeroslike, floormod]}}
14:40:51.918 +00000ms {config: {backend: humangl, modelBasePath: ../models/, cacheModels: true, wasmPath: https: //cdn.jsdelivr.net/npm/@tensorflow/tfjs-backend-wasm@3.19.0/dist/, wasmPlatformFetch: false, debug: true, async: true, warmup: none, cacheSensitivity: 0, skipAllowed: false, deallocate: false, filter: {enabled: true, equalization: false, width: 0, height: 0, flip: false, return: true, brightness: 0, contrast: 0, sharpness: 0, blur: 0, saturation: 0, hue: 0, negative: false, sepia: false, vintage: false, kodachrome: false, technicolor: false, polaroid: false, pixelate: 0}, gesture: {enabled: true}, face: {enabled: true, detector: {modelPath: blazeface.json, rotation: true, maxDetected: 1, skipFrames: 99, skipTime: 2500, minConfidence: 0.2, iouThreshold: 0.1, mask: false, return: false}, mesh: {enabled: true, modelPath: facemesh.json, keepInvalid: false}, attention: {enabled: false, modelPath: facemesh-attention.json}, iris: {enabled: true, modelPath: iris.json}, emotion: {enabled: true, minConfidence: 0.1, skipFrames: 99, skipTime: 1500, modelPath: emotion.json}, description: {enabled: true, modelPath: faceres.json, skipFrames: 99, skipTime: 3000, minConfidence: 0.1}, antispoof: {enabled: false, skipFrames: 99, skipTime: 4000, modelPath: antispoof.json}, liveness: {enabled: false, skipFrames: 99, skipTime: 4000, modelPath: liveness.json}}, body: {enabled: true, modelPath: movenet-lightning.json, maxDetected: -1, minConfidence: 0.3, skipFrames: 1, skipTime: 200}, hand: {enabled: true, rotation: true, skipFrames: 99, skipTime: 1000, minConfidence: 0.5, iouThreshold: 0.2, maxDetected: -1, landmarks: true, detector: {modelPath: handtrack.json}, skeleton: {modelPath: handlandmark-full.json}}, object: {enabled: true, modelPath: mb3-centernet.json, minConfidence: 0.2, iouThreshold: 0.4, maxDetected: 10, skipFrames: 99, skipTime: 2000}, segmentation: {enabled: false, modelPath: selfie.json, blur: 8}}}
14:40:52.214 +00296ms {models: [{name: ssrnetage, loaded: false}, {name: gear, loaded: false}, {name: blazeposedetect, loaded: false}, {name: blazepose, loaded: false}, {name: centernet, loaded: true}, {name: efficientpose, loaded: false}, {name: mobilefacenet, loaded: false}, {name: emotion, loaded: true}, {name: facedetect, loaded: true}, {name: faceiris, loaded: true}, {name: facemesh, loaded: true}, {name: faceres, loaded: true}, {name: ssrnetgender, loaded: false}, {name: handpose, loaded: false}, {name: handskeleton, loaded: true}, {name: handtrack, loaded: true}, {name: liveness, loaded: false}, {name: movenet, loaded: true}, {name: nanodet, loaded: false}, {name: posenet, loaded: false}, {name: segmentation, loaded: false}, {name: antispoof, loaded: false}]}
14:40:52.214 +00000ms
14:40:52.214 +00000ms test start:wasm
14:40:53.404 +01190ms {initialized: wasm}
14:40:53.404 +00000ms {memory: {unreliable: false, numTensors: 1761, numDataBuffers: 1761, numBytes: 60948216}}
14:40:53.404 +00000ms {validate: []}
14:40:53.884 +00480ms {warmup: face}
14:40:53.967 +00083ms {input: [1, 1200, 1200, 3]}
14:40:54.232 +00265ms {detect: true}
14:40:54.234 +00002ms {interpolated: true}
14:40:54.234 +00000ms {persons: true}
14:40:54.234 +00000ms {summary: {persons: 1, face: 1, body: 1, hand: 1, object: 1, gesture: 6}}
14:40:54.234 +00000ms {performance: {initBackend: 1183, loadModels: 295, inputProcess: 2, totalFrames: 2, cachedFrames: 0, cacheCheck: 0, total: 263, warmup: 479}}
14:40:54.989 +00755ms {benchmark: {time: 71, cacheSensitivity: 0}, performance: {inputProcess: 2, totalFrames: 10, cachedFrames: 0, cacheCheck: 0, total: 52}}
14:40:55.708 +00719ms {benchmark: {time: 70, cacheSensitivity: 0.25}, performance: {inputProcess: 2, totalFrames: 10, cachedFrames: 0, cacheCheck: 0, total: 55}}
14:40:56.418 +00710ms {benchmark: {time: 68, cacheSensitivity: 0.5}, performance: {inputProcess: 1, totalFrames: 10, cachedFrames: 0, cacheCheck: 0, total: 48}}
14:40:57.108 +00690ms {benchmark: {time: 66, cacheSensitivity: 0.75}, performance: {inputProcess: 2, totalFrames: 10, cachedFrames: 0, cacheCheck: 0, total: 54}}
14:40:57.484 +00376ms {benchmark: {time: 34, cacheSensitivity: 10}, performance: {inputProcess: 2, totalFrames: 10, cachedFrames: 8, cacheCheck: 0, total: 48}}
14:40:57.512 +00028ms {memory: {unreliable: false, numTensors: 1762, numDataBuffers: 1762, numBytes: 61734648}}
14:40:57.512 +00000ms
14:40:57.513 +00001ms test start:webgl
14:40:57.550 +00037ms {initialized: webgl}
14:40:57.551 +00001ms {memory: {unreliable: false, numBytesInGPU: 0, numBytesInGPUAllocated: 0, numBytesInGPUFree: 0, numTensors: 1768, numDataBuffers: 1768, numBytes: 61734680}}
14:40:57.551 +00000ms {validate: []}
14:40:59.550 +01999ms {warmup: face}
14:40:59.589 +00039ms {input: [1, 1200, 1200, 3]}
14:41:01.233 +01644ms {detect: true}
14:41:01.234 +00001ms {interpolated: true}
14:41:01.234 +00000ms {persons: true}
14:41:01.234 +00000ms {summary: {persons: 0, face: 0, body: 1, hand: 0, object: 0, gesture: 0}}
14:41:01.234 +00000ms {performance: {inputProcess: 0, totalFrames: 12, cachedFrames: 9, cacheCheck: 0, total: 1639, initBackend: 0, warmup: 1999}}
14:41:03.565 +02331ms {benchmark: {time: 229, cacheSensitivity: 0}, performance: {inputProcess: 0, totalFrames: 10, cachedFrames: 0, cacheCheck: 0, total: 63}}
14:41:04.434 +00869ms {benchmark: {time: 83, cacheSensitivity: 0.25}, performance: {inputProcess: 0, totalFrames: 10, cachedFrames: 0, cacheCheck: 5, total: 54}}
14:41:05.322 +00888ms {benchmark: {time: 84, cacheSensitivity: 0.5}, performance: {inputProcess: 0, totalFrames: 10, cachedFrames: 0, cacheCheck: 4, total: 55}}
14:41:06.268 +00946ms {benchmark: {time: 91, cacheSensitivity: 0.75}, performance: {inputProcess: 0, totalFrames: 10, cachedFrames: 0, cacheCheck: 11, total: 84}}
14:41:06.851 +00583ms {benchmark: {time: 54, cacheSensitivity: 10}, performance: {inputProcess: 0, totalFrames: 10, cachedFrames: 8, cacheCheck: 16, total: 71}}
14:41:06.897 +00046ms {memory: {unreliable: false, numBytesInGPU: 56099560, numBytesInGPUAllocated: 701611228, numBytesInGPUFree: 645511668, numTensors: 1768, numDataBuffers: 1768, numBytes: 61734680}}
14:41:06.898 +00001ms
14:41:06.898 +00000ms test start:humangl
14:41:06.947 +00049ms {initialized: humangl}
14:41:06.947 +00000ms {memory: {unreliable: false, numBytesInGPU: 0, numBytesInGPUAllocated: 0, numBytesInGPUFree: 0, numTensors: 1774, numDataBuffers: 1774, numBytes: 61734712}}
14:41:06.947 +00000ms {validate: []}
14:41:09.119 +02172ms {warmup: face}
14:41:09.189 +00070ms {input: [1, 1200, 1200, 3]}
14:41:09.663 +00474ms {detect: true}
14:41:09.665 +00002ms {interpolated: true}
14:41:09.666 +00001ms {persons: true}
14:41:09.666 +00000ms {summary: {persons: 1, face: 1, body: 1, hand: 0, object: 0, gesture: 1}}
14:41:09.666 +00000ms {performance: {inputProcess: 0, totalFrames: 12, cachedFrames: 9, cacheCheck: 0, total: 473, initBackend: 2, warmup: 2171}}
14:41:12.296 +02630ms {benchmark: {time: 263, cacheSensitivity: 0}, performance: {inputProcess: 0, totalFrames: 10, cachedFrames: 0, cacheCheck: 0, total: 283}}
14:41:14.946 +02650ms {benchmark: {time: 260, cacheSensitivity: 0.25}, performance: {inputProcess: 0, totalFrames: 10, cachedFrames: 0, cacheCheck: 15, total: 249}}
14:41:17.663 +02717ms {benchmark: {time: 266, cacheSensitivity: 0.5}, performance: {inputProcess: 0, totalFrames: 10, cachedFrames: 0, cacheCheck: 15, total: 250}}
14:41:20.513 +02850ms {benchmark: {time: 279, cacheSensitivity: 0.75}, performance: {inputProcess: 0, totalFrames: 10, cachedFrames: 0, cacheCheck: 15, total: 249}}
14:41:21.796 +01283ms {benchmark: {time: 122, cacheSensitivity: 10}, performance: {inputProcess: 0, totalFrames: 10, cachedFrames: 8, cacheCheck: 11, total: 245}}
14:41:21.857 +00061ms {memory: {unreliable: false, numBytesInGPU: 56099560, numBytesInGPUAllocated: 701611228, numBytesInGPUFree: 645511668, numTensors: 1774, numDataBuffers: 1774, numBytes: 61734712}}
14:41:21.857 +00000ms
14:41:21.857 +00000ms test start:webgpu
14:41:21.966 +00109ms {initialized: webgpu}
14:41:21.966 +00000ms {memory: {numBytesInGPU: 0, numBytesAllocatedInGPU: 0, unreliable: false, numTensors: 1780, numDataBuffers: 1780, numBytes: 61734744}}
14:41:21.967 +00001ms {validate: []}
14:41:37.313 +15346ms {warmup: face}
14:41:37.327 +00014ms {input: [1, 1200, 1200, 3]}
14:41:38.482 +01155ms {detect: true}
14:41:38.483 +00001ms {interpolated: true}
14:41:38.483 +00000ms {persons: true}
14:41:38.483 +00000ms {summary: {persons: 1, face: 1, body: 1, hand: 0, object: 0, gesture: 1}}
14:41:38.484 +00001ms {performance: {inputProcess: 0, totalFrames: 12, cachedFrames: 9, cacheCheck: 0, total: 1154, initBackend: 89, warmup: 15345}}
14:41:41.952 +03468ms {benchmark: {time: 347, cacheSensitivity: 0}, performance: {inputProcess: 0, totalFrames: 10, cachedFrames: 0, cacheCheck: 0, total: 68}}
14:41:42.769 +00817ms {benchmark: {time: 77, cacheSensitivity: 0.25}, performance: {inputProcess: 0, totalFrames: 10, cachedFrames: 0, cacheCheck: 3, total: 75}}
14:41:43.586 +00817ms {benchmark: {time: 77, cacheSensitivity: 0.5}, performance: {inputProcess: 0, totalFrames: 10, cachedFrames: 0, cacheCheck: 3, total: 73}}
14:41:44.400 +00814ms {benchmark: {time: 76, cacheSensitivity: 0.75}, performance: {inputProcess: 0, totalFrames: 10, cachedFrames: 0, cacheCheck: 3, total: 71}}
14:41:44.833 +00433ms {benchmark: {time: 38, cacheSensitivity: 10}, performance: {inputProcess: 0, totalFrames: 10, cachedFrames: 8, cacheCheck: 3, total: 77}}
14:41:44.887 +00054ms {memory: {numBytesInGPU: 53317336, numBytesAllocatedInGPU: 402364236, unreliable: false, numTensors: 1780, numDataBuffers: 41787, numBytes: 61734744}}
14:41:44.887 +00000ms
14:41:44.887 +00000ms tests complete

View File

@ -1,24 +1,24 @@
2022-07-21 13:00:58 INFO:  Application: {"name":"@vladmandic/human","version":"2.9.0"}
2022-07-21 13:00:58 INFO:  Environment: {"profile":"production","config":".build.json","package":"package.json","tsconfig":true,"eslintrc":true,"git":true}
2022-07-21 13:00:58 INFO:  Toolchain: {"build":"0.7.7","esbuild":"0.14.49","typescript":"4.7.4","typedoc":"0.23.8","eslint":"8.20.0"}
2022-07-21 13:00:58 INFO:  Build: {"profile":"production","steps":["clean","compile","typings","typedoc","lint","changelog"]}
2022-07-21 13:00:58 STATE: Clean: {"locations":["dist/*","types/lib/*","typedoc/*"]}
2022-07-21 13:00:58 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":102,"outputBytes":608}
2022-07-21 13:00:58 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":74,"inputBytes":647934,"outputBytes":304014}
2022-07-21 13:00:58 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":612}
2022-07-21 13:00:58 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":74,"inputBytes":647938,"outputBytes":304018}
2022-07-21 13:00:58 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":149,"outputBytes":664}
2022-07-21 13:00:58 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":74,"inputBytes":647990,"outputBytes":304068}
2022-07-21 13:00:58 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1069,"outputBytes":358}
2022-07-21 13:00:58 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":1032,"outputBytes":583}
2022-07-21 13:00:58 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":74,"inputBytes":647909,"outputBytes":302893}
2022-07-21 13:00:58 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":11,"inputBytes":1271,"outputBytes":2799617}
2022-07-21 13:00:58 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":74,"inputBytes":3446943,"outputBytes":1678594}
2022-07-21 13:00:58 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":74,"inputBytes":3446943,"outputBytes":3078417}
2022-07-21 13:01:06 STATE: Typings: {"input":"src/human.ts","output":"types/lib","files":30}
2022-07-21 13:01:08 STATE: TypeDoc: {"input":"src/human.ts","output":"typedoc","objects":76,"generated":true}
2022-07-21 13:01:08 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6414,"outputBytes":3094}
2022-07-21 13:01:08 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15174,"outputBytes":7820}
2022-07-21 13:01:20 STATE: Lint: {"locations":["*.json","src/**/*.ts","test/**/*.js","demo/**/*.js"],"files":107,"errors":0,"warnings":0}
2022-07-21 13:01:20 STATE: ChangeLog: {"repository":"https://github.com/vladmandic/human","branch":"main","output":"CHANGELOG.md"}
2022-07-21 13:01:20 INFO:  Done...
2022-07-23 14:42:56 INFO:  Application: {"name":"@vladmandic/human","version":"2.9.0"}
2022-07-23 14:42:56 INFO:  Environment: {"profile":"production","config":".build.json","package":"package.json","tsconfig":true,"eslintrc":true,"git":true}
2022-07-23 14:42:56 INFO:  Toolchain: {"build":"0.7.7","esbuild":"0.14.49","typescript":"4.7.4","typedoc":"0.23.8","eslint":"8.20.0"}
2022-07-23 14:42:56 INFO:  Build: {"profile":"production","steps":["clean","compile","typings","typedoc","lint","changelog"]}
2022-07-23 14:42:56 STATE: Clean: {"locations":["dist/*","types/lib/*","typedoc/*"]}
2022-07-23 14:42:56 STATE: Compile: {"name":"tfjs/nodejs/cpu","format":"cjs","platform":"node","input":"tfjs/tf-node.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":102,"outputBytes":608}
2022-07-23 14:42:56 STATE: Compile: {"name":"human/nodejs/cpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node.js","files":74,"inputBytes":647934,"outputBytes":304014}
2022-07-23 14:42:56 STATE: Compile: {"name":"tfjs/nodejs/gpu","format":"cjs","platform":"node","input":"tfjs/tf-node-gpu.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":110,"outputBytes":612}
2022-07-23 14:42:56 STATE: Compile: {"name":"human/nodejs/gpu","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-gpu.js","files":74,"inputBytes":647938,"outputBytes":304018}
2022-07-23 14:42:56 STATE: Compile: {"name":"tfjs/nodejs/wasm","format":"cjs","platform":"node","input":"tfjs/tf-node-wasm.ts","output":"dist/tfjs.esm.js","files":1,"inputBytes":149,"outputBytes":664}
2022-07-23 14:42:56 STATE: Compile: {"name":"human/nodejs/wasm","format":"cjs","platform":"node","input":"src/human.ts","output":"dist/human.node-wasm.js","files":74,"inputBytes":647990,"outputBytes":304068}
2022-07-23 14:42:56 STATE: Compile: {"name":"tfjs/browser/version","format":"esm","platform":"browser","input":"tfjs/tf-version.ts","output":"dist/tfjs.version.js","files":1,"inputBytes":1069,"outputBytes":358}
2022-07-23 14:42:56 STATE: Compile: {"name":"tfjs/browser/esm/nobundle","format":"esm","platform":"browser","input":"tfjs/tf-browser.ts","output":"dist/tfjs.esm.js","files":2,"inputBytes":1032,"outputBytes":583}
2022-07-23 14:42:56 STATE: Compile: {"name":"human/browser/esm/nobundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm-nobundle.js","files":74,"inputBytes":647909,"outputBytes":302893}
2022-07-23 14:42:56 STATE: Compile: {"name":"tfjs/browser/esm/custom","format":"esm","platform":"browser","input":"tfjs/tf-custom.ts","output":"dist/tfjs.esm.js","files":11,"inputBytes":1271,"outputBytes":2799051}
2022-07-23 14:42:57 STATE: Compile: {"name":"human/browser/iife/bundle","format":"iife","platform":"browser","input":"src/human.ts","output":"dist/human.js","files":74,"inputBytes":3446377,"outputBytes":1678221}
2022-07-23 14:42:57 STATE: Compile: {"name":"human/browser/esm/bundle","format":"esm","platform":"browser","input":"src/human.ts","output":"dist/human.esm.js","files":74,"inputBytes":3446377,"outputBytes":3077876}
2022-07-23 14:43:03 STATE: Typings: {"input":"src/human.ts","output":"types/lib","files":30}
2022-07-23 14:43:05 STATE: TypeDoc: {"input":"src/human.ts","output":"typedoc","objects":76,"generated":true}
2022-07-23 14:43:05 STATE: Compile: {"name":"demo/typescript","format":"esm","platform":"browser","input":"demo/typescript/index.ts","output":"demo/typescript/index.js","files":1,"inputBytes":6414,"outputBytes":3094}
2022-07-23 14:43:05 STATE: Compile: {"name":"demo/faceid","format":"esm","platform":"browser","input":"demo/faceid/index.ts","output":"demo/faceid/index.js","files":2,"inputBytes":15174,"outputBytes":7820}
2022-07-23 14:43:16 STATE: Lint: {"locations":["*.json","src/**/*.ts","test/**/*.js","demo/**/*.js"],"files":107,"errors":0,"warnings":0}
2022-07-23 14:43:16 STATE: ChangeLog: {"repository":"https://github.com/vladmandic/human","branch":"main","output":"CHANGELOG.md"}
2022-07-23 14:43:16 INFO:  Done...

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

View File

@ -35,7 +35,7 @@ the command line converter tool and loaded via <code>tf.loadGraphModel</code>.</
<ul class="tsd-hierarchy">
<li><span class="tsd-signature-type">InferenceModel</span></li></ul></section><aside class="tsd-sources">
<ul>
<li>Defined in node_modules/.pnpm/@tensorflow+tfjs-converter@3.18.0_br26fteayl44zj43fz4bazb7oq/node_modules/@tensorflow/tfjs-converter/dist/executor/graph_model.d.ts:34</li></ul></aside>
<li>Defined in node_modules/.pnpm/@tensorflow+tfjs-converter@3.19.0_hek32lflchivueqv5i4vgonghu/node_modules/@tensorflow/tfjs-converter/dist/executor/graph_model.d.ts:34</li></ul></aside>
<section class="tsd-panel-group tsd-index-group">
<section class="tsd-panel tsd-index-panel">
<details class="tsd-index-content tsd-index-accordion" open><summary class="tsd-accordion-summary tsd-index-summary">
@ -51,6 +51,7 @@ the command line converter tool and loaded via <code>tf.loadGraphModel</code>.</
<a href="GraphModel.html#inputs" class="tsd-index-link tsd-kind-property tsd-parent-kind-class"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg><span>inputs</span></a>
<a href="GraphModel.html#metadata" class="tsd-index-link tsd-kind-property tsd-parent-kind-class"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg><span>metadata</span></a>
<a href="GraphModel.html#modelSignature" class="tsd-index-link tsd-kind-property tsd-parent-kind-class"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg><span>model<wbr/>Signature</span></a>
<a href="GraphModel.html#modelStructuredOutputKeys" class="tsd-index-link tsd-kind-property tsd-parent-kind-class"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg><span>model<wbr/>Structured<wbr/>Output<wbr/>Keys</span></a>
<a href="GraphModel.html#modelVersion" class="tsd-index-link tsd-kind-property tsd-parent-kind-class"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg><span>model<wbr/>Version</span></a>
<a href="GraphModel.html#outputNodes" class="tsd-index-link tsd-kind-property tsd-parent-kind-class"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg><span>output<wbr/>Nodes</span></a>
<a href="GraphModel.html#outputs" class="tsd-index-link tsd-kind-property tsd-parent-kind-class"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg><span>outputs</span></a>
@ -73,7 +74,7 @@ the command line converter tool and loaded via <code>tf.loadGraphModel</code>.</
<section class="tsd-panel tsd-member tsd-kind-constructor tsd-parent-kind-class"><a id="constructor" class="tsd-anchor"></a>
<h3 class="tsd-anchor-link"><span>constructor</span><a href="#constructor" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none" id="icon-anchor-a"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5" id="icon-anchor-b"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5" id="icon-anchor-c"></path></svg></a></h3>
<ul class="tsd-signatures tsd-kind-constructor tsd-parent-kind-class">
<li class="tsd-signature tsd-anchor-link" id="constructor.new_GraphModel">new <wbr/>Graph<wbr/>Model<span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">ModelURL</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">(</span>modelUrl<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">ModelURL</span>, loadOptions<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">LoadOptions</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="GraphModel.html" class="tsd-signature-type" data-tsd-kind="Class">GraphModel</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">ModelURL</span><span class="tsd-signature-symbol">&gt;</span><a href="#constructor.new_GraphModel" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
<li class="tsd-signature tsd-anchor-link" id="constructor.new_GraphModel">new <wbr/>Graph<wbr/>Model<span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">ModelURL</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">(</span>modelUrl<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">ModelURL</span>, loadOptions<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">LoadOptions</span>, tfio<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">__module</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="GraphModel.html" class="tsd-signature-type" data-tsd-kind="Class">GraphModel</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">ModelURL</span><span class="tsd-signature-symbol">&gt;</span><a href="#constructor.new_GraphModel" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></li>
<li class="tsd-description">
<div class="tsd-type-parameters">
<h4 class="tsd-type-parameters-title">Type Parameters</h4>
@ -88,23 +89,25 @@ the command line converter tool and loaded via <code>tf.loadGraphModel</code>.</
<div class="tsd-comment tsd-typography"><p>url for the model, or an <code>io.IOHandler</code>.</p>
</div></li>
<li>
<h5><code class="tsd-tag ts-flagOptional">Optional</code> loadOptions: <span class="tsd-signature-type">LoadOptions</span></h5></li></ul></div>
<h5><code class="tsd-tag ts-flagOptional">Optional</code> loadOptions: <span class="tsd-signature-type">LoadOptions</span></h5></li>
<li>
<h5><code class="tsd-tag ts-flagOptional">Optional</code> tfio: <span class="tsd-signature-type">__module</span></h5></li></ul></div>
<h4 class="tsd-returns-title">Returns <a href="GraphModel.html" class="tsd-signature-type" data-tsd-kind="Class">GraphModel</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">ModelURL</span><span class="tsd-signature-symbol">&gt;</span></h4><aside class="tsd-sources">
<ul>
<li>Defined in node_modules/.pnpm/@tensorflow+tfjs-converter@3.18.0_br26fteayl44zj43fz4bazb7oq/node_modules/@tensorflow/tfjs-converter/dist/executor/graph_model.d.ts:61</li></ul></aside></li></ul></section></section>
<li>Defined in node_modules/.pnpm/@tensorflow+tfjs-converter@3.19.0_hek32lflchivueqv5i4vgonghu/node_modules/@tensorflow/tfjs-converter/dist/executor/graph_model.d.ts:64</li></ul></aside></li></ul></section></section>
<section class="tsd-panel-group tsd-member-group">
<h2>Properties</h2>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class"><a id="inputNodes" class="tsd-anchor"></a>
<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagReadonly">Readonly</code> <span>input<wbr/>Nodes</span><a href="#inputNodes" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
<div class="tsd-signature">input<wbr/>Nodes<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">[]</span></div><aside class="tsd-sources">
<ul>
<li>Defined in node_modules/.pnpm/@tensorflow+tfjs-converter@3.18.0_br26fteayl44zj43fz4bazb7oq/node_modules/@tensorflow/tfjs-converter/dist/executor/graph_model.d.ts:45</li></ul></aside></section>
<li>Defined in node_modules/.pnpm/@tensorflow+tfjs-converter@3.19.0_hek32lflchivueqv5i4vgonghu/node_modules/@tensorflow/tfjs-converter/dist/executor/graph_model.d.ts:47</li></ul></aside></section>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class"><a id="inputs" class="tsd-anchor"></a>
<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagReadonly">Readonly</code> <span>inputs</span><a href="#inputs" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
<div class="tsd-signature">inputs<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">TensorInfo</span><span class="tsd-signature-symbol">[]</span></div><aside class="tsd-sources">
<p>Implementation of InferenceModel.inputs</p>
<ul>
<li>Defined in node_modules/.pnpm/@tensorflow+tfjs-converter@3.18.0_br26fteayl44zj43fz4bazb7oq/node_modules/@tensorflow/tfjs-converter/dist/executor/graph_model.d.ts:47</li></ul></aside></section>
<li>Defined in node_modules/.pnpm/@tensorflow+tfjs-converter@3.19.0_hek32lflchivueqv5i4vgonghu/node_modules/@tensorflow/tfjs-converter/dist/executor/graph_model.d.ts:49</li></ul></aside></section>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class"><a id="metadata" class="tsd-anchor"></a>
<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagReadonly">Readonly</code> <span>metadata</span><a href="#metadata" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
<div class="tsd-signature">metadata<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">{}</span></div>
@ -112,7 +115,7 @@ the command line converter tool and loaded via <code>tf.loadGraphModel</code>.</
<h4>Type declaration</h4>
<ul class="tsd-parameters"></ul></div><aside class="tsd-sources">
<ul>
<li>Defined in node_modules/.pnpm/@tensorflow+tfjs-converter@3.18.0_br26fteayl44zj43fz4bazb7oq/node_modules/@tensorflow/tfjs-converter/dist/executor/graph_model.d.ts:50</li></ul></aside></section>
<li>Defined in node_modules/.pnpm/@tensorflow+tfjs-converter@3.19.0_hek32lflchivueqv5i4vgonghu/node_modules/@tensorflow/tfjs-converter/dist/executor/graph_model.d.ts:52</li></ul></aside></section>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class"><a id="modelSignature" class="tsd-anchor"></a>
<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagReadonly">Readonly</code> <span>model<wbr/>Signature</span><a href="#modelSignature" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
<div class="tsd-signature">model<wbr/>Signature<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">{}</span></div>
@ -120,28 +123,36 @@ the command line converter tool and loaded via <code>tf.loadGraphModel</code>.</
<h4>Type declaration</h4>
<ul class="tsd-parameters"></ul></div><aside class="tsd-sources">
<ul>
<li>Defined in node_modules/.pnpm/@tensorflow+tfjs-converter@3.18.0_br26fteayl44zj43fz4bazb7oq/node_modules/@tensorflow/tfjs-converter/dist/executor/graph_model.d.ts:51</li></ul></aside></section>
<li>Defined in node_modules/.pnpm/@tensorflow+tfjs-converter@3.19.0_hek32lflchivueqv5i4vgonghu/node_modules/@tensorflow/tfjs-converter/dist/executor/graph_model.d.ts:53</li></ul></aside></section>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class"><a id="modelStructuredOutputKeys" class="tsd-anchor"></a>
<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagReadonly">Readonly</code> <span>model<wbr/>Structured<wbr/>Output<wbr/>Keys</span><a href="#modelStructuredOutputKeys" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
<div class="tsd-signature">model<wbr/>Structured<wbr/>Output<wbr/>Keys<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">{}</span></div>
<div class="tsd-type-declaration">
<h4>Type declaration</h4>
<ul class="tsd-parameters"></ul></div><aside class="tsd-sources">
<ul>
<li>Defined in node_modules/.pnpm/@tensorflow+tfjs-converter@3.19.0_hek32lflchivueqv5i4vgonghu/node_modules/@tensorflow/tfjs-converter/dist/executor/graph_model.d.ts:54</li></ul></aside></section>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class"><a id="modelVersion" class="tsd-anchor"></a>
<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagReadonly">Readonly</code> <span>model<wbr/>Version</span><a href="#modelVersion" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
<div class="tsd-signature">model<wbr/>Version<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div><aside class="tsd-sources">
<ul>
<li>Defined in node_modules/.pnpm/@tensorflow+tfjs-converter@3.18.0_br26fteayl44zj43fz4bazb7oq/node_modules/@tensorflow/tfjs-converter/dist/executor/graph_model.d.ts:44</li></ul></aside></section>
<li>Defined in node_modules/.pnpm/@tensorflow+tfjs-converter@3.19.0_hek32lflchivueqv5i4vgonghu/node_modules/@tensorflow/tfjs-converter/dist/executor/graph_model.d.ts:46</li></ul></aside></section>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class"><a id="outputNodes" class="tsd-anchor"></a>
<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagReadonly">Readonly</code> <span>output<wbr/>Nodes</span><a href="#outputNodes" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
<div class="tsd-signature">output<wbr/>Nodes<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">[]</span></div><aside class="tsd-sources">
<ul>
<li>Defined in node_modules/.pnpm/@tensorflow+tfjs-converter@3.18.0_br26fteayl44zj43fz4bazb7oq/node_modules/@tensorflow/tfjs-converter/dist/executor/graph_model.d.ts:46</li></ul></aside></section>
<li>Defined in node_modules/.pnpm/@tensorflow+tfjs-converter@3.19.0_hek32lflchivueqv5i4vgonghu/node_modules/@tensorflow/tfjs-converter/dist/executor/graph_model.d.ts:48</li></ul></aside></section>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class"><a id="outputs" class="tsd-anchor"></a>
<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagReadonly">Readonly</code> <span>outputs</span><a href="#outputs" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
<div class="tsd-signature">outputs<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">TensorInfo</span><span class="tsd-signature-symbol">[]</span></div><aside class="tsd-sources">
<p>Implementation of InferenceModel.outputs</p>
<ul>
<li>Defined in node_modules/.pnpm/@tensorflow+tfjs-converter@3.18.0_br26fteayl44zj43fz4bazb7oq/node_modules/@tensorflow/tfjs-converter/dist/executor/graph_model.d.ts:48</li></ul></aside></section>
<li>Defined in node_modules/.pnpm/@tensorflow+tfjs-converter@3.19.0_hek32lflchivueqv5i4vgonghu/node_modules/@tensorflow/tfjs-converter/dist/executor/graph_model.d.ts:50</li></ul></aside></section>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class"><a id="weights" class="tsd-anchor"></a>
<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagReadonly">Readonly</code> <span>weights</span><a href="#weights" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
<div class="tsd-signature">weights<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">NamedTensorsMap</span></div><aside class="tsd-sources">
<ul>
<li>Defined in node_modules/.pnpm/@tensorflow+tfjs-converter@3.18.0_br26fteayl44zj43fz4bazb7oq/node_modules/@tensorflow/tfjs-converter/dist/executor/graph_model.d.ts:49</li></ul></aside></section></section>
<li>Defined in node_modules/.pnpm/@tensorflow+tfjs-converter@3.19.0_hek32lflchivueqv5i4vgonghu/node_modules/@tensorflow/tfjs-converter/dist/executor/graph_model.d.ts:51</li></ul></aside></section></section>
<section class="tsd-panel-group tsd-member-group">
<h2>Methods</h2>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a id="dispose" class="tsd-anchor"></a>
@ -154,7 +165,7 @@ the command line converter tool and loaded via <code>tf.loadGraphModel</code>.</
<h3>Doc</h3></div>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><aside class="tsd-sources">
<ul>
<li>Defined in node_modules/.pnpm/@tensorflow+tfjs-converter@3.18.0_br26fteayl44zj43fz4bazb7oq/node_modules/@tensorflow/tfjs-converter/dist/executor/graph_model.d.ts:215</li></ul></aside></li></ul></section>
<li>Defined in node_modules/.pnpm/@tensorflow+tfjs-converter@3.19.0_hek32lflchivueqv5i4vgonghu/node_modules/@tensorflow/tfjs-converter/dist/executor/graph_model.d.ts:219</li></ul></aside></li></ul></section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a id="disposeIntermediateTensors" class="tsd-anchor"></a>
<h3 class="tsd-anchor-link"><span>dispose<wbr/>Intermediate<wbr/>Tensors</span><a href="#disposeIntermediateTensors" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
@ -166,7 +177,7 @@ KEEP_INTERMEDIATE_TENSORS is true).</p>
<h3>Doc</h3></div>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><aside class="tsd-sources">
<ul>
<li>Defined in node_modules/.pnpm/@tensorflow+tfjs-converter@3.18.0_br26fteayl44zj43fz4bazb7oq/node_modules/@tensorflow/tfjs-converter/dist/executor/graph_model.d.ts:208</li></ul></aside></li></ul></section>
<li>Defined in node_modules/.pnpm/@tensorflow+tfjs-converter@3.19.0_hek32lflchivueqv5i4vgonghu/node_modules/@tensorflow/tfjs-converter/dist/executor/graph_model.d.ts:212</li></ul></aside></li></ul></section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a id="execute" class="tsd-anchor"></a>
<h3 class="tsd-anchor-link"><span>execute</span><a href="#execute" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
@ -198,7 +209,7 @@ outputs array.</p>
<h4 class="tsd-returns-title">Returns <a href="Tensor-1.html" class="tsd-signature-type" data-tsd-kind="Class">Tensor</a><span class="tsd-signature-symbol">&lt;</span><a href="../enums/Rank.html" class="tsd-signature-type" data-tsd-kind="Enumeration">Rank</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol"> | </span><a href="Tensor-1.html" class="tsd-signature-type" data-tsd-kind="Class">Tensor</a><span class="tsd-signature-symbol">&lt;</span><a href="../enums/Rank.html" class="tsd-signature-type" data-tsd-kind="Enumeration">Rank</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">[]</span></h4><aside class="tsd-sources">
<p>Implementation of InferenceModel.execute</p>
<ul>
<li>Defined in node_modules/.pnpm/@tensorflow+tfjs-converter@3.18.0_br26fteayl44zj43fz4bazb7oq/node_modules/@tensorflow/tfjs-converter/dist/executor/graph_model.d.ts:177</li></ul></aside></li></ul></section>
<li>Defined in node_modules/.pnpm/@tensorflow+tfjs-converter@3.19.0_hek32lflchivueqv5i4vgonghu/node_modules/@tensorflow/tfjs-converter/dist/executor/graph_model.d.ts:181</li></ul></aside></li></ul></section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a id="executeAsync" class="tsd-anchor"></a>
<h3 class="tsd-anchor-link"><span>execute<wbr/>Async</span><a href="#executeAsync" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
@ -229,7 +240,7 @@ array.</p>
</div></li></ul></div>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><a href="Tensor-1.html" class="tsd-signature-type" data-tsd-kind="Class">Tensor</a><span class="tsd-signature-symbol">&lt;</span><a href="../enums/Rank.html" class="tsd-signature-type" data-tsd-kind="Enumeration">Rank</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol"> | </span><a href="Tensor-1.html" class="tsd-signature-type" data-tsd-kind="Class">Tensor</a><span class="tsd-signature-symbol">&lt;</span><a href="../enums/Rank.html" class="tsd-signature-type" data-tsd-kind="Enumeration">Rank</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">&gt;</span></h4><aside class="tsd-sources">
<ul>
<li>Defined in node_modules/.pnpm/@tensorflow+tfjs-converter@3.18.0_br26fteayl44zj43fz4bazb7oq/node_modules/@tensorflow/tfjs-converter/dist/executor/graph_model.d.ts:194</li></ul></aside></li></ul></section>
<li>Defined in node_modules/.pnpm/@tensorflow+tfjs-converter@3.19.0_hek32lflchivueqv5i4vgonghu/node_modules/@tensorflow/tfjs-converter/dist/executor/graph_model.d.ts:198</li></ul></aside></li></ul></section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a id="getIntermediateTensors" class="tsd-anchor"></a>
<h3 class="tsd-anchor-link"><span>get<wbr/>Intermediate<wbr/>Tensors</span><a href="#getIntermediateTensors" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
@ -241,7 +252,7 @@ KEEP_INTERMEDIATE_TENSORS is true).</p>
<h3>Doc</h3></div>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">NamedTensorsMap</span></h4><aside class="tsd-sources">
<ul>
<li>Defined in node_modules/.pnpm/@tensorflow+tfjs-converter@3.18.0_br26fteayl44zj43fz4bazb7oq/node_modules/@tensorflow/tfjs-converter/dist/executor/graph_model.d.ts:201</li></ul></aside></li></ul></section>
<li>Defined in node_modules/.pnpm/@tensorflow+tfjs-converter@3.19.0_hek32lflchivueqv5i4vgonghu/node_modules/@tensorflow/tfjs-converter/dist/executor/graph_model.d.ts:205</li></ul></aside></li></ul></section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a id="load" class="tsd-anchor"></a>
<h3 class="tsd-anchor-link"><span>load</span><a href="#load" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
@ -252,7 +263,7 @@ compile the inference graph.</p>
</div>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">UrlIOHandler</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">ModelURL</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol"> extends </span><span class="tsd-signature-type">IOHandlerSync</span><span class="tsd-signature-symbol"> ? </span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol"> : </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">&gt;</span></h4><aside class="tsd-sources">
<ul>
<li>Defined in node_modules/.pnpm/@tensorflow+tfjs-converter@3.18.0_br26fteayl44zj43fz4bazb7oq/node_modules/@tensorflow/tfjs-converter/dist/executor/graph_model.d.ts:67</li></ul></aside></li></ul></section>
<li>Defined in node_modules/.pnpm/@tensorflow+tfjs-converter@3.19.0_hek32lflchivueqv5i4vgonghu/node_modules/@tensorflow/tfjs-converter/dist/executor/graph_model.d.ts:70</li></ul></aside></li></ul></section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a id="loadSync" class="tsd-anchor"></a>
<h3 class="tsd-anchor-link"><span>load<wbr/>Sync</span><a href="#loadSync" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
@ -269,7 +280,7 @@ compile the inference graph. Also initialize hashtable if any.</p>
<h5>artifacts: <span class="tsd-signature-type">ModelArtifacts</span></h5></li></ul></div>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4><aside class="tsd-sources">
<ul>
<li>Defined in node_modules/.pnpm/@tensorflow+tfjs-converter@3.18.0_br26fteayl44zj43fz4bazb7oq/node_modules/@tensorflow/tfjs-converter/dist/executor/graph_model.d.ts:74</li></ul></aside></li></ul></section>
<li>Defined in node_modules/.pnpm/@tensorflow+tfjs-converter@3.19.0_hek32lflchivueqv5i4vgonghu/node_modules/@tensorflow/tfjs-converter/dist/executor/graph_model.d.ts:77</li></ul></aside></li></ul></section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a id="predict" class="tsd-anchor"></a>
<h3 class="tsd-anchor-link"><span>predict</span><a href="#predict" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
@ -291,9 +302,11 @@ is [1, 244, 244, 3], which represents the [batch, height, width, channel].
If we are provide a batched data of 100 images, the input tensor should be
in the shape of [100, 244, 244, 3].</p>
<h3>Returns</h3><p>Inference result tensors. The output would be single <code>tf.Tensor</code>
if model has single output node, otherwise Tensor[] or NamedTensorMap[]
will be returned for model with multiple outputs.</p>
<h3>Returns</h3><p>Inference result tensors. If the model is converted and it
originally had structured_outputs in tensorflow, then a NamedTensorMap
will be returned matching the structured_outputs. If no structured_outputs
are present, the output will be single <code>tf.Tensor</code> if the model has single
output node, otherwise Tensor[].</p>
<h3>Doc</h3></div>
<div class="tsd-parameters">
@ -303,14 +316,13 @@ will be returned for model with multiple outputs.</p>
<h5>inputs: <a href="Tensor-1.html" class="tsd-signature-type" data-tsd-kind="Class">Tensor</a><span class="tsd-signature-symbol">&lt;</span><a href="../enums/Rank.html" class="tsd-signature-type" data-tsd-kind="Enumeration">Rank</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol"> | </span><a href="Tensor-1.html" class="tsd-signature-type" data-tsd-kind="Class">Tensor</a><span class="tsd-signature-symbol">&lt;</span><a href="../enums/Rank.html" class="tsd-signature-type" data-tsd-kind="Enumeration">Rank</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">NamedTensorMap</span></h5></li>
<li>
<h5><code class="tsd-tag ts-flagOptional">Optional</code> config: <span class="tsd-signature-type">ModelPredictConfig</span></h5>
<div class="tsd-comment tsd-typography"><p>Prediction configuration for specifying the batch size and
output node names. Currently the batch size option is ignored for graph
model.</p>
<div class="tsd-comment tsd-typography"><p>Prediction configuration for specifying the batch size.
Currently the batch size option is ignored for graph model.</p>
</div></li></ul></div>
<h4 class="tsd-returns-title">Returns <a href="Tensor-1.html" class="tsd-signature-type" data-tsd-kind="Class">Tensor</a><span class="tsd-signature-symbol">&lt;</span><a href="../enums/Rank.html" class="tsd-signature-type" data-tsd-kind="Enumeration">Rank</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol"> | </span><a href="Tensor-1.html" class="tsd-signature-type" data-tsd-kind="Class">Tensor</a><span class="tsd-signature-symbol">&lt;</span><a href="../enums/Rank.html" class="tsd-signature-type" data-tsd-kind="Enumeration">Rank</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">NamedTensorMap</span></h4><aside class="tsd-sources">
<p>Implementation of InferenceModel.predict</p>
<ul>
<li>Defined in node_modules/.pnpm/@tensorflow+tfjs-converter@3.18.0_br26fteayl44zj43fz4bazb7oq/node_modules/@tensorflow/tfjs-converter/dist/executor/graph_model.d.ts:158</li></ul></aside></li></ul></section>
<li>Defined in node_modules/.pnpm/@tensorflow+tfjs-converter@3.19.0_hek32lflchivueqv5i4vgonghu/node_modules/@tensorflow/tfjs-converter/dist/executor/graph_model.d.ts:162</li></ul></aside></li></ul></section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a id="save" class="tsd-anchor"></a>
<h3 class="tsd-anchor-link"><span>save</span><a href="#save" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
@ -354,7 +366,7 @@ scheme-based string shortcut for <code>IOHandler</code>.</p>
</div></li></ul></div>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">SaveResult</span><span class="tsd-signature-symbol">&gt;</span></h4><aside class="tsd-sources">
<ul>
<li>Defined in node_modules/.pnpm/@tensorflow+tfjs-converter@3.18.0_br26fteayl44zj43fz4bazb7oq/node_modules/@tensorflow/tfjs-converter/dist/executor/graph_model.d.ts:119</li></ul></aside></li></ul></section></section></div>
<li>Defined in node_modules/.pnpm/@tensorflow+tfjs-converter@3.19.0_hek32lflchivueqv5i4vgonghu/node_modules/@tensorflow/tfjs-converter/dist/executor/graph_model.d.ts:122</li></ul></aside></li></ul></section></section></div>
<div class="col-4 col-menu menu-sticky-wrap menu-highlight">
<div class="tsd-navigation settings">
<details class="tsd-index-accordion"><summary class="tsd-accordion-summary">
@ -386,6 +398,7 @@ scheme-based string shortcut for <code>IOHandler</code>.</p>
<li class="tsd-kind-property tsd-parent-kind-class"><a href="GraphModel.html#inputs" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg>inputs</a></li>
<li class="tsd-kind-property tsd-parent-kind-class"><a href="GraphModel.html#metadata" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg>metadata</a></li>
<li class="tsd-kind-property tsd-parent-kind-class"><a href="GraphModel.html#modelSignature" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg>model<wbr/>Signature</a></li>
<li class="tsd-kind-property tsd-parent-kind-class"><a href="GraphModel.html#modelStructuredOutputKeys" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg>model<wbr/>Structured<wbr/>Output<wbr/>Keys</a></li>
<li class="tsd-kind-property tsd-parent-kind-class"><a href="GraphModel.html#modelVersion" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg>model<wbr/>Version</a></li>
<li class="tsd-kind-property tsd-parent-kind-class"><a href="GraphModel.html#outputNodes" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg>output<wbr/>Nodes</a></li>
<li class="tsd-kind-property tsd-parent-kind-class"><a href="GraphModel.html#outputs" class="tsd-index-link"><svg class="tsd-kind-icon" width="24" height="24" viewBox="0 0 24 24"><use href="#icon-1024-path"></use><use href="#icon-1024-text"></use></svg>outputs</a></li>

View File

@ -34,8 +34,8 @@ changing the input data or create a copy with <code>copy = tf.add(yourTensor, 0)
<ul class="tsd-hierarchy">
<li><span class="target">Tensor</span></li></ul></section><aside class="tsd-sources">
<ul>
<li>Defined in node_modules/.pnpm/@tensorflow+tfjs-core@3.18.0/node_modules/@tensorflow/tfjs-core/dist/tensor.d.ts:124</li>
<li>Defined in node_modules/.pnpm/@tensorflow+tfjs-core@3.18.0/node_modules/@tensorflow/tfjs-core/dist/tensor.d.ts:139</li></ul></aside>
<li>Defined in node_modules/.pnpm/@tensorflow+tfjs-core@3.19.0/node_modules/@tensorflow/tfjs-core/dist/tensor.d.ts:124</li>
<li>Defined in node_modules/.pnpm/@tensorflow+tfjs-core@3.19.0/node_modules/@tensorflow/tfjs-core/dist/tensor.d.ts:139</li></ul></aside>
<section class="tsd-panel-group tsd-index-group">
<section class="tsd-panel tsd-index-panel">
<details class="tsd-index-content tsd-index-accordion" open><summary class="tsd-accordion-summary tsd-index-summary">
@ -101,7 +101,7 @@ changing the input data or create a copy with <code>copy = tf.add(yourTensor, 0)
<h5>id: <span class="tsd-signature-type">number</span></h5></li></ul></div>
<h4 class="tsd-returns-title">Returns <a href="Tensor-1.html" class="tsd-signature-type" data-tsd-kind="Class">Tensor</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">R</span><span class="tsd-signature-symbol">&gt;</span></h4><aside class="tsd-sources">
<ul>
<li>Defined in node_modules/.pnpm/@tensorflow+tfjs-core@3.18.0/node_modules/@tensorflow/tfjs-core/dist/tensor.d.ts:165</li></ul></aside></li></ul></section></section>
<li>Defined in node_modules/.pnpm/@tensorflow+tfjs-core@3.19.0/node_modules/@tensorflow/tfjs-core/dist/tensor.d.ts:165</li></ul></aside></li></ul></section></section>
<section class="tsd-panel-group tsd-member-group">
<h2>Properties</h2>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class"><a id="dataId" class="tsd-anchor"></a>
@ -111,66 +111,66 @@ changing the input data or create a copy with <code>copy = tf.add(yourTensor, 0)
point to the same bucket (e.g. when calling array.reshape()).</p>
</div><aside class="tsd-sources">
<ul>
<li>Defined in node_modules/.pnpm/@tensorflow+tfjs-core@3.18.0/node_modules/@tensorflow/tfjs-core/dist/tensor.d.ts:146</li></ul></aside></section>
<li>Defined in node_modules/.pnpm/@tensorflow+tfjs-core@3.19.0/node_modules/@tensorflow/tfjs-core/dist/tensor.d.ts:146</li></ul></aside></section>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class"><a id="dtype" class="tsd-anchor"></a>
<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagReadonly">Readonly</code> <span>dtype</span><a href="#dtype" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
<div class="tsd-signature">dtype<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">keyof </span><span class="tsd-signature-type">DataTypeMap</span></div>
<div class="tsd-comment tsd-typography"><p>The data type for the array.</p>
</div><aside class="tsd-sources">
<ul>
<li>Defined in node_modules/.pnpm/@tensorflow+tfjs-core@3.18.0/node_modules/@tensorflow/tfjs-core/dist/tensor.d.ts:152</li></ul></aside></section>
<li>Defined in node_modules/.pnpm/@tensorflow+tfjs-core@3.19.0/node_modules/@tensorflow/tfjs-core/dist/tensor.d.ts:152</li></ul></aside></section>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class"><a id="id" class="tsd-anchor"></a>
<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagReadonly">Readonly</code> <span>id</span><a href="#id" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
<div class="tsd-signature">id<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div>
<div class="tsd-comment tsd-typography"><p>Unique id of this tensor.</p>
</div><aside class="tsd-sources">
<ul>
<li>Defined in node_modules/.pnpm/@tensorflow+tfjs-core@3.18.0/node_modules/@tensorflow/tfjs-core/dist/tensor.d.ts:141</li></ul></aside></section>
<li>Defined in node_modules/.pnpm/@tensorflow+tfjs-core@3.19.0/node_modules/@tensorflow/tfjs-core/dist/tensor.d.ts:141</li></ul></aside></section>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class"><a id="isDisposed" class="tsd-anchor"></a>
<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagReadonly">Readonly</code> <span>is<wbr/>Disposed</span><a href="#isDisposed" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
<div class="tsd-signature">is<wbr/>Disposed<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span></div><aside class="tsd-sources">
<ul>
<li>Defined in node_modules/.pnpm/@tensorflow+tfjs-core@3.18.0/node_modules/@tensorflow/tfjs-core/dist/tensor.d.ts:252</li></ul></aside></section>
<li>Defined in node_modules/.pnpm/@tensorflow+tfjs-core@3.19.0/node_modules/@tensorflow/tfjs-core/dist/tensor.d.ts:252</li></ul></aside></section>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class"><a id="kept" class="tsd-anchor"></a>
<h3 class="tsd-anchor-link"><span>kept</span><a href="#kept" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
<div class="tsd-signature">kept<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">boolean</span></div>
<div class="tsd-comment tsd-typography"><p>Whether this tensor has been globally kept.</p>
</div><aside class="tsd-sources">
<ul>
<li>Defined in node_modules/.pnpm/@tensorflow+tfjs-core@3.18.0/node_modules/@tensorflow/tfjs-core/dist/tensor.d.ts:156</li></ul></aside></section>
<li>Defined in node_modules/.pnpm/@tensorflow+tfjs-core@3.19.0/node_modules/@tensorflow/tfjs-core/dist/tensor.d.ts:156</li></ul></aside></section>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class"><a id="rank" class="tsd-anchor"></a>
<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagReadonly">Readonly</code> <span>rank</span><a href="#rank" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
<div class="tsd-signature">rank<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div><aside class="tsd-sources">
<ul>
<li>Defined in node_modules/.pnpm/@tensorflow+tfjs-core@3.18.0/node_modules/@tensorflow/tfjs-core/dist/tensor.d.ts:166</li></ul></aside></section>
<li>Defined in node_modules/.pnpm/@tensorflow+tfjs-core@3.19.0/node_modules/@tensorflow/tfjs-core/dist/tensor.d.ts:166</li></ul></aside></section>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class"><a id="rankType" class="tsd-anchor"></a>
<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagReadonly">Readonly</code> <span>rank<wbr/>Type</span><a href="#rankType" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
<div class="tsd-signature">rank<wbr/>Type<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type" data-tsd-kind="Type parameter">R</span></div>
<div class="tsd-comment tsd-typography"><p>The rank type for the array (see <code>Rank</code> enum).</p>
</div><aside class="tsd-sources">
<ul>
<li>Defined in node_modules/.pnpm/@tensorflow+tfjs-core@3.18.0/node_modules/@tensorflow/tfjs-core/dist/tensor.d.ts:154</li></ul></aside></section>
<li>Defined in node_modules/.pnpm/@tensorflow+tfjs-core@3.19.0/node_modules/@tensorflow/tfjs-core/dist/tensor.d.ts:154</li></ul></aside></section>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class"><a id="scopeId" class="tsd-anchor"></a>
<h3 class="tsd-anchor-link"><span>scope<wbr/>Id</span><a href="#scopeId" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
<div class="tsd-signature">scope<wbr/>Id<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div>
<div class="tsd-comment tsd-typography"><p>The id of the scope this tensor is being tracked in.</p>
</div><aside class="tsd-sources">
<ul>
<li>Defined in node_modules/.pnpm/@tensorflow+tfjs-core@3.18.0/node_modules/@tensorflow/tfjs-core/dist/tensor.d.ts:158</li></ul></aside></section>
<li>Defined in node_modules/.pnpm/@tensorflow+tfjs-core@3.19.0/node_modules/@tensorflow/tfjs-core/dist/tensor.d.ts:158</li></ul></aside></section>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class"><a id="shape" class="tsd-anchor"></a>
<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagReadonly">Readonly</code> <span>shape</span><a href="#shape" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
<div class="tsd-signature">shape<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">ShapeMap</span><span class="tsd-signature-symbol">[</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">R</span><span class="tsd-signature-symbol">]</span></div>
<div class="tsd-comment tsd-typography"><p>The shape of the tensor.</p>
</div><aside class="tsd-sources">
<ul>
<li>Defined in node_modules/.pnpm/@tensorflow+tfjs-core@3.18.0/node_modules/@tensorflow/tfjs-core/dist/tensor.d.ts:148</li></ul></aside></section>
<li>Defined in node_modules/.pnpm/@tensorflow+tfjs-core@3.19.0/node_modules/@tensorflow/tfjs-core/dist/tensor.d.ts:148</li></ul></aside></section>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class"><a id="size" class="tsd-anchor"></a>
<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagReadonly">Readonly</code> <span>size</span><a href="#size" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
<div class="tsd-signature">size<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></div>
<div class="tsd-comment tsd-typography"><p>Number of elements in the tensor.</p>
</div><aside class="tsd-sources">
<ul>
<li>Defined in node_modules/.pnpm/@tensorflow+tfjs-core@3.18.0/node_modules/@tensorflow/tfjs-core/dist/tensor.d.ts:150</li></ul></aside></section>
<li>Defined in node_modules/.pnpm/@tensorflow+tfjs-core@3.19.0/node_modules/@tensorflow/tfjs-core/dist/tensor.d.ts:150</li></ul></aside></section>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class"><a id="strides" class="tsd-anchor"></a>
<h3 class="tsd-anchor-link"><code class="tsd-tag ts-flagReadonly">Readonly</code> <span>strides</span><a href="#strides" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
<div class="tsd-signature">strides<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">[]</span></div>
@ -179,7 +179,7 @@ point to the same bucket (e.g. when calling array.reshape()).</p>
numpy.ndarray.strides.html</p>
</div><aside class="tsd-sources">
<ul>
<li>Defined in node_modules/.pnpm/@tensorflow+tfjs-core@3.18.0/node_modules/@tensorflow/tfjs-core/dist/tensor.d.ts:164</li></ul></aside></section></section>
<li>Defined in node_modules/.pnpm/@tensorflow+tfjs-core@3.19.0/node_modules/@tensorflow/tfjs-core/dist/tensor.d.ts:164</li></ul></aside></section></section>
<section class="tsd-panel-group tsd-member-group">
<h2>Methods</h2>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a id="array" class="tsd-anchor"></a>
@ -193,7 +193,7 @@ asynchronously.</p>
<h3>Doc</h3></div>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">ArrayMap</span><span class="tsd-signature-symbol">[</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">R</span><span class="tsd-signature-symbol">]</span><span class="tsd-signature-symbol">&gt;</span></h4><aside class="tsd-sources">
<ul>
<li>Defined in node_modules/.pnpm/@tensorflow+tfjs-core@3.18.0/node_modules/@tensorflow/tfjs-core/dist/tensor.d.ts:184</li></ul></aside></li></ul></section>
<li>Defined in node_modules/.pnpm/@tensorflow+tfjs-core@3.19.0/node_modules/@tensorflow/tfjs-core/dist/tensor.d.ts:184</li></ul></aside></li></ul></section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a id="arraySync" class="tsd-anchor"></a>
<h3 class="tsd-anchor-link"><span>array<wbr/>Sync</span><a href="#arraySync" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
@ -205,7 +205,7 @@ synchronously.</p>
<h3>Doc</h3></div>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">ArrayMap</span><span class="tsd-signature-symbol">[</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">R</span><span class="tsd-signature-symbol">]</span></h4><aside class="tsd-sources">
<ul>
<li>Defined in node_modules/.pnpm/@tensorflow+tfjs-core@3.18.0/node_modules/@tensorflow/tfjs-core/dist/tensor.d.ts:191</li></ul></aside></li></ul></section>
<li>Defined in node_modules/.pnpm/@tensorflow+tfjs-core@3.19.0/node_modules/@tensorflow/tfjs-core/dist/tensor.d.ts:191</li></ul></aside></li></ul></section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a id="buffer" class="tsd-anchor"></a>
<h3 class="tsd-anchor-link"><span>buffer</span><a href="#buffer" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
@ -221,7 +221,7 @@ synchronously.</p>
<h4>D<span class="tsd-signature-symbol"> extends </span><span class="tsd-signature-symbol">keyof </span><span class="tsd-signature-type">DataTypeMap</span> = <span class="tsd-signature-type">&quot;float32&quot;</span></h4></li></ul></div>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">TensorBuffer</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">R</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">D</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span></h4><aside class="tsd-sources">
<ul>
<li>Defined in node_modules/.pnpm/@tensorflow+tfjs-core@3.18.0/node_modules/@tensorflow/tfjs-core/dist/tensor.d.ts:172</li></ul></aside></li></ul></section>
<li>Defined in node_modules/.pnpm/@tensorflow+tfjs-core@3.19.0/node_modules/@tensorflow/tfjs-core/dist/tensor.d.ts:172</li></ul></aside></li></ul></section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a id="bufferSync" class="tsd-anchor"></a>
<h3 class="tsd-anchor-link"><span>buffer<wbr/>Sync</span><a href="#bufferSync" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
@ -237,7 +237,7 @@ synchronously.</p>
<h4>D<span class="tsd-signature-symbol"> extends </span><span class="tsd-signature-symbol">keyof </span><span class="tsd-signature-type">DataTypeMap</span> = <span class="tsd-signature-type">&quot;float32&quot;</span></h4></li></ul></div>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">TensorBuffer</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">R</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type" data-tsd-kind="Type parameter">D</span><span class="tsd-signature-symbol">&gt;</span></h4><aside class="tsd-sources">
<ul>
<li>Defined in node_modules/.pnpm/@tensorflow+tfjs-core@3.18.0/node_modules/@tensorflow/tfjs-core/dist/tensor.d.ts:177</li></ul></aside></li></ul></section>
<li>Defined in node_modules/.pnpm/@tensorflow+tfjs-core@3.19.0/node_modules/@tensorflow/tfjs-core/dist/tensor.d.ts:177</li></ul></aside></li></ul></section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a id="bytes" class="tsd-anchor"></a>
<h3 class="tsd-anchor-link"><span>bytes</span><a href="#bytes" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
@ -247,7 +247,7 @@ synchronously.</p>
</div>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">Uint8Array</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">Uint8Array</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">&gt;</span></h4><aside class="tsd-sources">
<ul>
<li>Defined in node_modules/.pnpm/@tensorflow+tfjs-core@3.18.0/node_modules/@tensorflow/tfjs-core/dist/tensor.d.ts:244</li></ul></aside></li></ul></section>
<li>Defined in node_modules/.pnpm/@tensorflow+tfjs-core@3.19.0/node_modules/@tensorflow/tfjs-core/dist/tensor.d.ts:244</li></ul></aside></li></ul></section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a id="clone" class="tsd-anchor"></a>
<h3 class="tsd-anchor-link"><span>clone</span><a href="#clone" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
@ -268,7 +268,7 @@ synchronously.</p>
<h5>this: <span class="tsd-signature-type" data-tsd-kind="Type parameter">T</span></h5></li></ul></div>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type" data-tsd-kind="Type parameter">T</span></h4><aside class="tsd-sources">
<ul>
<li>Defined in node_modules/.pnpm/@tensorflow+tfjs-core@3.18.0/node_modules/@tensorflow/tfjs-core/dist/tensor.d.ts:267</li></ul></aside></li></ul></section>
<li>Defined in node_modules/.pnpm/@tensorflow+tfjs-core@3.19.0/node_modules/@tensorflow/tfjs-core/dist/tensor.d.ts:267</li></ul></aside></li></ul></section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a id="data" class="tsd-anchor"></a>
<h3 class="tsd-anchor-link"><span>data</span><a href="#data" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
@ -285,7 +285,7 @@ promise of <code>TypedArray</code> that resolves when the computation has finish
<h4>D<span class="tsd-signature-symbol"> extends </span><span class="tsd-signature-symbol">keyof </span><span class="tsd-signature-type">DataTypeMap</span> = <span class="tsd-signature-type">NumericDataType</span></h4></li></ul></div>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">DataTypeMap</span><span class="tsd-signature-symbol">[</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">D</span><span class="tsd-signature-symbol">]</span><span class="tsd-signature-symbol">&gt;</span></h4><aside class="tsd-sources">
<ul>
<li>Defined in node_modules/.pnpm/@tensorflow+tfjs-core@3.18.0/node_modules/@tensorflow/tfjs-core/dist/tensor.d.ts:198</li></ul></aside></li></ul></section>
<li>Defined in node_modules/.pnpm/@tensorflow+tfjs-core@3.19.0/node_modules/@tensorflow/tfjs-core/dist/tensor.d.ts:198</li></ul></aside></li></ul></section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a id="dataSync" class="tsd-anchor"></a>
<h3 class="tsd-anchor-link"><span>data<wbr/>Sync</span><a href="#dataSync" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
@ -302,7 +302,7 @@ UI thread until the values are ready, which can cause performance issues.</p>
<h4>D<span class="tsd-signature-symbol"> extends </span><span class="tsd-signature-symbol">keyof </span><span class="tsd-signature-type">DataTypeMap</span> = <span class="tsd-signature-type">NumericDataType</span></h4></li></ul></div>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">DataTypeMap</span><span class="tsd-signature-symbol">[</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">D</span><span class="tsd-signature-symbol">]</span></h4><aside class="tsd-sources">
<ul>
<li>Defined in node_modules/.pnpm/@tensorflow+tfjs-core@3.18.0/node_modules/@tensorflow/tfjs-core/dist/tensor.d.ts:242</li></ul></aside></li></ul></section>
<li>Defined in node_modules/.pnpm/@tensorflow+tfjs-core@3.19.0/node_modules/@tensorflow/tfjs-core/dist/tensor.d.ts:242</li></ul></aside></li></ul></section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a id="dataToGPU" class="tsd-anchor"></a>
<h3 class="tsd-anchor-link"><span>data<wbr/>ToGPU</span><a href="#dataToGPU" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
@ -333,7 +333,7 @@ parameter, so can not use an user defined size to create the buffer.</p>
<h5><code class="tsd-tag ts-flagOptional">Optional</code> options: <span class="tsd-signature-type">DataToGPUWebGLOption</span></h5></li></ul></div>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">GPUData</span></h4><aside class="tsd-sources">
<ul>
<li>Defined in node_modules/.pnpm/@tensorflow+tfjs-core@3.18.0/node_modules/@tensorflow/tfjs-core/dist/tensor.d.ts:235</li></ul></aside></li></ul></section>
<li>Defined in node_modules/.pnpm/@tensorflow+tfjs-core@3.19.0/node_modules/@tensorflow/tfjs-core/dist/tensor.d.ts:235</li></ul></aside></li></ul></section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a id="dispose" class="tsd-anchor"></a>
<h3 class="tsd-anchor-link"><span>dispose</span><a href="#dispose" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
@ -344,7 +344,7 @@ parameter, so can not use an user defined size to create the buffer.</p>
<h3>Doc</h3></div>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><aside class="tsd-sources">
<ul>
<li>Defined in node_modules/.pnpm/@tensorflow+tfjs-core@3.18.0/node_modules/@tensorflow/tfjs-core/dist/tensor.d.ts:250</li></ul></aside></li></ul></section>
<li>Defined in node_modules/.pnpm/@tensorflow+tfjs-core@3.19.0/node_modules/@tensorflow/tfjs-core/dist/tensor.d.ts:250</li></ul></aside></li></ul></section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a id="print" class="tsd-anchor"></a>
<h3 class="tsd-anchor-link"><span>print</span><a href="#print" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
@ -363,7 +363,7 @@ parameter, so can not use an user defined size to create the buffer.</p>
</div></li></ul></div>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><aside class="tsd-sources">
<ul>
<li>Defined in node_modules/.pnpm/@tensorflow+tfjs-core@3.18.0/node_modules/@tensorflow/tfjs-core/dist/tensor.d.ts:262</li></ul></aside></li></ul></section>
<li>Defined in node_modules/.pnpm/@tensorflow+tfjs-core@3.19.0/node_modules/@tensorflow/tfjs-core/dist/tensor.d.ts:262</li></ul></aside></li></ul></section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a id="throwIfDisposed" class="tsd-anchor"></a>
<h3 class="tsd-anchor-link"><span>throw<wbr/>If<wbr/>Disposed</span><a href="#throwIfDisposed" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
@ -371,7 +371,7 @@ parameter, so can not use an user defined size to create the buffer.</p>
<li class="tsd-description">
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><aside class="tsd-sources">
<ul>
<li>Defined in node_modules/.pnpm/@tensorflow+tfjs-core@3.18.0/node_modules/@tensorflow/tfjs-core/dist/tensor.d.ts:253</li></ul></aside></li></ul></section>
<li>Defined in node_modules/.pnpm/@tensorflow+tfjs-core@3.19.0/node_modules/@tensorflow/tfjs-core/dist/tensor.d.ts:253</li></ul></aside></li></ul></section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a id="toString" class="tsd-anchor"></a>
<h3 class="tsd-anchor-link"><span>to<wbr/>String</span><a href="#toString" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
@ -387,7 +387,7 @@ parameter, so can not use an user defined size to create the buffer.</p>
<h5><code class="tsd-tag ts-flagOptional">Optional</code> verbose: <span class="tsd-signature-type">boolean</span></h5></li></ul></div>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">string</span></h4><aside class="tsd-sources">
<ul>
<li>Defined in node_modules/.pnpm/@tensorflow+tfjs-core@3.18.0/node_modules/@tensorflow/tfjs-core/dist/tensor.d.ts:273</li></ul></aside></li></ul></section>
<li>Defined in node_modules/.pnpm/@tensorflow+tfjs-core@3.19.0/node_modules/@tensorflow/tfjs-core/dist/tensor.d.ts:273</li></ul></aside></li></ul></section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class"><a id="variable" class="tsd-anchor"></a>
<h3 class="tsd-anchor-link"><span>variable</span><a href="#variable" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
@ -404,7 +404,7 @@ parameter, so can not use an user defined size to create the buffer.</p>
<h5><code class="tsd-tag ts-flagOptional">Optional</code> dtype: <span class="tsd-signature-symbol">keyof </span><span class="tsd-signature-type">DataTypeMap</span></h5></li></ul></div>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Variable</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type" data-tsd-kind="Type parameter">R</span><span class="tsd-signature-symbol">&gt;</span></h4><aside class="tsd-sources">
<ul>
<li>Defined in node_modules/.pnpm/@tensorflow+tfjs-core@3.18.0/node_modules/@tensorflow/tfjs-core/dist/tensor.d.ts:274</li></ul></aside></li></ul></section></section></div>
<li>Defined in node_modules/.pnpm/@tensorflow+tfjs-core@3.19.0/node_modules/@tensorflow/tfjs-core/dist/tensor.d.ts:274</li></ul></aside></li></ul></section></section></div>
<div class="col-4 col-menu menu-sticky-wrap menu-highlight">
<div class="tsd-navigation settings">
<details class="tsd-index-accordion"><summary class="tsd-accordion-summary">

View File

@ -14,7 +14,7 @@
<li><a href="Rank.html">Rank</a></li></ul>
<h1>Enumeration Rank</h1></div><aside class="tsd-sources">
<ul>
<li>Defined in node_modules/.pnpm/@tensorflow+tfjs-core@3.18.0/node_modules/@tensorflow/tfjs-core/dist/types.d.ts:60</li></ul></aside>
<li>Defined in node_modules/.pnpm/@tensorflow+tfjs-core@3.19.0/node_modules/@tensorflow/tfjs-core/dist/types.d.ts:60</li></ul></aside>
<section class="tsd-panel-group tsd-index-group">
<section class="tsd-panel tsd-index-panel">
<details class="tsd-index-content tsd-index-accordion" open><summary class="tsd-accordion-summary tsd-index-summary">
@ -36,37 +36,37 @@
<h3 class="tsd-anchor-link"><span>R0</span><a href="#R0" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none" id="icon-anchor-a"></path><path d="M10 14a3.5 3.5 0 0 0 5 0l4 -4a3.5 3.5 0 0 0 -5 -5l-.5 .5" id="icon-anchor-b"></path><path d="M14 10a3.5 3.5 0 0 0 -5 0l-4 4a3.5 3.5 0 0 0 5 5l.5 -.5" id="icon-anchor-c"></path></svg></a></h3>
<div class="tsd-signature">R0<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">&quot;R0&quot;</span></div><aside class="tsd-sources">
<ul>
<li>Defined in node_modules/.pnpm/@tensorflow+tfjs-core@3.18.0/node_modules/@tensorflow/tfjs-core/dist/types.d.ts:61</li></ul></aside></section>
<li>Defined in node_modules/.pnpm/@tensorflow+tfjs-core@3.19.0/node_modules/@tensorflow/tfjs-core/dist/types.d.ts:61</li></ul></aside></section>
<section class="tsd-panel tsd-member tsd-kind-enum-member tsd-parent-kind-enum"><a id="R1" class="tsd-anchor"></a>
<h3 class="tsd-anchor-link"><span>R1</span><a href="#R1" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
<div class="tsd-signature">R1<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">&quot;R1&quot;</span></div><aside class="tsd-sources">
<ul>
<li>Defined in node_modules/.pnpm/@tensorflow+tfjs-core@3.18.0/node_modules/@tensorflow/tfjs-core/dist/types.d.ts:62</li></ul></aside></section>
<li>Defined in node_modules/.pnpm/@tensorflow+tfjs-core@3.19.0/node_modules/@tensorflow/tfjs-core/dist/types.d.ts:62</li></ul></aside></section>
<section class="tsd-panel tsd-member tsd-kind-enum-member tsd-parent-kind-enum"><a id="R2" class="tsd-anchor"></a>
<h3 class="tsd-anchor-link"><span>R2</span><a href="#R2" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
<div class="tsd-signature">R2<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">&quot;R2&quot;</span></div><aside class="tsd-sources">
<ul>
<li>Defined in node_modules/.pnpm/@tensorflow+tfjs-core@3.18.0/node_modules/@tensorflow/tfjs-core/dist/types.d.ts:63</li></ul></aside></section>
<li>Defined in node_modules/.pnpm/@tensorflow+tfjs-core@3.19.0/node_modules/@tensorflow/tfjs-core/dist/types.d.ts:63</li></ul></aside></section>
<section class="tsd-panel tsd-member tsd-kind-enum-member tsd-parent-kind-enum"><a id="R3" class="tsd-anchor"></a>
<h3 class="tsd-anchor-link"><span>R3</span><a href="#R3" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
<div class="tsd-signature">R3<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">&quot;R3&quot;</span></div><aside class="tsd-sources">
<ul>
<li>Defined in node_modules/.pnpm/@tensorflow+tfjs-core@3.18.0/node_modules/@tensorflow/tfjs-core/dist/types.d.ts:64</li></ul></aside></section>
<li>Defined in node_modules/.pnpm/@tensorflow+tfjs-core@3.19.0/node_modules/@tensorflow/tfjs-core/dist/types.d.ts:64</li></ul></aside></section>
<section class="tsd-panel tsd-member tsd-kind-enum-member tsd-parent-kind-enum"><a id="R4" class="tsd-anchor"></a>
<h3 class="tsd-anchor-link"><span>R4</span><a href="#R4" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
<div class="tsd-signature">R4<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">&quot;R4&quot;</span></div><aside class="tsd-sources">
<ul>
<li>Defined in node_modules/.pnpm/@tensorflow+tfjs-core@3.18.0/node_modules/@tensorflow/tfjs-core/dist/types.d.ts:65</li></ul></aside></section>
<li>Defined in node_modules/.pnpm/@tensorflow+tfjs-core@3.19.0/node_modules/@tensorflow/tfjs-core/dist/types.d.ts:65</li></ul></aside></section>
<section class="tsd-panel tsd-member tsd-kind-enum-member tsd-parent-kind-enum"><a id="R5" class="tsd-anchor"></a>
<h3 class="tsd-anchor-link"><span>R5</span><a href="#R5" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
<div class="tsd-signature">R5<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">&quot;R5&quot;</span></div><aside class="tsd-sources">
<ul>
<li>Defined in node_modules/.pnpm/@tensorflow+tfjs-core@3.18.0/node_modules/@tensorflow/tfjs-core/dist/types.d.ts:66</li></ul></aside></section>
<li>Defined in node_modules/.pnpm/@tensorflow+tfjs-core@3.19.0/node_modules/@tensorflow/tfjs-core/dist/types.d.ts:66</li></ul></aside></section>
<section class="tsd-panel tsd-member tsd-kind-enum-member tsd-parent-kind-enum"><a id="R6" class="tsd-anchor"></a>
<h3 class="tsd-anchor-link"><span>R6</span><a href="#R6" aria-label="Permalink" class="tsd-anchor-icon"><svg class="icon icon-tabler icon-tabler-link" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><use href="#icon-anchor-a"></use><use href="#icon-anchor-b"></use><use href="#icon-anchor-c"></use></svg></a></h3>
<div class="tsd-signature">R6<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">&quot;R6&quot;</span></div><aside class="tsd-sources">
<ul>
<li>Defined in node_modules/.pnpm/@tensorflow+tfjs-core@3.18.0/node_modules/@tensorflow/tfjs-core/dist/types.d.ts:67</li></ul></aside></section></section></div>
<li>Defined in node_modules/.pnpm/@tensorflow+tfjs-core@3.19.0/node_modules/@tensorflow/tfjs-core/dist/types.d.ts:67</li></ul></aside></section></section></div>
<div class="col-4 col-menu menu-sticky-wrap menu-highlight">
<div class="tsd-navigation settings">
<details class="tsd-index-accordion"><summary class="tsd-accordion-summary">

View File

@ -14,8 +14,8 @@
<li><a href="Tensor.html">Tensor</a></li></ul>
<h1>Namespace Tensor</h1></div><aside class="tsd-sources">
<ul>
<li>Defined in node_modules/.pnpm/@tensorflow+tfjs-core@3.18.0/node_modules/@tensorflow/tfjs-core/dist/tensor.d.ts:124</li>
<li>Defined in node_modules/.pnpm/@tensorflow+tfjs-core@3.18.0/node_modules/@tensorflow/tfjs-core/dist/tensor.d.ts:139</li></ul></aside></div>
<li>Defined in node_modules/.pnpm/@tensorflow+tfjs-core@3.19.0/node_modules/@tensorflow/tfjs-core/dist/tensor.d.ts:124</li>
<li>Defined in node_modules/.pnpm/@tensorflow+tfjs-core@3.19.0/node_modules/@tensorflow/tfjs-core/dist/tensor.d.ts:139</li></ul></aside></div>
<div class="col-4 col-menu menu-sticky-wrap menu-highlight">
<div class="tsd-navigation settings">
<details class="tsd-index-accordion"><summary class="tsd-accordion-summary">

View File

@ -18,7 +18,7 @@
<h3>Docalias</h3><p>TypedArray|Array</p>
</div><aside class="tsd-sources">
<ul>
<li>Defined in node_modules/.pnpm/@tensorflow+tfjs-core@3.18.0/node_modules/@tensorflow/tfjs-core/dist/types.d.ts:78</li></ul></aside></div>
<li>Defined in node_modules/.pnpm/@tensorflow+tfjs-core@3.19.0/node_modules/@tensorflow/tfjs-core/dist/types.d.ts:78</li></ul></aside></div>
<div class="col-4 col-menu menu-sticky-wrap menu-highlight">
<div class="tsd-navigation settings">
<details class="tsd-index-accordion"><summary class="tsd-accordion-summary">

41
types/human.d.ts vendored
View File

@ -849,6 +849,8 @@ export declare class GraphModel<ModelURL extends Url = string | io.IOHandler> im
private initializer;
private resourceManager;
private signature;
private structuredOutputKeys;
private readonly io;
readonly modelVersion: string;
readonly inputNodes: string[];
readonly outputNodes: string[];
@ -857,6 +859,7 @@ export declare class GraphModel<ModelURL extends Url = string | io.IOHandler> im
readonly weights: NamedTensorsMap;
readonly metadata: {};
readonly modelSignature: {};
readonly modelStructuredOutputKeys: {};
/**
* @param modelUrl url for the model, or an `io.IOHandler`.
* @param weightManifestUrl url for the weight file generated by
@ -866,7 +869,7 @@ export declare class GraphModel<ModelURL extends Url = string | io.IOHandler> im
* @param onProgress Optional, progress callback function, fired periodically
* before the load is completed.
*/
constructor(modelUrl: ModelURL, loadOptions?: io.LoadOptions);
constructor(modelUrl: ModelURL, loadOptions?: io.LoadOptions, tfio?: typeof io);
private findIOHandler;
/**
* Loads the model and weight files, construct the in memory weight map and
@ -953,13 +956,14 @@ export declare class GraphModel<ModelURL extends Url = string | io.IOHandler> im
* If we are provide a batched data of 100 images, the input tensor should be
* in the shape of [100, 244, 244, 3].
*
* @param config Prediction configuration for specifying the batch size and
* output node names. Currently the batch size option is ignored for graph
* model.
* @param config Prediction configuration for specifying the batch size.
* Currently the batch size option is ignored for graph model.
*
* @returns Inference result tensors. The output would be single `tf.Tensor`
* if model has single output node, otherwise Tensor[] or NamedTensorMap[]
* will be returned for model with multiple outputs.
* @returns Inference result tensors. If the model is converted and it
* originally had structured_outputs in tensorflow, then a NamedTensorMap
* will be returned matching the structured_outputs. If no structured_outputs
* are present, the output will be single `tf.Tensor` if the model has single
* output node, otherwise Tensor[].
*
* @doc {heading: 'Models', subheading: 'Classes'}
*/
@ -1456,8 +1460,15 @@ declare interface IOHandler {
load?: LoadHandler;
}
/**
* Interface for a synchronous model import/export handler.
*
* The `save` and `load` handlers are both optional, in order to allow handlers
* that support only saving or loading.
*/
declare type IOHandlerSync = {
[K in keyof IOHandler]: Syncify<IOHandler[K]>;
save?: SaveHandlerSync;
load?: LoadHandlerSync;
};
declare type IORouter = (url: string | string[], loadOptions?: LoadOptions) => IOHandler;
@ -1514,6 +1525,11 @@ declare function load(instance: Human): Promise<void>;
*/
declare type LoadHandler = () => Promise<ModelArtifacts>;
/**
* Type definition for handlers of synchronous loading operations.
*/
declare type LoadHandlerSync = () => ModelArtifacts;
/** @innamespace io */
declare interface LoadOptions {
/**
@ -2048,8 +2064,6 @@ export declare interface PersonResult {
/** generic point as [x, y, z?] */
export declare type Point = [number, number, number?];
declare type PromiseFunction = (...args: unknown[]) => Promise<unknown>;
export declare type Race = 'white' | 'black' | 'asian' | 'indian' | 'other';
export declare enum Rank {
@ -2168,6 +2182,11 @@ declare interface SaveConfig {
*/
declare type SaveHandler = (modelArtifact: ModelArtifacts) => Promise<SaveResult>;
/**
* Type definition for handlers of synchronous saving operations.
*/
declare type SaveHandlerSync = (modelArtifact: ModelArtifacts) => SaveResult;
/**
* Result of a saving operation.
*/
@ -2247,8 +2266,6 @@ declare interface SingleValueMap {
string: string;
}
declare type Syncify<T extends PromiseFunction> = T extends (...args: infer Args) => Promise<infer R> ? (...args: Args) => R : never;
export declare namespace Tensor { }
/**