Веса и прогнозы каждого слоя - PullRequest
0 голосов
/ 21 января 2019

Я пытаюсь создать простой просмотрщик нейронной сети, как показано на рисунке ниже.Я могу получить обученные веса, но где значения узлов хранятся в слое тензорного потока js , когда предсказание выполнено?Другими словами, я могу получить значения строки, но не обведенные значения.В простой сети это так же просто, как x и y, переданные в метод подгонки.

enter image description here

1 Ответ

0 голосов
/ 21 января 2019

getWeigths позволяет получить вес слоя

Используя tf.model, можно вывести прогноз каждого слоя

const input = tf.input({shape: [5]});
        const denseLayer1 = tf.layers.dense({units: 10, activation: 'relu'});
        const denseLayer2 = tf.layers.dense({units: 2, activation: 'softmax'});
        const output1 = denseLayer1.apply(input);
        const output2 = denseLayer2.apply(output1);
        const model = tf.model({inputs: input, outputs: [output1, output2]});
        const [firstLayer, secondLayer] = model.predict(tf.ones([2, 5]));
        
        console.log(denseLayer1.getWeights().length) // 2  W and B for a dense layer
        denseLayer1.getWeights()[1].print()
        console.log(denseLayer2.getWeights().length) // also 2
        // output of each layer WX + B
        firstLayer.print();
        secondLayer.print()
<html>
  <head>
    <!-- Load TensorFlow.js -->
    <script src="https://cdn.jsdelivr.net/npm/@tensorflow/tfjs@0.12.0"> </script>
  </head>

  <body>
  </body>
</html>

Можно сделать то же самое, используя tf.sequential()

const model = tf.sequential();

// first layer
model.add(tf.layers.dense({units: 10, inputShape: [4]}));
// second layer
model.add(tf.layers.dense({units: 1}));

// get all the layers of the model
const layers = model.layers
layers[0].getWeights()[0].print()
<html>
  <head>
    <!-- Load TensorFlow.js -->
    <script src="https://cdn.jsdelivr.net/npm/@tensorflow/tfjs@0.12.0"> </script>
  </head>

  <body>
  </body>
</html>

Однако с tf.sequential невозможно получить прогноз для каждого слоя так же, как можно с tf.model, используя output, переданный в качестве параметра вКонфиг модели

...