如何创建 nd4j 3D 输入数据

问题描述

我已经训练了一个 keras 模型

model = Sequential()
model.add(LSTM(input_shape=(50,48),units=100,return_sequences=True))
model.add(Dropout(0.2))
model.add(LSTM(units=50,return_sequences=False))
model.add(Dropout(0.2))
model.add(Dense(128,activation='relu'))
model.add(Dropout(0.5))
model.add(Dense(64,activation='relu'))
model.add(Dropout(0.5))
model.add(Dense(units=1,activation='sigmoid'))
# optimizer = keras.optimizers.Adam(lr=0.0001)
model.compile(loss=[binary_focal_loss(alpha=.972,gamma=3)],optimizer='adam',metrics=['accuracy'])
model.summary()
return model

当我创建一个 inputData 时,我得到一个错误:3D input expected to RNN layer expected,得到 2。 Indarray input = Nd4j.create(inputData,new int[]{50,48});

我试过 Indarray input = Nd4j.create(inputData,new int[]{1,50,48}); 又犯了一个错误 接收到 size(1) = 50 的输入(输入数组形状 = [1,48]); input.size(1) 必须匹配层 nIn 大小 (nIn = 48)

怎么了

解决方法

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

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

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