从Eigen :: Tensor创建tensorflow :: Tensor

时间:2018-06-07 14:47:19

标签: c++ tensorflow eigen tensor

我应该如何从Eigen :: Tensor创建一个tensorflow :: Tensor?我可以一个一个地复制元素,但我希望有更好的方法。

1 个答案:

答案 0 :(得分:0)

没有公共API可以在不复制数据的情况下从Eigen :: Tensor创建tensorflow :: Tensor。但是,您可以使用以下api创建tensorflow :: Tensor并将其解释为Eigen :: TensorMap: tensorflow::Tensor tf_tensor(tensor_constructor_args); // For the general case: Eigen::TensorMap<type_params> eigen_tensor = tf_tensor.tensor<Type, NumDims>(); // shortcuts if you know the tensor is a matrix/vector/scalar Eigen::TensorMap<type_params> eigen_matrix = tf_tensor.matrix<Type>(); Eigen::TensorMap<type_params> eigen_vector = tf_tensor.vector<Type>(); Eigen::TensorMap<type_params> eigen_scalar = tf_tensor.scalar<Type>();

这样可以避免复制。此外,Eigen张量和张量图共享相同的api,因此您可以互换使用它们。