<commit_before># 保存并加载 tf.Model

TensorFlow.js提供了保存和加载模型的功能，这些模型可以是使用[`Layers`](https://js.tensorflow.org/api/0.14.2/#Models)API创建的或从现有TensorFlow模型转换来的。可能是您自己训练过的模型，也可能是别人训练的模型。使用Layers API的一个主要好处是使用它创建的模型是可序列化的，这就是我们将在本教程中探讨的内容。

本教程将会介绍如何在 TensorFlow.js 中保存和加载模型(可通过JSON文件识别)。我们同样可以导入Tensorflow Python模型。

以下两个教程介绍了加载这些模型：

- [导入Keras模型](../tutorials/conversion/import_keras.md)
- [导入Graphdef模型](../tutorials/conversion/import_saved_model.md)


## 保存 tf.Model

[`tf.Model`](https://js.tensorflow.org/api/0.14.2/#class:Model) 和 [`tf.Sequential`](https://js.tensorflow.org/api/0.14.2/#class:Model)
同时提供了函数 [`model.save`](https://js.tensorflow.org/api/0.14.2/#tf.Model.save) 允许您保存一个模型的
_topology_ 和 _weights_ .

-  拓扑结构(Topology): 这是一个描述模型结构的文件（例如它使用的了哪些操作）。它包含对存储在外部的模型权重的引用。

-  权重(Weights): 这些是以有效格式存储给定模型权重的二进制文件。它们通常存储在与拓扑结构相同的文件夹中。

让我们看看保存模型的代码是什么样子的

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

一些需要注意的地方:
<commit_msg>Update site/zh-cn/js/guide/save_load.md<commit_after># 保存并加载 tf.Model

TensorFlow.js提供了保存和加载模型的功能，这些模型可以是使用[`Layers`](https://js.tensorflow.org/api/0.14.2/#Models)API创建的或从现有TensorFlow模型转换来的。可能是您自己训练过的模型，也可能是别人训练的模型。使用Layers API的一个主要好处是使用它创建的模型是可序列化的，这就是我们将在本教程中探讨的内容。

本教程将会介绍如何在 TensorFlow.js 中保存和加载模型(可通过JSON文件识别)。我们同样可以导入Tensorflow Python模型。

以下两个教程介绍了加载这些模型：

- [导入Keras模型](../tutorials/conversion/import_keras.md)
- [导入Graphdef模型](../tutorials/conversion/import_saved_model.md)


## 保存 tf.Model

[`tf.Model`](https://js.tensorflow.org/api/0.14.2/#class:Model) 和 [`tf.Sequential`](https://js.tensorflow.org/api/0.14.2/#class:Model)
同时提供了函数 [`model.save`](https://js.tensorflow.org/api/0.14.2/#tf.Model.save) 允许您保存一个模型的
_拓扑结构(topology)_ 和 _权重(weights)_ 。

-  拓扑结构(Topology): 这是一个描述模型结构的文件（例如它使用的了哪些操作）。它包含对存储在外部的模型权重的引用。

-  权重(Weights): 这些是以有效格式存储给定模型权重的二进制文件。它们通常存储在与拓扑结构相同的文件夹中。

让我们看看保存模型的代码是什么样子的

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

一些需要注意的地方:

{'fraction_non_alphanumeric': 0.16086065573770492, 'fraction_numerical': 0.017418032786885244, 'mean_word_length': 6.719367588932807, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 8, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1534868', 'n_tokens_mistral': 1220, 'n_tokens_neox': 1256, 'n_words': 70}