首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >tf.transpose是否也会改变内存(比如np.ascontiguousarray)?

问tf.transpose是否也会改变内存(比如np.ascontiguousarray)?
EN

Stack Overflow用户
提问于 2018-04-20 20:44:04
回答 1查看 1.2K关注 0票数 3

如果我使用tf.transpose,它是否也会更改内存布局?

在numpy中,它使用函数np.ascontiguousarray。

我是说如果我用库达的话这很重要。因为如果内存布局是N,C,H,W,N,H,W。样品的Nr,H.阵列高度W ..。阵列宽度C ..。数组深度,例如RGB)

怎么检查这个?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-04-21 07:44:47

如果你仔细阅读文献资料,你就能找到答案:

Numpy兼容性 在numpy中,转置是内存高效的恒定时间操作,因为它们只是以调整的步调返回相同数据的新视图。 TensorFlow不支持跨越式,因此transpose返回一个新的张量,其中项被置换。

因此,tf.transpose返回一个新的张量,该张量具有所需的形状(因此效率很低),所以是的,它改变了内存布局。

但是,与使用tf.trasnpose不同,您可以使用tf.reshape来更改张量形状,而无需创建新的张量形状。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49949463

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档