ParameterDict of ParameterList throws an error?

I can implement ModuleDict of ModuleList. But I got an error when I write a ParameterDict of ParameterList

nn.ParameterDict({'a': nn.ParameterList([nn.Parameter(torch.Tensor(1,2))])})
/home/qiuweikang/miniconda3/lib/python3.8/site-packages/torch/nn/modules/container.py:434: UserWarning: Setting attributes on ParameterList is not supported.
  warnings.warn("Setting attributes on ParameterList is not supported.")
/home/qiuweikang/miniconda3/lib/python3.8/site-packages/torch/nn/modules/container.py:550: UserWarning: Setting attributes on ParameterDict is not supported.
  warnings.warn("Setting attributes on ParameterDict is not supported.")
Traceback (most recent call last):
  File "/home/qiuweikang/UnifiedNLP/train.py", line 164, in <module>
    main()
  File "/home/qiuweikang/UnifiedNLP/train.py", line 92, in main
    model = Simple(config).to(device)
  File "/home/qiuweikang/UnifiedNLP/models/simple.py", line 23, in __init__
    self.query_weight = nn.ParameterDict({
  File "/home/qiuweikang/miniconda3/lib/python3.8/site-packages/torch/nn/modules/container.py", line 537, in __init__
    self.update(parameters)
  File "/home/qiuweikang/miniconda3/lib/python3.8/site-packages/torch/nn/modules/container.py", line 615, in update
    self[key] = parameter
  File "/home/qiuweikang/miniconda3/lib/python3.8/site-packages/torch/nn/modules/container.py", line 543, in __setitem__
    self.register_parameter(key, parameter)
  File "/home/qiuweikang/miniconda3/lib/python3.8/site-packages/torch/nn/modules/module.py", line 321, in register_parameter
    raise TypeError("cannot assign '{}' object to parameter '{}' "
TypeError: cannot assign 'torch.nn.modules.container.ParameterList' object to parameter 'dep' (torch.nn.Parameter or None required)

Hi,

Yes, as of right now, the ParameterDict can only contain Parameters, not other nn.Modules.
Note that nn.ModuleDict already exist and that is their exact use case :smiley:

Thanks. Maybe I should find another way to do what I want