本文介绍了从 std::vector 创建 tensorflow::tensor 的最有效方法的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

所以我的问题是想知道是否有办法将值从 vector(但我们也可以考虑 array)直接传递给 张量流::张量?

So my question is to know if there is a way to pass directly the values from a vector (but we could also think about array) to a tensorflow::tensor?

我知道的唯一方法是一个一个复制每个值.

The only way I know is to copy each value one by one.

示例(二维矢量):

tensorflow::Tensor input(tensorflow::DT_FLOAT, tensorflow::TensorShape({50, 20}));
auto input_map = input.tensor<float, 2>();


for (int b = 0; b < 50; b++) {
  for (int c = 0; c < 20; c++) {
    input_map(b, c) = (vector_name)[b][c];
  }
}

有没有更方便的方法?

例如arrayvector:

int x[3] = {1, 2, 3};
std::vector<int> v(x, x + sizeof x / sizeof x[0]);

推荐答案

这个怎么样?std::copy_n(vec.begin(), vec.size(), input.flat().data())

这篇关于从 std::vector 创建 tensorflow::tensor 的最有效方法的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-16 06:59