TensorFlow.js:那两个张量相等吗?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了TensorFlow.js:那两个张量相等吗?相关的知识,希望对你有一定的参考价值。

我正在阅读TensorflowJS文档。在他们的示例代码中,他们说

  const xs = tf.tensor2d([1, 2, 3, 4], [4, 1]);

See here

我很困惑,因为他们在这里使用二维数组。有谁知道为什么?

为了完整起见,这里是完整的代码片段。

 // Define a model for linear regression.
  const model = tf.sequential();
  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
    model.predict(tf.tensor2d([5], [1, 1])).print();
  });

这里使用1维数组会不会更简单,因为数组不会使用第二维吗?

const xs = tf.tensor1d([1, 2, 3, 4]);
答案

xs张量的特征是二维张量。更一般地,特征张量比第一层的inputShape大一维。添加的维度是批次维度,它指示inputShape的形状元素数量,模型是经过训练的还是预测的。

在示例中,inputShape的大小为[1],特征形状需要是[b,1]的形状,因此是二维张量

以上是关于TensorFlow.js:那两个张量相等吗?的主要内容,如果未能解决你的问题,请参考以下文章

TensorFlow.js机器学习教程 - js味儿的张量操作

TensorFlow.js机器学习教程 - js味儿的张量操作

TensorFlow.js机器学习教程 - js味儿的张量操作

TensorFlow js. 官方教程

TensorFlow js. 官方教程

TensorFlow js. 官方教程