मैं Tensoflow.js से पढ़ाई शुरू कर रहा हूँ। मैंने रैखिक फ़ंक्शन के लिए भविष्यवाणी उदाहरण को देखा और फिर से बनाया है; जहां आपके पास शुरू में है:

async function learnLinear(){
   model = tf.sequential();
   // uma camada e um nó
   model.add(tf.layers.dense({units: 1, inputShape: [1]}));
   // 
   model.compile({
      loss: 'meanSquaredError', //funcao de perda: erro quadratico médio p/ funcoes lineares
      optimizer: 'sgd' // descida de gradiente estocástica - metodologia para o aprendizado
      });
   
   // abaixo valores x,y nos parametros e o segundo é o formato 6 linhas 1 coluna
   const xs = tf.tensor2d([-1, 0, 1, 2, 3, 4],[6, 1]); 
   const ys = tf.tensor2d([-3, -1, 1, 3, 5, 7], [6, 1]);

   // treinar o modelo em um número fixo de iterações (épocas)
   await model.fit(xs, ys, {epochs: 900}); // 900 iterações
   ...

अब मैं एक साधारण योग लागू करना चाहता हूं, जैसा कि नीचे दी गई तालिका में सुझाया गया है।

sum

लेकिन मैं इसके लिए एक टेम्प्लेट कॉन्फ़िगरेशन बनाने में असमर्थ था (कैसे टेंसर, लेयर्स और ट्रेनिंग दिखाई देगी)। क्या आप एक उदाहरण दे सकते हैं?

0
tonsig 4 पद 2020, 18:07

1 उत्तर

सबसे बढ़िया उत्तर

आप अपने उदाहरण की तरह एक साधारण रैखिक प्रतिगमन कर सकते हैं। उस मात्रा में डेटा के साथ परिणाम भयानक होंगे, इसलिए अभी तक अपने कैलकुलेटर को उसके साथ बदलने की अपेक्षा न करें।

बस अपना X1 और x2 टेंसर सेट करें, और अपने मॉडल के इनपुट को 2 इनपुट स्वीकार करें।

// Define a model for linear regression.
const model = tf.sequential();
model.add(tf.layers.dense({units: 1, inputShape: [2]}));

// Prepare the model for training: Specify the loss and the optimizer.
model.compile({loss: 'meanSquaredError', optimizer: 'sgd'});

// Generate some synthetic data for training.
const x1 = tf.tensor2d([1, 1, 2, 1, 3], [5, 1]);
const x2 = tf.tensor2d([0, 1, 1, 1, 1], [5, 1]);
// we concat x1 and x2 to get an input of the shape [5,2]
// "Tensor [[1, 0],
//          [1, 1],
//          [2, 1],
//          [1, 1],
//          [3, 1]]"
const xs = tf.concat([x1,x2],1)
// The labels is just the sum of x1+x2
// "Tensor [[1],[2],[3],[2],[4]]"
const ys = tf.add(x1,x2)

// Train the model using the data.
model.fit(xs, ys, epochs=1000).then(() => {
  // Try one prediction. 
  // The result will be pretty bad because 
  // there is not much data
  model.predict(tf.tensor2d([0, 1], [1, 2])).print();
});
2
Lescurel 4 पद 2020, 16:34