读取
tensorlayer.files.save_npz(save_list=[], name='model.npz', sess=None)
其中save_list为所要保存的参数,name为路径和保存的文件名,传入一个sess来执行此次操作。
保存
tensorlayer.files.load_and_assign_npz(sess=None, name=None, network=None)
其中sess和name意义与保存(save_npz
)相同,但是要注意的是network
,应该传入一个Layer
类,然而如果只是简单初始化一个Layer
类的变量传进去,运行立刻就会报错。
原因在于TensorLayer(也可以说是TensorFlow)所谓的保存,只是保存模型的参数和变量的值,而不是模型本身。这一点和sklearn中的模型保存是有区别的。
因此只有当读取时的Layer
(即模型)和保存时的模型结构上一模一样,才可以将保存的模型参数一一对应,从而对模型赋值。