如何访问 tf.NamedTensorMap 中的数据?

原文标题How Do I Access the Data in a tf.NamedTensorMap?

我正在学习 Tensorflow.js,但遇到了问题。所以,我使用的数据是参差不齐的字符串向量。我已经使用tf.string.stringSplit()对数据进行了标记化,但我现在无法访问数据。我可以调用split.values.print()来获取张量中值摘要的控制台日志,但我不知道如何直接访问这些值。我找不到关于tf.NamedTensorMaps的文档。我想获取拆分值在张量中作为数组。

const sentence = tf.string.stringSplit(['Hello , World !'], ' ')

console.log(sentence.values)

原文链接:https://stackoverflow.com//questions/71983466/how-do-i-access-the-data-in-a-tf-namedtensormap

回复

我来回复
  • Sintrias的头像
    Sintrias 评论

    所以,我似乎到处寻找一些文档来解释tf.NamedTensorMap,但它似乎并不存在。在玩弄了Object类的方法之后,我意识到我可以使用Object.getPrototypeOf()来访问所有的方法名称。此外,通过使用Object.keys(),我能够控制台记录tf.NamedTensorMap中的所有属性键。所以这就是我发现的。

    似乎tf.NamedTensorMap.indicestf.NamedTensorMap.valuestf.NamedTensorMap.shape中的每一个由于某种原因具有相同的方法,即使它们持有不同的数据。我假设这是由于一些继承。无论如何,我能够找到多种可用于从张量获取数据的方法。即tf.dataSync()tf.arraySync()两者都适用于我的特定场景。

    Tensor {
      rank: [Getter],
      buffer: [Function (anonymous)],
      bufferSync: [Function (anonymous)],
      array: [Function (anonymous)],
      arraySync: [Function (anonymous)],
      data: [Function (anonymous)],
      dataToGPU: [Function (anonymous)],
      dataSync: [Function (anonymous)],
      bytes: [Function (anonymous)],
      dispose: [Function (anonymous)],
      isDisposed: [Getter],
      throwIfDisposed: [Function (anonymous)],
      print: [Function (anonymous)],
      clone: [Function (anonymous)],
      toString: [Function (anonymous)],
      cast: [Function (anonymous)],
      variable: [Function (anonymous)],
      abs: [Function (anonymous)],
      acos: [Function (anonymous)],
      acosh: [Function (anonymous)],
      add: [Function (anonymous)],
      all: [Function (anonymous)],
      any: [Function (anonymous)],
      argMax: [Function (anonymous)],
      argMin: [Function (anonymous)],
      asScalar: [Function (anonymous)],
      asType: [Function (anonymous)],
      as1D: [Function (anonymous)],
      as2D: [Function (anonymous)],
      as3D: [Function (anonymous)],
      as4D: [Function (anonymous)],
      as5D: [Function (anonymous)],
      asin: [Function (anonymous)],
      asinh: [Function (anonymous)],
      atan: [Function (anonymous)],
      atan2: [Function (anonymous)],
      atanh: [Function (anonymous)],
      avgPool: [Function (anonymous)],
      batchToSpaceND: [Function (anonymous)],
      batchNorm: [Function (anonymous)],
      broadcastTo: [Function (anonymous)],
      ceil: [Function (anonymous)],
      clipByValue: [Function (anonymous)],
      concat: [Function (anonymous)],
      conv1d: [Function (anonymous)],
      conv2dTranspose: [Function (anonymous)],
      conv2d: [Function (anonymous)],
      cos: [Function (anonymous)],
      cosh: [Function (anonymous)],
      cumprod: [Function (anonymous)],
      cumsum: [Function (anonymous)],
      depthToSpace: [Function (anonymous)],
      depthwiseConv2d: [Function (anonymous)],
      dilation2d: [Function (anonymous)],
      divNoNan: [Function (anonymous)],
      div: [Function (anonymous)],
      dot: [Function (anonymous)],
      elu: [Function (anonymous)],
      equal: [Function (anonymous)],
      erf: [Function (anonymous)],
      exp: [Function (anonymous)],
      expandDims: [Function (anonymous)],
      expm1: [Function (anonymous)],
      fft: [Function (anonymous)],
      flatten: [Function (anonymous)],
      floor: [Function (anonymous)],
      floorDiv: [Function (anonymous)],
      gather: [Function (anonymous)],
      greaterEqual: [Function (anonymous)],
      greater: [Function (anonymous)],
      ifft: [Function (anonymous)],
      irfft: [Function (anonymous)],
      isFinite: [Function (anonymous)],
      isInf: [Function (anonymous)],
      isNaN: [Function (anonymous)],
      leakyRelu: [Function (anonymous)],
      lessEqual: [Function (anonymous)],
      less: [Function (anonymous)],
      localResponseNormalization: [Function (anonymous)],
      logSigmoid: [Function (anonymous)],
      logSoftmax: [Function (anonymous)],
      logSumExp: [Function (anonymous)],
      log: [Function (anonymous)],
      log1p: [Function (anonymous)],
      logicalAnd: [Function (anonymous)],
      logicalNot: [Function (anonymous)],
      logicalOr: [Function (anonymous)],
      logicalXor: [Function (anonymous)],
      matMul: [Function (anonymous)],
      maxPool: [Function (anonymous)],
      max: [Function (anonymous)],
      maximum: [Function (anonymous)],
      mean: [Function (anonymous)],
      min: [Function (anonymous)],
      minimum: [Function (anonymous)],
      mirrorPad: [Function (anonymous)],
      mod: [Function (anonymous)],
      mul: [Function (anonymous)],
      neg: [Function (anonymous)],
      norm: [Function (anonymous)],
      notEqual: [Function (anonymous)],
      oneHot: [Function (anonymous)],
      onesLike: [Function (anonymous)],
      pad: [Function (anonymous)],
      pool: [Function (anonymous)],
      pow: [Function (anonymous)],
      prelu: [Function (anonymous)],
      prod: [Function (anonymous)],
      reciprocal: [Function (anonymous)],
      relu: [Function (anonymous)],
      relu6: [Function (anonymous)],
      reshapeAs: [Function (anonymous)],
      reshape: [Function (anonymous)],
      resizeBilinear: [Function (anonymous)],
      resizeNearestNeighbor: [Function (anonymous)],
      reverse: [Function (anonymous)],
      rfft: [Function (anonymous)],
      round: [Function (anonymous)],
      rsqrt: [Function (anonymous)],
      selu: [Function (anonymous)],
      separableConv2d: [Function (anonymous)],
      sigmoid: [Function (anonymous)],
      sign: [Function (anonymous)],
      sin: [Function (anonymous)],
      sinh: [Function (anonymous)],
      slice: [Function (anonymous)],
      softmax: [Function (anonymous)],
      softplus: [Function (anonymous)],
      spaceToBatchND: [Function (anonymous)],
      split: [Function (anonymous)],
      sqrt: [Function (anonymous)],
      square: [Function (anonymous)],
      squaredDifference: [Function (anonymous)],
      squeeze: [Function (anonymous)],
      stack: [Function (anonymous)],
      step: [Function (anonymous)],
      stridedSlice: [Function (anonymous)],
      sub: [Function (anonymous)],
      sum: [Function (anonymous)],
      tan: [Function (anonymous)],
      tanh: [Function (anonymous)],
      tile: [Function (anonymous)],
      toBool: [Function (anonymous)],
      toFloat: [Function (anonymous)],
      toInt: [Function (anonymous)],
      topk: [Function (anonymous)],
      transpose: [Function (anonymous)],
      unique: [Function (anonymous)],
      unsortedSegmentSum: [Function (anonymous)],
      unstack: [Function (anonymous)],
      where: [Function (anonymous)],
      zerosLike: [Function (anonymous)]
    }
    

    由于张量是如何工作的,如果我现在理解它们,尝试制作一个包含张量的张量是一个坏主意,它甚至可能不起作用(我必须对其进行测试)。因此,如果您的数据与我正在使用的数据类似,并且您需要在数据集中的较低级别拆分数据,那么使用基本的string.split()可能会更好。

    2年前 0条评论