Я новичок в Keras и Tensorflow. Я безуспешно пытаюсь изменить этот урок для Python (с которым я совсем не знаком);Я сформулировал следующий фрагмент кода.
var Functions = new int[] { 1, 2, 3, 4 };
var BatchSize = 64;
var InputDim = Functions.Count();
var OutputDim = 256;
var RnnUnits = 1024;
var iLayer1
= new Embedding(InputDim,
OutputDim,
input_shape: new Shape(new int[] { BatchSize, 0 } ) );
var iLayer2
= new GRU(RnnUnits,
return_sequences: true,
stateful: true, recurrent_initializer: "glorot_uniform");
var iLayer3 = new Dense(InputDim);
var iSequential = new Sequential();
iSequential.Add(iLayer1);
iSequential.Add(iLayer2);
iSequential.Add(iLayer3);
Во время компиляции я получаю сообщение об ошибке
Python.Runtime.PythonException:
"ValueError : Input 0 is incompatible with layer gru_1: expected ndim=3, found ndim=4"
при выполнении
iSequential.Add(iLayer2);
. Насколько я понимаю, это означает, что iLayer1
настроен таким образом, что невозможно использовать его вместе с iLayer2
, но я понятия не имею, что делать.
Редактировать: После некоторого возни я получил сообщение об ошибке
ValueError : slice index 0 of dimension 0 out of
bounds. for 'gru_1/strided_slice_10' (op: 'StridedSlice') with
input shapes: [0,64,256], [1], [1], [1] and with
computed input tensors: input[1] = <0>, input[2] = <1>, input[3] = <1>.
Есть идеи?