Keras:使用for循环将节点组分割成输出

2024-09-26 22:51:09 发布

您现在位置:Python中文网/ 问答频道 /正文

我想将一个层的不同节点组合在一起,并在每个组上运行softmax

例如,我想要81个输出来预测一个基因序列,每个字母一个输出。每个输出有四个可能的值,所以我想要一个有81*4个单位的密集层,我会一次做四个节点。我该怎么做?我试过这样的方法:

    def create_generator():
        input = Input(shape=(152,))
        x = Dense(152)(input)

        x = Dense(81 * 4)(x)
        x = LeakyReLU(0.2)(x)

        out = []

        # apply softmax in groups of four
        for i in range(81):
            bp = Activation('softmax')(x[i * 4:i * 4 + 3])
            out.append(bp)
        concatenated = concatenate(out)

        generator = Model(inputs=input, outputs=concatenated)
        generator.compile(optimizer=adam_optimizer(), 
        loss='categorical_crossentropy')

但是我得到错误“非类型对象没有属性'\u入站节点'”。我认为使用keras的连接层可以解决这个问题,但是运气不好


Tags: ininput节点字母基因单位序列out

热门问题