Python 自定义层需要将tf.keras.input空张量更改为numpy ndarray-';张量';对象没有属性';numpy';错误

Python 自定义层需要将tf.keras.input空张量更改为numpy ndarray-';张量';对象没有属性';numpy';错误,python,tensorflow,python-3.7,tensorflow2.0,tf.keras,Python,Tensorflow,Python 3.7,Tensorflow2.0,Tf.keras,我已经编写了一个tf.keras自定义层,其中我使用了一些只与numpy数组一起工作的函数,因此当我尝试在带有tf.keras.Input的模型中使用我的层时,这些函数会产生一个错误:输入数据必须是numpy数组。 tf.keras.backend.eval(x)和x.numpy()都会导致错误:“Tensor”对象没有属性“numpy”,即使启用了紧急执行 使用sess=tf.compat.v1.Session()和sess.run(x)给出:会话图为空。在调用run() 以下是我正在测试的示

我已经编写了一个
tf.keras
自定义层,其中我使用了一些只与
numpy
数组一起工作的函数,因此当我尝试在带有tf.keras.Input的模型中使用我的层时,这些函数会产生一个错误:
输入数据必须是numpy数组。

tf.keras.backend.eval(x)
x.numpy()
都会导致错误:
“Tensor”对象没有属性“numpy”
,即使启用了紧急执行

使用
sess=tf.compat.v1.Session()
sess.run(x)
给出:会话图为空。在调用
run()

以下是我正在测试的示例模型:

inputs = keras.Input(shape=(48,48,1))
x = keras.layers.Conv2D(64, (3,3), padding='same', activation='relu')(inputs)

# y = tf.keras.backend.eval(x)

# init_op = tf.compat.v1.global_variables_initializer()
# with tf.compat.v1.Session() as sess:
#    sess.run(init_op)
#    y = sess.run(x)

# y = x.numpy()

z = Mylayer.My_custom_layer()(y)
outputs = z
model = keras.Model(inputs=inputs, outputs=outputs)
注释行是我测试过的


在进入我的自定义层之前,我是否可以将此张量输入转换为
numpy
数组?

我认为您不能使用numpy函数在Keras或TensorFlow中创建计算图。您应该使用tensorflow或keras中相同的内置函数。你能给出你的服装层的代码吗