mindspore.load_param_into_net

mindspore.load_param_into_net(net, parameter_dict, strict_load=False, remove_redundancy=False)[源代码]

将参数加载到网络中,返回网络中没有被加载的参数列表。

说明

  • 当加载去冗余的参数字典时,网络应该是编译过的。

参数:
  • net (Cell) - 将要加载参数的网络。

  • parameter_dict (dict) - 加载checkpoint文件得到的字典。

  • strict_load (bool) - 是否将参数严格加载到网络中。如果是 False , 它将以相同的后缀名将参数字典中的参数加载到网络中,并会在精度不匹配时,进行精度转换,比如将 float32 转换为 float16 。默认值: False

  • remove_redundancy (bool) - 是否开启加载去冗余保存的checkpoint。去冗余是指去除数据并行模式下的冗余数据。默认值: False,不开启去冗余加载。

返回:
  • param_not_load (List),网络中没有被加载的参数。

  • ckpt_not_load (List),checkpoint文件中没有被加载的参数。

异常:
  • TypeError - 如果参数不是Cell,或者 parameter_dict 不是Parameter类型的字典。

样例:

>>> import mindspore as ms
>>>
>>> # Define the network structure of LeNet5. Refer to
>>> # https://gitee.com/mindspore/docs/blob/r2.4.0/docs/mindspore/code/lenet.py
>>> net = LeNet5()
>>> ckpt_file_name = "./checkpoint/LeNet5-1_32.ckpt"
>>> param_dict = ms.load_checkpoint(ckpt_file_name, filter_prefix="conv1")
>>> param_not_load, _ = ms.load_param_into_net(net, param_dict)
>>> print(param_not_load)
['conv1.weight']
教程样例: