如何遍历Tensor的所有元素并获取索引

时间:2019-10-24 21:14:00

标签: python python-3.x tensorflow keras tensorflow2.0

我有一个带有自定义Dense层的Keras序列模型,我想遍历内核并偏置每个层的Tensor,从而能够访问元素值及其所在位置的索引。我有以下代码:

l = []
for i in range(len(nn.layers)):
    t1, t2 = nn.layers[i].kernel, nn.layers[i].bias
    for j in range(t1.shape[0]):
        for k in range(t1[j].shape[0]):
            l.append((t1[j][k].numpy(), i, j, k))
    for j in range(t2.shape[0]):
        l.append((t2[j], i))

其中变量nn是具有一定数量层的顺序模型,每个层具有多个节点。它可以达到我的目的,但是效率不是很高。是否有(最好是更类似于TensorFlow的方式)实现相同结果?顺便说一下,我正在使用TensorFlow 2.0。

0 个答案:

没有答案