TensorFlow 2.0中`Tensor`(相对于`EagerTensor`)的效用是什么? [英] What is the utility of `Tensor` (as opposed to `EagerTensor`) in Tensorflow 2.0?

查看:83
本文介绍了TensorFlow 2.0中`Tensor`(相对于`EagerTensor`)的效用是什么?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在TensorFlow 2.0中,我们看到的主要张量实际上是EagerTensors(更准确地说是tensorflow.python.framework.ops.EagerTensor):

x = [[2.]]
m = tf.matmul(x, x)
type(m)
# returns tensorflow.python.framework.ops.EagerTensor
但是,在某些情况下,我们有符号Tensor对象(tensorflow.python.framework.ops.Tensor),如TF1.X。
例如在keras中:

from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense

model = Sequential()
model.add(Dense(units=64, activation='relu', input_dim=100))
model.add(Dense(units=10, activation='softmax'))
type(model.outputs[0])
# returns tensorflow.python.framework.ops.Tensor

那么,这些符号:tensorflow.python.framework.ops.Tensor在TensorFlow中有什么用处:

  • 在Tf库内部:Kera至少在使用这些张量,但它是否用于其他地方(使用图形,如tf.unction或tf.data.Dataset)?
  • 接口中:这些终端用户是否有实际用途?

推荐答案

在Tf库内部:Kera至少在使用这些张量,但它是否用于其他地方(使用图形,如tf.unction或tf.data.Dataset)?

嗯,是的。你的直觉在这里是正确的。EagreTensor表示已在急切模式下计算张量值的张量,而Tensor表示图形中可能尚未计算的张量节点。

接口中:这些终端用户是否有实际用途?

嗯,在某种程度上,我们一直在使用它们。我们创建Keras模型、tf.data.Dataset管道等,但实际上,对于绝大多数用例,我们并不倾向于实例化Tensor对象本身或与其直接交互,因此可能只想不担心对象类型,而将它们视为TensorFlow内部的实现细节。

这篇关于TensorFlow 2.0中`Tensor`(相对于`EagerTensor`)的效用是什么?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆