Tensorflow-js:相当于“ tf.placeholder”?

时间:2019-04-23 14:05:56

标签: tensorflow tensorflow.js

我是tensorflow-js的新手,但过去已经使用过tensorflow python了很多。目前,我正在尝试在Web应用程序中进行一些建模。

我需要在运行时构建张量流(由于依赖于用户交互)。该问题在数学上是基本的,它是1d到1d的曲线拟合(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,因为我想稍后再对此建模进行概括。

1 个答案:

答案 0 :(得分:1)

构造图形时使用

tf.placeholder。 tfjs中没有等效的tf.placeholder,因为它目前仅支持预先执行。实际上,从tensorflow 2.0开始,不再有tf.placeholder。

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

构造它们。

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