栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

将张量转换为Tensorflow中的numpy数组?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

将张量转换为Tensorflow中的numpy数组?

TensorFlow 2.x

急切执行默认情况下

.numpy()


处于启用状态,因此只需调用Tensor对象即可。

import tensorflow as tfa = tf.constant([[1, 2], [3, 4]])      b = tf.add(a, 1)a. **numpy()**# array([[1, 2],#        [3, 4]], dtype=int32)b. **numpy()**# array([[2, 3],#        [4, 5]], dtype=int32)tf.multiply(a, b). **numpy()**# array([[ 2,  6],#        [12, 20]], dtype=int32)

有关更多信息,请参见NumPy兼容性。值得注意的是(来自文档),

Numpy数组可以与Tensor对象共享内存。 对一个的任何更改都可能反映在另一个上。

大胆强调我的。副本可以返回也可以不返回,这是基于数据是在CPU还是GPU中的实现细节(在后一种情况下,必须从GPU复制到主机内存)。

但是我为什么得到

AttributeError: 'Tensor' object has no attribute 'numpy'

许多人对此问题发表了评论,有两个可能的原因:

  • TF 2.0安装不正确(在这种情况下,请尝试重新安装),或者
  • 已安装TF 2.0,但由于某些原因禁用了急切执行。在这种情况下,请致电
    tf.compat.v1.enable_eager_execution()
    启用它,或参阅下文。

如果禁用了“急切执行”,则可以构建一个图形,然后通过

tf.compat.v1.Session
以下方式运行它:

a = tf.constant([[1, 2], [3, 4]])      b = tf.add(a, 1)out = tf.multiply(a, b)out.eval(session= **tf.compat.v1.Session()** )    # array([[ 2,  6],#        [12, 20]], dtype=int32)

另请参见TF
2.0符号映射,以获取旧API到新API的映射。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/610950.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号