diff --git a/python/src/main.cpp b/python/src/main.cpp index 84d874594..e05e19320 100644 --- a/python/src/main.cpp +++ b/python/src/main.cpp @@ -95,18 +95,17 @@ PYBIND11_MODULE(kp, m) { py::class_>(m, "Tensor", DOC(kp, Tensor)) .def("data", [](kp::Tensor& self) { // Non-owning container exposing the underlying pointer - py::str dummyDataOwner; // Explicitly request data to not be owned by np switch (self.dataType()) { case kp::Tensor::TensorDataTypes::eFloat: - return py::array(self.size(), self.data(), dummyDataOwner); + return py::array(self.size(), self.data(), py::cast(&self)); case kp::Tensor::TensorDataTypes::eUnsignedInt: - return py::array(self.size(), self.data(), dummyDataOwner); + return py::array(self.size(), self.data(), py::cast(&self)); case kp::Tensor::TensorDataTypes::eInt: - return py::array(self.size(), self.data(), dummyDataOwner); + return py::array(self.size(), self.data(), py::cast(&self)); case kp::Tensor::TensorDataTypes::eDouble: - return py::array(self.size(), self.data(), dummyDataOwner); + return py::array(self.size(), self.data(), py::cast(&self)); case kp::Tensor::TensorDataTypes::eBool: - return py::array(self.size(), self.data(), dummyDataOwner); + return py::array(self.size(), self.data(), py::cast(&self)); default: throw std::runtime_error("Kompute Python data type not supported"); }