【问题标题】:TensorFlow: how find out that tensor already createdTensorFlow:如何找出已经创建的张量
【发布时间】:2021-06-16 12:09:21
【问题描述】:

我正在尝试创建形状为 42000x28x28 的大张量,数据以 ArrayBuffer 的形式出现,假设我创建了类似的张量:

tf.tensor4d(new Uint8Array(xsTrainBuffer), [42000 * 0.9, 28, 28, 1]).div<Tensor<Rank.R4>>(255);

问题是 - 如何找出张量已经准备好并且我可以在模型训练中使用它,因为这个函数不返回任何承诺,但对我来说,将这个操作视为同步操作看起来有点奇怪.

【问题讨论】:

    标签: tensorflow tensorflow.js


    【解决方案1】:

    我相信更好的方法是tf.data.array() 函数。这将为您创建一个DataSet,非常适合处理大量数据。

    虽然函数本身是同步的,但它会延迟加载数据 - 因此,在您调用该函数后,如果您尝试记录数据,它将立即显示为空。但是,使用forEachAsync() 函数记录数据,您会发现它读取正确。

    查看这个iris-fitDataset 示例,他们使用tf.data.array() 函数。

    请注意,Dataset 有自己的模型函数,例如 fitDataset() 而不是 fit(),因此您不必将 Dataset 转换为其他任何内容。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-11-24
      • 2018-12-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多