保存与加载
模型训练好了以后我们可以把它保存在硬盘上面以等待,我们可以把它保存在硬盘上面,以等待我们之后将来的使用。保存的代码就是如下
那么当我们要使用的时候,我们就要载入它载入代码,就像下面选对模型之前保存的路径。文件就可以把它载进去到内存里面。
假如到内存以后,我们还可以把它保存成一个中间格式,这种中间格式我查询资料意思就是将来我们如果想要优化模型的结构,我们可以利用中间格式。进行一些优化和加速。中间格式的格式命名就是这样子的。为什么要来一个输入呢?因为我们需要通过一个示例的输入得到输入的shape
这种中间格式其实也可以被用来加载到内存里面来做推理。但是加载的代码却是用graphcell
另外我找寻了一下官方文档,试了一下下面的代码。可以更好的利用这种中间格式文件。
model = network()
import mindspore.context as context
context.set_context(save_graphs=3)
inputs = Tensor(np.ones([1, 1, 28, 28]).astype(np.float32))
mindspore.export(model, inputs, file_name=“model”, file_format=“MINDIR”)
加这行代码,可以保存出来最全的文件,在这个文件里面有好多的文件,其中这个文件是比较有用的。它是以点dot结尾。所以他可以在graphviz里面打开成可视化的图像。
在网上搜索一个在线的打开工具,就可以把这种文件打开成一个可视化的图像,可以看到网络中的结构。和要进行的计算,所以这叫做计算图。
例如这个网站
https://dreampuf.github.io/GraphvizOnline/