TensorFlow.js:那两个张量相等吗?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了TensorFlow.js:那两个张量相等吗?相关的知识,希望对你有一定的参考价值。
我正在阅读TensorflowJS文档。在他们的示例代码中,他们说
const xs = tf.tensor2d([1, 2, 3, 4], [4, 1]);
我很困惑,因为他们在这里使用二维数组。有谁知道为什么?
为了完整起见,这里是完整的代码片段。
// 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味儿的张量操作