오류 : 입력을 확인할 때 오류가 발생했습니다. density_Dense1_input에 3 차원이 있어야합니다. 하지만 1,9 모양의 배열이 있습니다.

Jan 05 2021

나는 tensorflow.js를 처음 접했고 캔버스의 어느 쪽에서 좋아하는지 알려주는 간단한 모델을 시도하고 있습니다.

const model = tf.sequential();
model.add(
         tf.layers.dense({
           units: 200,
           activation: "sigmoid",
           inputShape: [0, 1],
         })
       );
       model.add(
         tf.layers.dense({
           units: 2,
           activation: "softmax",
         })
       );
       model.compile({
         optimizer: optimizer,
         loss: "categoricalCrossentropy",
         metrics: ["accuracy"],
       });

내 교육 및 테스트 데이터

        const yTrain = tf.tensor2d(
          [10, 130, 60, 20, 150, 110, 3, 160, 99],
          [1, 9]
        );
        const xTrain = tf.tensor2d([0, 1, 0, 0, 1, 1, 0, 1, 0], [1, 9]);

        const yTest = tf.tensor2d(
          [5, 106, 33, 88, 104, 140, 7, 60, 154],
          [1, 9]
        );
        const xTest = tf.tensor2d([0, 1, 0, 0, 1, 1, 0, 0, 1], [1, 9]);

답변

edkeveked Jan 05 2021 at 22:11

inputShape의 크기는 2이므로 기능 (여기서는 xtrain 및 xtest)은 차원 3이어야합니다.

또한 차원 크기를 0으로 설정하는 것은 의미가 없습니다 (즉, 텐서가 비어 있음을 의미합니다).

xtrain 및 xtest 모양이 주어지면 inputShape [a, b][b].

모델과 학습 데이터 간의 형상 불일치가 논의되고있다 여기에 와 있다