Python 将张量转换为numpy数组时发生FailedPremissionError()
我试图通过在Keras中创建自定义层来执行自定义卷积操作 但是,我得到了一个Python 将张量转换为numpy数组时发生FailedPremissionError(),python,numpy,tensorflow,keras,keras-layer,Python,Numpy,Tensorflow,Keras,Keras Layer,我试图通过在Keras中创建自定义层来执行自定义卷积操作 但是,我得到了一个failedPremissionError() 这是我为调用编写的代码函数是 def call(self, x): kern_x,kern_y = self.kernel.get_shape().as_list() img_x,img_y = x.get_shape().as_list()[2:4] activation_map = np.random.random((im
failedPremissionError()
这是我为调用编写的代码
函数是
def call(self, x):
kern_x,kern_y = self.kernel.get_shape().as_list()
img_x,img_y = x.get_shape().as_list()[2:4]
activation_map = np.random.random((img_x - kern_x + 1, img_y - kern_y + 1))
img = tf.Session().run(tf.Variable(x,validate_shape=False)) #this is where I am getting the error
kern = tf.Session().run(tf.constant(self.kernel))
for i in range(activation_map.shape[0]):
for j in range(activation_map.shape[1]):
activation_map[i][j] = fn1(fn2(img[i:i+kern_x,j:j+kern_y],kern))
return tf.convert_to_tensor(fuzzy_activation_map, np.float32)
x是一个
循环是我试图实现我在一篇论文中找到的自定义过滤器的主要部分。我已经分别设计了过滤器,当输入图像和内核是numpy 2D阵列时,它可以工作。我只需要内核是可训练的 在is
op
中,给出错误原因的提示。你能捕捉到错误以获得类似的op吗?。为了捕获所有错误,请参见《如何调用函数》中的“一般错误捕获”call(self,x)
?我正在使用Keras文档编写自定义层,其中层的主要逻辑位于调用函数中。我不知道该函数是如何调用的。但是,我可以显示图层`model=Sequential()`model.add(Conv2D(32,(5,5),input_-shape=(1,28,28),activation='relu'))
model.add(maxpoolig2d(pool_-size=(2,2))
model.add(CustomConv2D(5))\35;这是自定义图层
`model.add(Dropout(0.2))`model.add(flatte())`model.add)(密集型(128,activation='relu'))`model.add(密集型(num_类,activation='softmax'))`