创建nn.SequentialCell时使用OrderDict,如何从nn.SequentialCell获得key?

创建nn.SequentialCell时使用OrderDict,其中key为Cell的名称,value为Cell。现在我想通过一个nn.SequentialCell的实例来获取里面的Cell以及它的名称,请问应该使用什么函数? 例如:

import mindspore.nn as nn
from collections import OrderedDict

d = OrderedDict()
d['relu'] = nn.ReLU()
d['conv'] = nn.Conv2d(3, 2, 3, pad_mode='valid', weight_init="ones")
seq = nn.SequentialCell(d)

我应该如何从seq中获得里面的Cell(即nn.ReLU和nn.Conv2d)以及它们的名称(即'relu'和'conv')呢?

****************************************************解答*****************************************************

查阅了官方文档对于nn.Cell的描述,发现其中有个接口应该能满足您的需求:name_cells。

以您给出的代码为基础,demo代码如下:

from mindspore import Tensor 
import numpy as np 

conv = seq.name_cells()['conv'] 
input = Tensor(np.random.randn(4, 3, 3, 3).astype(np.float32)) 

print(conv) 
print(conv(input))
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值