首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AttributeError:“模型”对象没有属性“名称”

AttributeError:“模型”对象没有属性“名称”
EN

Stack Overflow用户
提问于 2018-07-09 20:36:54
回答 2查看 12.9K关注 0票数 7

我是Keras新手,当我遇到这个错误时,我正试图使用Python 3.6构建一个text-classification CNN模型:

代码语言:javascript
复制
AttributeError: 'Model' object has no attribute 'name'

这是我写的代码:

代码语言:javascript
复制
print("\nCreating Model...")
x1 = Input(shape=(seq_len1, 100), name='x1')
x2 = Input(shape=(seq_len2, 100), name='x2')
x1 = Reshape((seq_len1, embedding_dim, 1))(x1)
x2 = Reshape((seq_len2, embedding_dim, 1))(x2)

conv_0 = Conv2D(num_filters, kernel_size=(filter_sizes[0], 1), padding='valid', kernel_initializer='normal', activation='relu')
conv_1 = Conv2D(num_filters, kernel_size=(filter_sizes[1], 1), padding='valid', kernel_initializer='normal', activation='relu')
conv_2 = Conv2D(num_filters, kernel_size=(filter_sizes[2], 1), padding='valid', kernel_initializer='normal', activation='relu')

maxpool = MaxPool2D(pool_size=(2, 1), strides=(1,1), padding='valid')

output1 = conv_0(x1)
output1 = maxpool(output1)
output1 = conv_1(output1)
output1 = maxpool(output1)
output1 = conv_2(output1)
output1 = maxpool(output1)
.
.
# Same for output2
.
concatenated_tensor = Concatenate(axis=1)([output1, output2])
flatten = Flatten()(concatenated_tensor)
#dropout = Dropout(drop)(flatten)
output = Dense(units=1024, activation='relu')(flatten)
output = Dense(units=1024, activation='relu')(output)
output = Dense(units=1, activation='softmax')(output)

# this creates a model that includes
model = Model(inputs=[x1, x2], outputs=[output])

在最后一行中会遇到错误。请帮我解决这个问题

编辑:

代码语言:javascript
复制
Traceback (most recent call last):
  File "model.py", line 91, in <module>
    model = Model(inputs=[x1, x2], outputs=[out])
  File "/../../anaconda3/lib/python3.6/site-packages/keras/legacy/interfaces.py", line 91, in wrapper
    return func(*args, **kwargs)
  File "/../../anaconda3/lib/python3.6/site-packages/keras/engine/network.py", line 91, in __init__
    self._init_graph_network(*args, **kwargs)
  File "/../../anaconda3/lib/python3.6/site-packages/keras/engine/network.py", line 183, in _init_graph_network
    'The tensor that caused the issue was: ' +
AttributeError: 'Model' object has no attribute 'name'
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-07-09 20:48:13

x1和x2指向输入的重塑层,而不是输入层本身。

票数 18
EN

Stack Overflow用户

发布于 2020-08-07 07:39:51

当我使用自定义的"swish“激活函数时,也会出现相同的错误。我可以用下面的代码解析相同的

代码语言:javascript
复制
class Swish(Activation):
    def __init__(self, activation, **kwargs):
        super(Swish, self).__init__(activation, **kwargs)
        self.__name__ = 'swish'
def swish(x,beta=1):
    return (x*sigmoid(x*beta))
get_custom_objects().update({'swish': Swish(swish)})
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51253644

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档