### 1、保存参数(accuracy可能有稍微的变化)
```py
# 根据前面的步骤,已经创建了network
network.save_weights('weights.ckpt')
# 删除模型
del network
# 恢复模型,模型的创建方式必须和以前的一样,否则不可用
network = Sequential([layers.Dense(256, activation='relu'),
layers.Dense(128, activation='relu'),
layers.Dense(64, activation='relu'),
layers.Dense(32, activation='relu'),
layers.Dense(10)])
network.compile(
optimizer=optimizers.Adam(lr=0.01),
loss=tf.losses.CategoricalCrossentropy(from_logits=True),
metrics=['accuracy']
)
# 调用以前模型的参数
network.load_weights('weights.ckpt')
# 评估模型
network.evaluate(ds_val)
```
### 2、保存整个模型
```py
# 保存模型的全部数据,包括网络层
network.save('model.h5')
print('saved total model.')
# 删除以前的模型
del network
# 加载模型
network = tf.keras.models.load_model('model.h5', compile=False)
# 配置训练方法时,告知训练时用的优化器、损失函数和准确率评测标准
network.compile(
optimizer=optimizers.Adam(lr=0.01),
loss=tf.losses.CategoricalCrossentropy(from_logits=True),
metrics=['accuracy']
)
```
### 3、模型的部署(提供其他语言调用的模型的方式)
```py
path = '/model_file'
# 保存模型
tf.saved_model.save(m, path)
# 加载模型
imported = tf.saved_model.load(path)
f = imported.signatures["serving_default"]
# 预测模型
print(f(x=tf.ones([1`,28,28,3])))
```

Tensorflow:模型的保存