Keras 2.2.4 ОШИБКА: AttributeError: у объекта 'NoneType' нет атрибута 'inbound_nodes' - PullRequest
0 голосов
/ 02 апреля 2019

Я строю новый канал для моей сети.Глобальный средний результат объединения умножит (поэлементно) первое значение x (входное).Но когда я запускаю файл train.py, возникают ошибки, которые я не мог понять.pls HELP !!!

Сообщение об ошибке:

Traceback (most recent call last):
  File "E:/githubRemote/train.py", line 49, in <module>
    model = init_model()
  File "E:/githubRemote/train.py", line 37, in init_model
    model = Model(inputs=im_n, outputs=resd)
  File "C:\Users\Anaconda3\lib\site-packages\keras\legacy\interfaces.py", line 91, in wrapper
    return func(*args, **kwargs)
  File "C:\Users\Anaconda3\lib\site-packages\keras\engine\network.py", line 93, in __init__
    self._init_graph_network(*args, **kwargs)
  File "C:\Users\Anaconda3\lib\site-packages\keras\engine\network.py", line 231, in _init_graph_network
    self.inputs, self.outputs)
  File "C:\Users\Anaconda3\lib\site-packages\keras\engine\network.py", line 1366, in _map_graph_network
    tensor_index=tensor_index)
  File "C:\Users\Anaconda3\lib\site-packages\keras\engine\network.py", line 1353, in build_map
    node_index, tensor_index)
  File "C:\Users\Anaconda3\lib\site-packages\keras\engine\network.py", line 1353, in build_map
    node_index, tensor_index)
  File "C:\Users\Anaconda3\lib\site-packages\keras\engine\network.py", line 1353, in build_map
    node_index, tensor_index)
  [Previous line repeated 3 more times]
  File "C:\Users\Anaconda3\lib\site-packages\keras\engine\network.py", line 1325, in build_map
    node = layer._inbound_nodes[node_index]
AttributeError: 'NoneType' object has no attribute '_inbound_nodes'

Мой код ошибки - операция Multiply layer.Когда я комментирую net = Multiply()([x, excitation]) Это будет работать!Я думаю, что модель keras может учитывать, что строка кода не образует слой Keras.Так что это NoneType -.-

Мой код:

def CAlayer(x, channel, reduction=16):
    # tensorflow implement
    # avg_pool = tflearn.global_avg_pool(inputx)
    # conv_1   = slim.conv2d(avg_pool, channel // reduction, 1)
    # conv_2   = slim.conv2d(conv_1, channel, 1, activation_fn=None)
    # excitation = tf.nn.sigmoid(conv_2)
    # keras implementation
    avg_pool   = GlobalAveragePooling2D()(x)
    avg_pool   = expand_dims(avg_pool, axis=1)
    avg_pool   = expand_dims(avg_pool, axis=1)
    conv_1     = Conv2D(channel//reduction, 1, activation=None, padding='same')(avg_pool)
    conv_1_ac  = Activation('relu')(conv_1)
    conv_2     = Conv2D(channel, 1, activation=None, padding='same')(conv_1_ac)
    excitation = Activation('sigmoid')(conv_2)
--> net = Multiply()([excitation, x])
    # print (net.shape)
    return net
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...