如何使用tf-vis可视化优化器功能?将优化器转换为tf.model?

时间:2019-05-20 15:54:28

标签: tensorflow

我们在这里查看示例: https://js.tensorflow.org/api/latest/#train.sgd

求解多项式的地方。

我的第一个问题是,如何使用tf.model转换它,因为有了它,我可以传递与tf-vis很好地集成的回调以进行可视化?

此外,对于这种类型的问题,明智的做法是将其设置为tf.model(如果不是),我该如何可视化它。

我试图全神贯注于创建一个密集层来解决此问题,但失败了。

代码在文档中,但是如果由于某种原因将来会更改,将其保留在此处也很明智:

// Fit a quadratic function by learning the coefficients a, b, c.
const xs = tf.tensor1d([0, 1, 2, 3]);
const ys = tf.tensor1d([1.1, 5.9, 16.8, 33.9]);

const a = tf.scalar(Math.random()).variable();
const b = tf.scalar(Math.random()).variable();
const c = tf.scalar(Math.random()).variable();

// y = a * x^2 + b * x + c.
const f = x => a.mul(x.square()).add(b.mul(x)).add(c);
const loss = (pred, label) => pred.sub(label).square().mean();

const learningRate = 0.01;
const optimizer = tf.train.sgd(learningRate);

// Train the model.
for (let i = 0; i < 10; i++) {
  optimizer.minimize(() => loss(f(xs), ys));
}

// Make predictions.
console.log(
    `a: ${a.dataSync()}, b: ${b.dataSync()}, c: ${c.dataSync()}`);
const preds = f(xs).dataSync();
preds.forEach((pred, i) => {
  console.log(`x: ${i}, pred: ${pred}`);
});

0 个答案:

没有答案