【问题标题】:Saving previous values of a Tensorflow.js tensor保存 Tensorflow.js 张量的先前值
【发布时间】:2020-08-29 08:48:12
【问题描述】:

我有一个函数可以存储张量的所有值,然后将其连接到一个矩阵中。函数如下所示:

    if (i == 1) {
        var y_pred1 = y_pred
    } else if (i == 2) {
        var y_pred2 = y_pred
    } else if (i == 3) {
        var y_pred3 = y_pred
    } else if (i == 4) {
        var y_pred4 = y_pred
    }
tf.concat([y_pred1, y_pred2, y_pred3, y_pred4])

此函数在 for 循环的每次迭代中存储 y_pred 的每个值。有没有办法让这更有效,这样我就不需要在模型内部有大量的 if 语句。供您参考,y_pred 是一个张量。

仅供参考:i 代表迭代次数,因此如果达到迭代 1 y_pred1 = y_pred

【问题讨论】:

  • 您的代码不完整,请至少包含您的循环。否则,每个人都只是假设您使用的是whileforfor in,而且y_pred 的声明和值也丢失了。为了进行正确的优化,我们需要所有这些东西。

标签: javascript tensorflow if-statement optimization tensor


【解决方案1】:

如果每个张量都返回一个结果,您可能应该使用Array 的实例。

如果张量的数量是静态的并且你提前知道:

var tf = new Array(number_of_tensors);

for (var i = 0; i < number_of_tensors; i++) {
    var y_pred = /** get the result of your tensor **/
    tf[i] = y_pred;
}

仅此而已。不用concat()tf已经是矩阵了。

如果你不知道张量的数量:

// before your for-loop
var tf = new Array();

// into your for-loop
var y_pred = /** get the result of your tensor **/
tf.push(y_pred);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-09-26
    • 1970-01-01
    • 1970-01-01
    • 2019-04-13
    • 2019-04-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多