Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Numpy 如何在keras lambda层中使用tf.py_func包装python代码。ValueError:应定义密集输入的最后一个维度。一无所获_Numpy_Tensorflow_Keras_Lambda_Layer - Fatal编程技术网

Numpy 如何在keras lambda层中使用tf.py_func包装python代码。ValueError:应定义密集输入的最后一个维度。一无所获

Numpy 如何在keras lambda层中使用tf.py_func包装python代码。ValueError:应定义密集输入的最后一个维度。一无所获,numpy,tensorflow,keras,lambda,layer,Numpy,Tensorflow,Keras,Lambda,Layer,我想用tf.py_fucn将numpy代码封装在使用keras的定制lambda层中 注意:为了简单起见,我展示了一个简单的np幂函数 这就是我所做的 def my_func(x): return np.power(x, 2) def my_lambda_func(x): return tf.py_function(my_func, [x], tf.float32) def model(): inp = Input(shape=(2,)) x = De

我想用tf.py_fucn将numpy代码封装在使用keras的定制lambda层中

注意:为了简单起见,我展示了一个简单的np幂函数

这就是我所做的

def my_func(x):

    return np.power(x, 2)

def my_lambda_func(x):

    return tf.py_function(my_func, [x], tf.float32)


def model():

    inp = Input(shape=(2,))
    x = Dense(128)(inp)
    x = Dense(128)(x)

    z = Lambda(my_lambda_func)(x)

    output = Dense(1)(z)
    model = Model(inputs=inp, outputs=output)

    return model



model = model ()
model.compile(optimizer='adam', loss='mse')
然后我得到了这个错误


ValueError回溯(最近一次调用上次) 在() 21 22 --->23型号=型号() 24 model.compile(优化器='adam',loss='mse')

3帧 /usr/local/lib/python3.6/dist-packages/tensorflow/python/keras/layers/core.py内置(self,input_-shape) 1179最后尺寸=张量形状。尺寸值(输入形状[-1]) 1180如果最后一个尺寸为无: ->1181 raise VALUE ERROR(
密集
输入的最后一个维度) 应定义“1182”。找到
None
”) 1183 self.input_spec=InputSpec(min_ndim=2,轴={-1:last_dim})


ValueError:应定义
密集
输入的最后一个维度。找到
None

您可能需要指定Lambda层z的输出形状,tf.py_函数将给出None作为输出形状,它与紧随其后的致密层不匹配。你应该试试:

z=λ(my_Lambda_func)(x)

z、 设置_形(x.shape)