在Tensorflow的C ++ Op中,我有一个类型为float的Tensor,我想将其转换为Eigen::half
类型。我该怎么做呢?我看到Eigen有一些TensorConversionOp
概念用于矢量化铸造。
Tensor来自:const Tensor& input = context->input(0)
现在我使用const auto et = input.flat<float>()
更新: 这似乎有效,但这是正确的方法:
Tensor input16(DT_HALF, input.shape());
GetCpuCastFromFloat(DT_HALF)(context, input, &input16);
const Eigen::half* i_stack = input16.flat<Eigen::half>().data();