AttributeError:“NoneType”对象在 Keras 中没有属性“_inbound_nodes”

2023-12-09

我想定义自己的 Lstm 模型如下:

from keras import backend as K
from keras.callbacks import ModelCheckpoint
from keras.layers.core import Dense, Activation, Flatten, Dropout
from keras.layers import Input,Concatenate, Average, Maximum
from keras.layers.normalization import BatchNormalization
from keras.layers import LSTM, Bidirectional
from keras.models import Model
from keras.optimizers import Adam

class LSTMModel(object):

    def __init__(self, config):
        self.num_batch = config['num_batch']
        self.maxlen = config['maxlen']
        self.embedding_dims = config['embedding_dims']
        self.lstm_dims = config['lstm_dims']
        self.hidden_dims = config['hidden_dims']
        self.epochs = config['epochs']
        self.classes = config['classes']
        self.optimizer = config['optimizer']

    def load_data(self):
        (X_train, y_train), (X_test, y_test) = \
            imdb.load_data(num_words=self.max_features, seed=11)

        X_train = sequence.pad_sequences(X_train, maxlen=self.maxlen)
        X_test = sequence.pad_sequences(X_test, maxlen=self.maxlen)

        return (X_train, y_train), (X_test, y_test)

    def build_model(self, loss, P=None):

        input = Input(shape=(self.maxlen , self.embedding_dims))

        rnn_outputs, forward_h, forward_c, backward_h, backward_c  =\
        Bidirectional(LSTM(self.lstm_dims, return_sequences = True, return_state = True,
                           kernel_initializer='uniform'))(input)
        avg_pool = K.mean(rnn_outputs, axis = 1)
        max_pool = K.max(rnn_outputs, axis = 1)
        print(avg_pool)
        print(max_pool)
        x = Concatenate()([avg_pool, max_pool])
        print(x)
        #Add a dense layer
        x = Dense(self.hidden_dims, kernel_initializer = 'he_normal')(x)
        x = Activation('relu')(x)
        x = BatchNormalization(momentum = 0.5)(x)
        x = Dropout(0.5)(x)

        output = Dense(self.classes, kernel_initializer = 'he_normal')(x)

        if loss in yes_bound:
            output = BatchNormalization(axis=1)(output)

        if loss in yes_softmax:
            output = Activation('softmax')(output)

        model = Model(inputs=input, outputs=output)
        self.compile(model, loss, P)


if __name__ == "__main__":

    config = {
        "maxlen": 100,
        "embedding_dims": 31,
        "lstm_dims":20,
        "hidden_dims": 80,
        "classes": 21,
        "epochs": 50,
        "num_batch": 24,
        "optimizer": None
    }

    model = LSTMModel(config)
    model.build_model('crossentropy')

但是,我遇到了一个错误:

AttributeError: 'NoneType' object has no attribute '_inbound_nodes'

详细信息如下:

  File "F:\models.py", line 169, in build_model
    model = Model(inputs=input, outputs=output)

  File "E:\SoftwareInstall\anaconda3.5.2.0\lib\site-packages\keras\legacy\interfaces.py", line 91, in wrapper
    return func(*args, **kwargs)

  File "E:\SoftwareInstall\anaconda3.5.2.0\lib\site-packages\keras\engine\network.py", line 93, in __init__
    self._init_graph_network(*args, **kwargs)

  File "E:\SoftwareInstall\anaconda3.5.2.0\lib\site-packages\keras\engine\network.py", line 237, in _init_graph_network
    self.inputs, self.outputs)

  File "E:\SoftwareInstall\anaconda3.5.2.0\lib\site-packages\keras\engine\network.py", line 1353, in _map_graph_network
    tensor_index=tensor_index)

  File "E:\SoftwareInstall\anaconda3.5.2.0\lib\site-packages\keras\engine\network.py", line 1340, in build_map
    node_index, tensor_index)

  File "E:\SoftwareInstall\anaconda3.5.2.0\lib\site-packages\keras\engine\network.py", line 1340, in build_map
    node_index, tensor_index)

  File "E:\SoftwareInstall\anaconda3.5.2.0\lib\site-packages\keras\engine\network.py", line 1340, in build_map
    node_index, tensor_index)

  File "E:\SoftwareInstall\anaconda3.5.2.0\lib\site-packages\keras\engine\network.py", line 1340, in build_map
    node_index, tensor_index)

  File "E:\SoftwareInstall\anaconda3.5.2.0\lib\site-packages\keras\engine\network.py", line 1340, in build_map
    node_index, tensor_index)

  File "E:\SoftwareInstall\anaconda3.5.2.0\lib\site-packages\keras\engine\network.py", line 1340, in build_map
    node_index, tensor_index)

  File "E:\SoftwareInstall\anaconda3.5.2.0\lib\site-packages\keras\engine\network.py", line 1340, in build_map
    node_index, tensor_index)

  File "E:\SoftwareInstall\anaconda3.5.2.0\lib\site-packages\keras\engine\network.py", line 1312, in build_map
    node = layer._inbound_nodes[node_index]

AttributeError: 'NoneType' object has no attribute '_inbound_nodes'

你应该使用keras.layers.Lambda包裹K.*操作作为层而不是K.*直接运行。

# change
avg_pool = K.mean(rnn_outputs, axis = 1)
max_pool = K.max(rnn_outputs, axis = 1)
# to
avg_pool = Lambda(lambda x:K.mean(x,axis=1))(rnn_outputs)
max_pool = Lambda(lambda x:K.max(x,axis=1))(rnn_outputs)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

AttributeError:“NoneType”对象在 Keras 中没有属性“_inbound_nodes” 的相关文章

随机推荐

  • 如何让 jquery-ui 自动完成退出 iframe?

    是否可以使自动完成 jQueryUI 的建议从一个 iframe 中出来 具有与 select 元素相同的行为 我举一个例子 http jsbin com ehidef 1 事实上 这是可以做到的 尽管一些样式是强制性的 jQueryUI
  • Autoconf 路径中存在空格

    我刚刚将一个 C 项目转换为一个 autotools 项目 并在 configure ac 中编写了几行here 当我的路径应该是 bla bla 时 构建失败并显示 sh home me bla 没有这样的文件或目录 问题是我没有在任何地
  • NSArray 对 ARC 下对象的弱引用 (__unsafe_unretained)

    我需要在 NSArray 中存储对对象的弱引用 以防止保留循环 我不确定要使用的正确语法 这是正确的方法吗 Foo foo1 Foo alloc init Foo foo2 Foo alloc init unsafe unretained
  • WPF 和 CefSharp:性能低下

    我已经成功地用 c winforms 制作了一个个人迷你浏览器应用程序 因为我想要一些更奇特的效果 所以我正在考虑制作一个 WPF 应用程序 因此 我尝试了 wiki 教程并使用浏览器设置了一个简单的 WPF 表单 但注意到它的性能很慢 当
  • C#,如何访问当前线程中在其他线程中创建的内容?

    我正在用 C 编写聊天客户端 服务器应用程序 但我遇到了线程问题 我写了这个简单的代码来显示我的问题 我使用 thread 1 来显示 Form 但它只显示了一秒钟 也许 thread 1 终止并关闭了 Form 但我 IsAlive 说它
  • C4473 结构分配警告

    我目前正在做一项作业 很好奇编译时出现的警告是什么以及如何补救 它会构建 但当我调试时 它会出现错误屏幕 下面是出现的警告 1 gt c 用户 cesteves documents c 编程 库存 库存 inventory cpp 48 警
  • 将广播意图从服务发送到应用程序类

    是否可以将意图从服务发送到应用程序类 不是活动 我不知道在特定时间将运行什么活动 因此我在活动类中添加一个布尔标志 用于检测活动并根据收到的广播发送适当的数据 If your Service是活跃的 那么你的Application类是act
  • EF 6 与 ODP.Net Oracle.ManagedDataAccess,如何对类属性使用非大写字母?

    我正在将 EF 6 与 ODP Net 结合使用Oracle ManagedDataAccess对于我的 ASP Net MVC Web 应用程序 我有以下内容Model called Employee in Model Employee
  • 使用 Facebook iOS SDK 2,我如何喜欢某个页面? - “应用程序必须在白名单中”

    如何使用新的 Facebook iOS SDK 喜欢 某个页面 http github com facebook facebook ios sdk 我目前正在尝试这样做 NSMutableDictionary dict NSMutableD
  • Angular 6 仅需要多个字段中的一个字段反应形式

    我是角度新手 我有一种情况 我只需要表单中 5 个字段中的一个字段 这意味着如果用户至少填写一个字段 那么表单就有效 提前致谢 由于只有当其中一个字段非空时才需要检查整个表单的有效性 因此您可以手动设置有效性 如下所示 if this va
  • R stargazer:不同的小数

    我的 R 中的 stargazer 输出有问题 这是我的原始数据框 Rank p LMax 10 5 1 var1 0 427 24 25 21 8 27 4 31 5 var2 0 228 7 23 11 5 12 2 16 7 观星者创
  • Swift:从字节数据中提取浮点数

    我正在寻找一种健壮且优雅的方法来从数组中提取四个大端字节作为浮点数 我可以通过如下方式获得带有位的 UInt32 let data Byte 0x00 0x00 0x00 0x40 0x86 0x66 0x66 0x00 let dataP
  • 我可以将 Stream> 转换为 Stream 吗? [复制]

    这个问题在这里已经有答案了 这可能吗 伪Java someList 1 2 3 4 Stream
  • 按 DB2 划分的顶级组

    我已经尝试了几个小时 但无法让查询使用 DB2 执行我想要的操作 从表 公司和用户 中 我有每个公司 用户的以下门票数量信息 user company quantity mark nissan 300 tom toyota 50 steve
  • PyPlot ColorMesh 使用错误的颜色映射创建绘图

    我尝试使用 xy 坐标和颜色图以这种方式创建颜色网格图 from matplotlib colors import ListedColormap import numpy as np pylab inline colors ListedCo
  • 在 Windows 10 中的任务计划程序上计划 .py 文件

    我已经尝试将 py 文件转换为 exe 文件 不幸的是 exe 文件会出现问题 我相信这是因为我的代码相当复杂 因此 我尝试使用任务计划程序直接安排我的 py 文件 但每次我这样做然后运行它以查看是否有效 都会弹出一个窗口并询问我如何打开该
  • C 和派生数据类型?

    我知道基本数据类型C char int float 等 但是派生数据类型到底是什么C语言 6 2 5 20 的标准 嗯 草案 万岁免费 covers 派生类型 20 可以从对象 函数和对象构造任意数量的派生类型 不完整类型 如下 数组类型描
  • Android 备份和从 SD 卡恢复数据库

    我目前正在寻找在我的 Android 应用程序中构建备份功能 然而 在开始实施之前我有点挣扎 因为我不确定正确的方法是什么 我在网上发现了一些有趣的文章 因此我想出了三种可能的解决方案 将整个DB文件备份到SD卡 将 DB 数据导出到 SD
  • 如何使用 jquery 获取元素的 id、class 或 name attr

    我是 jquery 新手 如何使用 jquery 获取元素的名称 ID 或类名称 我正在尝试 div class className div div div div div function getName attrName this at
  • AttributeError:“NoneType”对象在 Keras 中没有属性“_inbound_nodes”

    我想定义自己的 Lstm 模型如下 from keras import backend as K from keras callbacks import ModelCheckpoint from keras layers core impo