Keras实体嵌入模型中的形状不相容

问题描述

我试图修改video中的代码以进行多类分类,但是在拟合模型时形状不匹配。我尝试过,但不知道为什么。任何帮助表示赞赏。

我的train数据是这样的:

time_signature  key mode    loudness_cat    tempo_cat   duration_cat    genre_cat
       4         0    1           5             3             2             4
       4         4    1           0             3             2             2
       4         7    1           0             0             2             2
       3         6    1           4             0             2             3
       4         5    0           4             3             2             2

这是给定代码修改

features = train.columns

def get_model(df,categorical_columns):
    inputs = []
    outputs = []
    for c in categorical_columns:
        num_nuique_vals = int(df[c].nunique())
        # take the ceiling unique values 
        embed_dim = int(min(np.ceil(num_nuique_vals / 2),50))
        inp = layers.Input(shape=(1,))
        out = layers.Embedding(num_nuique_vals + 1,embed_dim,name=c)(inp)
        # apply dropout here
        out = layers.Reshape(target_shape=(embed_dim,))(out)
        inputs.append(inp)
        outputs.append(out)
    X = layers.Concatenate()(outputs)
    X = layers.Dense(300,activation='relu')(X)
    X = layers.Dropout(0.3)(X)
    #output
    y = layers.Dense(8,activation='sigmoid')(X)
    model = Model(inputs=inputs,outputs=y)
    return model

编译和拟合模型:

model = get_model(train,features)
model.compile(loss='categorical_crossentropy',optimizer='adam')

# there's any eight genre
model.fit([train.loc[:,f].values for f in features],train.genre_cat.values)

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)