从 Eigen::Tensor 创建 tensorflow::Tensor
Creating tensorflow::Tensor from Eigen::Tensor
我应该如何从 Eigen::Tensor 创建一个 tensorflow::Tensor?我可以一个一个地复制元素,但我希望有更好的方法。
没有 public 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>();
这样可以避免复制。此外,本征张量和张量图共享相同的 api,因此您可以互换使用它们。
我应该如何从 Eigen::Tensor 创建一个 tensorflow::Tensor?我可以一个一个地复制元素,但我希望有更好的方法。
没有 public 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>();
这样可以避免复制。此外,本征张量和张量图共享相同的 api,因此您可以互换使用它们。