В 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: Keras, по крайней мере, использует эти тензоры, но используется ли он в других местах (которые используют граф, например tf.function или tf.data.Dataset)?
- В API: есть ли реальное использование для конечных пользователей?