要使用 std::vector 创建二维数组,您可以
vector<vector<int>> array2d = {{1, 2, 3, 4},
{5, 6, 7, 8},
{9, 10, 11, 12}};
Run Code Online (Sandbox Code Playgroud)
外层 {} 代表外层向量;内部 {},内部向量。
但是,要使用 std::array 创建二维数组,您需要执行以下操作
array<array<int,4>, 3> array2d = {{{1, 2, 3, 4},
{5, 6, 7, 8},
{9, 10, 11, 12}}};
Run Code Online (Sandbox Code Playgroud)
为什么 std::array 的 std::array 需要一对额外的封闭 {}?
我正在使用其 C++ API 运行 Tensorflow。
我有以下调用在 finalOutput 中返回四个张量:
std::string str1 = "detection_boxes";
std::string str2 = "detection_scores";
std::string str3 = "detection_classes";
std::string str4 = "num_detections";
std::vector<Tensor> finalOutput;
status = session->Run({ {InputName, inputTensor} }, { str1, str2, str3, str4 }, {}, &finalOutput);
std::cout << finalOutput[0].DebugString() << std::endl;
Run Code Online (Sandbox Code Playgroud)
打印语句输出以下内容:
“张量<类型:浮点形状:[1,100,4]值:[[0.00710274419 0.766219556 0.0347728245]]...>”
现在我有一个包含 100 个元素的张量,每个元素有 4 个值,我如何遍历元素和值?
似乎我必须调用一个函数来返回 Eigen::TensorMap 然后以某种方式访问元素。我只是不太确定该怎么做。
非常感谢您的帮助!
我在跑步:
java -version java version"1.8.0_121"Java(TM)SE运行时环境(版本1.8.0_121-b13)Java HotSpot(TM)64位服务器VM(版本25.121-b13,混合模式)
sbt 0.13.13.
在Windows 10上.
当我按照教程执行println("hello")时,我收到错误:
[错误]没有有效的解析器.
你们有没有想过为什么会这样,如何解决?
非常感谢你提前!