Add an argument to packet_creator.create_matrix to allow the input matrix to be transposed first.
PiperOrigin-RevId: 486258078
This commit is contained in:
parent
c10ebe8476
commit
35f635d8ff
|
@ -602,8 +602,11 @@ void PublicPacketCreators(pybind11::module* m) {
|
||||||
// TODO: Should take "const Eigen::Ref<const Eigen::MatrixXf>&"
|
// TODO: Should take "const Eigen::Ref<const Eigen::MatrixXf>&"
|
||||||
// as the input argument. Investigate why bazel non-optimized mode
|
// as the input argument. Investigate why bazel non-optimized mode
|
||||||
// triggers a memory allocation bug in Eigen::internal::aligned_free().
|
// triggers a memory allocation bug in Eigen::internal::aligned_free().
|
||||||
[](const Eigen::MatrixXf& matrix) {
|
[](const Eigen::MatrixXf& matrix, bool transpose) {
|
||||||
// MakePacket copies the data.
|
// MakePacket copies the data.
|
||||||
|
if (transpose) {
|
||||||
|
return MakePacket<Matrix>(matrix.transpose());
|
||||||
|
}
|
||||||
return MakePacket<Matrix>(matrix);
|
return MakePacket<Matrix>(matrix);
|
||||||
},
|
},
|
||||||
R"doc(Create a MediaPipe Matrix Packet from a 2d numpy float ndarray.
|
R"doc(Create a MediaPipe Matrix Packet from a 2d numpy float ndarray.
|
||||||
|
@ -613,6 +616,8 @@ void PublicPacketCreators(pybind11::module* m) {
|
||||||
|
|
||||||
Args:
|
Args:
|
||||||
matrix: A 2d numpy float ndarray.
|
matrix: A 2d numpy float ndarray.
|
||||||
|
transpose: A boolean to indicate if the input matrix needs to be transposed.
|
||||||
|
Default to False.
|
||||||
|
|
||||||
Returns:
|
Returns:
|
||||||
A MediaPipe Matrix Packet.
|
A MediaPipe Matrix Packet.
|
||||||
|
@ -625,6 +630,7 @@ void PublicPacketCreators(pybind11::module* m) {
|
||||||
np.array([[.1, .2, .3], [.4, .5, .6]])
|
np.array([[.1, .2, .3], [.4, .5, .6]])
|
||||||
matrix = mp.packet_getter.get_matrix(packet)
|
matrix = mp.packet_getter.get_matrix(packet)
|
||||||
)doc",
|
)doc",
|
||||||
|
py::arg("matrix"), py::arg("transpose") = false,
|
||||||
py::return_value_policy::move);
|
py::return_value_policy::move);
|
||||||
} // NOLINT(readability/fn_size)
|
} // NOLINT(readability/fn_size)
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user