MindSpore报错RuntimeError: For ’Optimizer’, the argument group params must not be empty.
收藏回复举报
MindSpore报错RuntimeError: For ’Optimizer’, the argument group params must not be empty.
发表于2023-01-30 11:43:33
0 查看

1系统环境

硬件环境(Ascend/GPU/CPU): Ascend/GPU/CPU

MindSpore版本: 不限

执行模式(PyNative/ Graph): 不限

Python版本: Python=3.7.5

操作系统平台: Linux

2 报错信息

2.1问题描述

使用MindSpore中的mindspore.nn.Optimizer出现报错

2.2报错信息

RuntimeError: For ’Optimizer’, the argument group params must not be empty.

2.3脚本代码(代码格式,可上传附件)

from mindspore import nn

net = Net()
conv_params = list(filter(lambda x: 'conv' in x.name, net.trainable_params()))
no_conv_params = list(filter(lambda x: 'conv' not in x.name, net.trainable_params()))
group_params = [{'params': conv_params, 'lr': 0.05},{'params': no_conv_params, 'lr': 0.01}]
optim = nn.Momentum(group_params, learning_rate=0.1, momentum=0.9, weight_decay=0.0)
conv_lr = optim.get_lr_parameter(conv_params)
print(conv_lr[0].asnumpy())

3 根因分析

******此处由用户补充详细的定位过程******

报错原因为:params里面不能为空,实例代码中的隐含条件是,Net应该是一个包含卷积操作的网络。本示例代码中没有展示网络定义。

4 解决方案

******此处由用户填写******

包含文字方案和最终脚本代码

支持上传附件

我要发帖子