问题描述
我试图修改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 (将#修改为@)