Tensorflow-js:什么是 `tf.placeholder` 的等价物?

Tensorflow-js: what is the equivalent of `tf.placeholder`?

我是 tensorflow-js 的新手,但过去经常使用 tensorflow python。我现在正在尝试在网络应用程序中进行一些建模。

我需要在运行时构建一个张量流(因为取决于用户交互)。这个问题在数学上很基础,它是一维到一维的曲线拟合(yx 的函数,需要拟合一些自由参数)。

我的代码如下:

let x_train = tf.tensor1d( [1,2,3,4,5,6,7], "float32");
let y_train = tf.tensor1d( [1,2,3,4,5,6,7], "float32");
let slope = tf.variable( tf.scalar(0), true, 'slope');
let intercept = tf.variable( tf.scalar(0), true, 'intercept');
let x = tf.variable( tf.scalar(0), false, 'input');
let y = tf.add(tf.mul(slope, x), intercept);
const optimizer = tf.train.adam();


let model = tf.model( {inputs: x, outputs: y});
let lossAndOptimizer = {
  loss: 'meanSquaredError',
  optimizer: 'adam',
};

但我收到错误:

error TS2322: Type 'Variable<Rank.R0>' is not assignable to type 'SymbolicTensor | SymbolicTensor[]'.

告诉我 tf.variable 不能用作模型输入。我查看了相当于 tf.placeholder 的 tfjs 文档,但找不到它。我可以在这里使用什么?

ps:我需要使用tf.model,因为我想稍后推广这个模型。

tf.placeholder 在构造图形时使用。 tfjs 中没有 tf.placeholder 的等效项,因为它目前仅支持即时执行。其实从tensorflow 2.0开始,就没有了tf.placeholder.

Here是一篇关于如何使用tf.model创建非循环图的教程。不清楚您想对 x 和 y 做什么。如果您的目标是设置层的权重,则可以使用 setWeights 方法。另一方面,如果 x 和 y 是输入和输出层,则必须使用 tf.input 而不是 tf.variable

来构造它们

如果目标是分别使用 x 和 y 作为特征和标签,可以在训练期间使用预测函数来完成