A `tf.GraphModel` is a directed, acyclic graph built from a SavedModel GraphDef and allows inference execution.

A `tf.GraphModel` can only be created by loading from a model converted from a TensorFlow SavedModel using the command line converter tool and loaded via `tf.loadGraphModel`.

doc

  {heading: 'Models', subheading: 'Classes'}

### Hierarchy

- GraphModel

### Implements

- InferenceModel

## Index

### Constructors

- constructor

### Properties

- inputNodes
- inputs
- metadata
- modelSignature
- modelVersion
- outputNodes
- outputs
- weights

### Methods

- dispose
- disposeIntermediateTensors
- execute
- executeAsync
- getIntermediateTensors
- load
- loadSync
- predict
- save

## Constructors

### constructor

- new GraphModel(modelUrl: string | IOHandler, loadOptions?: LoadOptions): GraphModel

- - Defined in node_modules/.pnpm/@tensorflow+tfjs-converter@3.14.0_@tensorflow+tfjs-core@3.14.0/node_modules/@tensorflow/tfjs-converter/dist/executor/graph_model.d.ts:59

  #### Parameters

  - ##### modelUrl: string | IOHandler

    url for the model, or an `io.IOHandler`.

  - ##### Optional loadOptions: LoadOptions

  #### Returns GraphModel

## Properties

### Readonly inputNodes

inputNodes: string[]

- Defined in node_modules/.pnpm/@tensorflow+tfjs-converter@3.14.0_@tensorflow+tfjs-core@3.14.0/node_modules/@tensorflow/tfjs-converter/dist/executor/graph_model.d.ts:43

### Readonly inputs

inputs: TensorInfo[]

Implementation of InferenceModel.inputs

- Defined in node_modules/.pnpm/@tensorflow+tfjs-converter@3.14.0_@tensorflow+tfjs-core@3.14.0/node_modules/@tensorflow/tfjs-converter/dist/executor/graph_model.d.ts:45

### Readonly metadata

metadata: {}

- Defined in node_modules/.pnpm/@tensorflow+tfjs-converter@3.14.0_@tensorflow+tfjs-core@3.14.0/node_modules/@tensorflow/tfjs-converter/dist/executor/graph_model.d.ts:48

#### Type declaration

### Readonly modelSignature

modelSignature: {}

- Defined in node_modules/.pnpm/@tensorflow+tfjs-converter@3.14.0_@tensorflow+tfjs-core@3.14.0/node_modules/@tensorflow/tfjs-converter/dist/executor/graph_model.d.ts:49

#### Type declaration

### Readonly modelVersion

modelVersion: string

- Defined in node_modules/.pnpm/@tensorflow+tfjs-converter@3.14.0_@tensorflow+tfjs-core@3.14.0/node_modules/@tensorflow/tfjs-converter/dist/executor/graph_model.d.ts:42

### Readonly outputNodes

outputNodes: string[]

- Defined in node_modules/.pnpm/@tensorflow+tfjs-converter@3.14.0_@tensorflow+tfjs-core@3.14.0/node_modules/@tensorflow/tfjs-converter/dist/executor/graph_model.d.ts:44

### Readonly outputs

outputs: TensorInfo[]

Implementation of InferenceModel.outputs

- Defined in node_modules/.pnpm/@tensorflow+tfjs-converter@3.14.0_@tensorflow+tfjs-core@3.14.0/node_modules/@tensorflow/tfjs-converter/dist/executor/graph_model.d.ts:46

### Readonly weights

weights: NamedTensorsMap

- Defined in node_modules/.pnpm/@tensorflow+tfjs-converter@3.14.0_@tensorflow+tfjs-core@3.14.0/node_modules/@tensorflow/tfjs-converter/dist/executor/graph_model.d.ts:47

## Methods

### dispose

- dispose(): void

- - Defined in node_modules/.pnpm/@tensorflow+tfjs-converter@3.14.0_@tensorflow+tfjs-core@3.14.0/node_modules/@tensorflow/tfjs-converter/dist/executor/graph_model.d.ts:213

  Releases the memory used by the weight tensors and resourceManager.

  doc

    {heading: 'Models', subheading: 'Classes'}

  #### Returns void

### disposeIntermediateTensors

- disposeIntermediateTensors(): void

- - Defined in node_modules/.pnpm/@tensorflow+tfjs-converter@3.14.0_@tensorflow+tfjs-core@3.14.0/node_modules/@tensorflow/tfjs-converter/dist/executor/graph_model.d.ts:206

  Dispose intermediate tensors for model debugging mode (flag KEEP_INTERMEDIATE_TENSORS is true).

  doc

    {heading: 'Models', subheading: 'Classes'}

  #### Returns void

### execute

- execute(inputs: Tensor<Rank> | Tensor<Rank>[] | NamedTensorMap, outputs?: string | string[]): Tensor<Rank> | Tensor<Rank>[]

- Implementation of InferenceModel.execute

  - Defined in node_modules/.pnpm/@tensorflow+tfjs-converter@3.14.0_@tensorflow+tfjs-core@3.14.0/node_modules/@tensorflow/tfjs-converter/dist/executor/graph_model.d.ts:175

  Executes inference for the model for given input tensors.

  doc

    {heading: 'Models', subheading: 'Classes'}

  #### Parameters

  - ##### inputs: Tensor<Rank> | Tensor<Rank>[] | NamedTensorMap

    tensor, tensor array or tensor map of the inputs for the model, keyed by the input node names.

  - ##### Optional outputs: string | string[]

    output node name from the Tensorflow model, if no outputs are specified, the default outputs of the model would be used. You can inspect intermediate nodes of the model by adding them to the outputs array.

  #### Returns Tensor<Rank> | Tensor<Rank>[]

  A single tensor if provided with a single output or no outputs are provided and there is only one default output, otherwise return a tensor array. The order of the tensor array is the same as the outputs if provided, otherwise the order of outputNodes attribute of the model.

### executeAsync

- executeAsync(inputs: Tensor<Rank> | Tensor<Rank>[] | NamedTensorMap, outputs?: string | string[]): Promise<Tensor<Rank> | Tensor<Rank>[]>

- - Defined in node_modules/.pnpm/@tensorflow+tfjs-converter@3.14.0_@tensorflow+tfjs-core@3.14.0/node_modules/@tensorflow/tfjs-converter/dist/executor/graph_model.d.ts:192

  Executes inference for the model for given input tensors in async fashion, use this method when your model contains control flow ops.

  doc

    {heading: 'Models', subheading: 'Classes'}

  #### Parameters

  - ##### inputs: Tensor<Rank> | Tensor<Rank>[] | NamedTensorMap

    tensor, tensor array or tensor map of the inputs for the model, keyed by the input node names.

  - ##### Optional outputs: string | string[]

    output node name from the Tensorflow model, if no outputs are specified, the default outputs of the model would be used. You can inspect intermediate nodes of the model by adding them to the outputs array.

  #### Returns Promise<Tensor<Rank> | Tensor<Rank>[]>

  A Promise of single tensor if provided with a single output or no outputs are provided and there is only one default output, otherwise return a tensor map.

### getIntermediateTensors

- getIntermediateTensors(): NamedTensorsMap

- - Defined in node_modules/.pnpm/@tensorflow+tfjs-converter@3.14.0_@tensorflow+tfjs-core@3.14.0/node_modules/@tensorflow/tfjs-converter/dist/executor/graph_model.d.ts:199

  Get intermediate tensors for model debugging mode (flag KEEP_INTERMEDIATE_TENSORS is true).

  doc

    {heading: 'Models', subheading: 'Classes'}

  #### Returns NamedTensorsMap

### load

- load(): Promise<boolean>

- - Defined in node_modules/.pnpm/@tensorflow+tfjs-converter@3.14.0_@tensorflow+tfjs-core@3.14.0/node_modules/@tensorflow/tfjs-converter/dist/executor/graph_model.d.ts:65

  Loads the model and weight files, construct the in memory weight map and compile the inference graph.

  #### Returns Promise<boolean>

### loadSync

- loadSync(artifacts: ModelArtifacts): boolean

- - Defined in node_modules/.pnpm/@tensorflow+tfjs-converter@3.14.0_@tensorflow+tfjs-core@3.14.0/node_modules/@tensorflow/tfjs-converter/dist/executor/graph_model.d.ts:72

  Synchronously construct the in memory weight map and compile the inference graph. Also initialize hashtable if any.

  doc

    {heading: 'Models', subheading: 'Classes', ignoreCI: true}

  #### Parameters

  - ##### artifacts: ModelArtifacts

  #### Returns boolean

### predict

- predict(inputs: Tensor<Rank> | Tensor<Rank>[] | NamedTensorMap, config?: ModelPredictConfig): Tensor<Rank> | Tensor<Rank>[] | NamedTensorMap

- Implementation of InferenceModel.predict

  - Defined in node_modules/.pnpm/@tensorflow+tfjs-converter@3.14.0_@tensorflow+tfjs-core@3.14.0/node_modules/@tensorflow/tfjs-converter/dist/executor/graph_model.d.ts:156

  Execute the inference for the input tensors.

  doc

    {heading: 'Models', subheading: 'Classes'}

  #### Parameters

  - ##### inputs: Tensor<Rank> | Tensor<Rank>[] | NamedTensorMap

  - ##### Optional config: ModelPredictConfig

    Prediction configuration for specifying the batch size and output node names. Currently the batch size option is ignored for graph model.

  #### Returns Tensor<Rank> | Tensor<Rank>[] | NamedTensorMap

  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.

### save

- save(handlerOrURL: string | IOHandler, config?: SaveConfig): Promise<SaveResult>

- - Defined in node_modules/.pnpm/@tensorflow+tfjs-converter@3.14.0_@tensorflow+tfjs-core@3.14.0/node_modules/@tensorflow/tfjs-converter/dist/executor/graph_model.d.ts:117

  Save the configuration and/or weights of the GraphModel.

  An `IOHandler` is an object that has a `save` method of the proper signature defined. The `save` method manages the storing or transmission of serialized data ("artifacts") that represent the model's topology and weights onto or via a specific medium, such as file downloads, local storage, IndexedDB in the web browser and HTTP requests to a server. TensorFlow.js provides `IOHandler` implementations for a number of frequently used saving mediums, such as `tf.io.browserDownloads` and `tf.io.browserLocalStorage`. See `tf.io` for more details.

  This method also allows you to refer to certain types of `IOHandler`s as URL-like string shortcuts, such as 'localstorage://' and 'indexeddb://'.

  Example 1: Save `model`'s topology and weights to browser local storage; then load it back.

      const modelUrl =
         'https://storage.googleapis.com/tfjs-models/savedmodel/mobilenet_v2_1.0_224/model.json';
      const model = await tf.loadGraphModel(modelUrl);
      const zeros = tf.zeros([1, 224, 224, 3]);
      model.predict(zeros).print();

      const saveResults = await model.save('localstorage://my-model-1');

      const loadedModel = await tf.loadGraphModel('localstorage://my-model-1');
      console.log('Prediction from loaded model:');
      model.predict(zeros).print();

  doc

    {heading: 'Models', subheading: 'Classes', ignoreCI: true}

  #### Parameters

  - ##### handlerOrURL: string | IOHandler

    An instance of `IOHandler` or a URL-like, scheme-based string shortcut for `IOHandler`.

  - ##### Optional config: SaveConfig

    Options for saving the model.

  #### Returns Promise<SaveResult>

  A `Promise` of `SaveResult`, which summarizes the result of the saving, such as byte sizes of the saved artifacts for the model's topology and weight values.