我应该如何从Eigen::Tensor创建一个tensorflow::Tensor?我可以一一复制这些元素,但我希望有更好的方法。
最佳答案
没有公共(public)api从Eigen::Tensor创建tensorflow::Tensor,而不复制数据。但是,您可以创建tensorflow::Tensor并使用以下API将其解释为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/scalarEigen::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>();
这样可以避免复制。此外,本征张量和张量图共享相同的api,因此您可以互换使用它们。