草庐IT

python - Tensorflow中如何根据索引给Tensor赋值?

我想根据索引在张量中赋值。例如,根据tf.nn.max_pool_with_argmax的pooling值和对应的指标输出,我想将这些池值与索引一起放回原始的非池化张量中。我发现tf.nn.max_pool_with_argmax的输出索引被展平了。一个问题:如何将它们分解回Tensorflow中的坐标?另一个问题:在给定索引的情况下,如何将池化张量的每个值分配给原始非池化张量在Tensorflow中的位置?非常感谢。我试图编写代码来实现这一点,但我只能使用numpy。我不知道如何在tf.nn.max_pool_with_argmax之后获取扁平化索引并分配到Tensorflow中的u

python - NumPy 是否有 unravel_index() 的反函数?

numpy.unravel_index()将一个形状和一个平面索引放入数组中,并返回表示数组中该索引的元组。有倒数吗?我可以手动计算它,但这似乎一定是某处的内置函数...... 最佳答案 从numpy1.6.0(2011年5月)开始,有一个内置的NumPy函数ravel_multi_indexConvertsatupleofindexarraysintoanarrayofflatindices,applyingboundarymodestothemulti-index.(用户BiRico的评论中也提到了这一点,但实际上应该作为答案出

python - np.unravel_index 的直观解释是什么?

和标题说的差不多。我已经阅读了文档并且我已经使用了一段时间的功能,但我无法辨别这种转换的物理表现是什么。 最佳答案 计算机内存是线性寻址的。每个存储单元对应一个数字。可以根据基址(即其第一个元素的内存地址)和项目索引来寻址内存块。例如,假设基地址为10,000:itemindex0123memoryaddress10,00010,00110,00210,003要存储多维block,它们的几何形状必须以某种方式适应线性内存。在C和NumPy中,这是逐行完成的。一个2D示例是:|0123--+----------------------