我正在创建一个像这样的张量:
tensorflow::Tensor a(tensorflow::DT_FLOAT, tensorflow::TensorShape());
Run Code Online (Sandbox Code Playgroud)
我知道如何填写标量值:
a.scalar<float>()() = 8.0;
Run Code Online (Sandbox Code Playgroud)
但我不知道如何填补像[1,4,2]那样的张量.
kev*_*man 17
有几个选择.如果张量实际上是一个小向量,就像你的情况一样,你可以做到以下几点:
tensorflow::Tensor a(tensorflow::DT_FLOAT, tensorflow::TensorShape(3));
a.vec<float>()(0) = 1.0f;
a.vec<float>()(1) = 4.0f;
a.vec<float>()(2) = 2.0f;
Run Code Online (Sandbox Code Playgroud)
如果你想构造一个稍微大一点和/或多维的张量,那么tensorflow::ops::Input::Initializer
声明in tensorflow/cc/framework/ops.h
有许多构造函数,它允许你构造一个Tensor
来自各种C++常量,如简单的原始常量和表示多维数组的嵌套初始化列表.
例如,如果要构建2x2
矩阵,可以执行以下操作:
#include "tensorflow/cc/framework/cc/ops.h"
tensorflow::ops::Input::Initializer a({{1, 2}, {3, 4}});
// a.tensor will be a Tensor with type DT_INT32 and shape {2, 2}.
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
7402 次 |
最近记录: |