我正在尝试将多个输入传递给 ComputationGraph,但不断收到错误“无法进行正向传递:未设置输入”。我的错误是什么?
ArrayList<String> inAndOutNames = new ArrayList<>();
String[] inputNames = new String[inputAmount];
InputType[] inputTypes = new InputType[inputAmount + 1];
for(int i = 0; i < inputAmount; i++)
{
inAndOutNames.add("bit" + i);
inputNames[i] = "bit" + i;
inputTypes[i] = InputType.recurrent(1);
}
inAndOutNames.add("p");
inputTypes[inputAmount] = InputType.recurrent(1);
ComputationGraphConfiguration configuration = new NeuralNetConfiguration.Builder()
.weightInit(WeightInit.XAVIER)
.updater(new Adam(0.001))
.seed(seed)
.graphBuilder()
.addInputs(inAndOutNames)
.setInputTypes(inputTypes)
.addLayer("l1", new LSTM.Builder().nIn(inputAmount).nOut(128).activation(Activation.TANH).build(), inputNames)
.addLayer("l2", new LSTM.Builder().nIn(128).nOut(256).build(), "l1", "p")
.addLayer("lOut", new DenseLayer.Builder().nIn(256).nOut(10).build(), "l2")
.setOutputs("lOut")
.build();
model = new ComputationGraph(configuration);
model.init();
model.setListeners(new ScoreIterationListener(iterationsBetweenScores));
我已经尝试了几种不同的图层和顶点组合,但还没有找到任何有效的方法。