使用tensorflow 2,我无法在渴望执行的过程中切片张量。标记为“问题线”的下面的行导致以下错误:
AttributeError:启用急切执行时,Tensor.graph没有意义。
使用热切执行来切片张量的最佳方法是什么?
tensorflow.slice方法不适用于我,因为它涉及查找输入的形状,该形状在模型定义中为“无”。
%tensorflow_version 2.x
import tensorflow as tf
from tensorflow.keras.models import Model
from tensorflow.keras.layers import Input
inputs = Input(shape = (None,10), dtype = 'float32')
layer = inputs
#Problem line
layer = inputs[:,-2,:]-inputs[:,-1,:]
model = Model(inputs = inputs, outputs = layer)
v = tf.Variable(tf.random.normal([5,3,10],mean = 1., stddev=1.), trainable = True)
pred = model(v)