我有以下示例代码。我可以通过打印功能在控制台中看到正确的结果。

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

  model.add(tf.layers.dense({units: 1, inputShape: [1]}));

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

  // Generate some synthetic data for training.
  const xs = tf.tensor2d([1, 2, 3, 4], [4, 1]);
  const ys = tf.tensor2d([1, 3, 5, 7], [4, 1]);

  // Train the model using the data.
  model.fit(xs, ys).then(() => {
    // Use the model to do inference on a data point the model hasn't seen before:
    // Open the browser devtools to see the output
    answer = model.predict(tf.tensor2d([3], [1, 1]));
    answer.print()

  });

我希望能够做的是将答案放入一个数字变量中,以便我可以在其他地方使用它。我得到的答案是:
Tensor [[4.9999123],]

但是我想将 4.9999 放入一个变量中,以便我可以将其四舍五入到 5 并将其打印在屏幕上(以 html 格式)。

最佳答案

我发现答案是:

    answer.data().then((d)=>{
      console.log(d[0])
    })

answer 有一个返回 promise 的数据方法。您可以从 promise 中获取数据。

我搜索了stackoverflow,这让我想到了这个问题:
Get data from 2D tensor with tensorflow js

Rocksetta 好心地在以下网站上发布了他们代码的链接:

https://hpssjellis.github.io/beginner-tensorflowjs-examples-in-javascript/beginner-examples/tfjs02-basics.html

关于javascript - 将结果放入变量中,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50000400/

10-12 15:13