我是tensorflow-js的新手,但过去已经使用过tensorflow python了很多。目前,我正在尝试在Web应用程序中进行一些建模。
我需要在运行时构建张量流(由于依赖于用户交互)。该问题在数学上是基本的,它是1d到1d的曲线拟合(y
是x
的函数,需要拟合一些自由参数)。
我的代码如下:
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
,因为我想稍后再对此建模进行概括。
答案 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作为特征和标签,则可以在训练过程中使用预测函数来完成