↰ Return to documentation for file (morpheus/_lib/src/python_modules/stages.cpp
)
#include "morpheus/stages/add_classification.hpp"
#include "morpheus/stages/add_scores.hpp"
#include "morpheus/stages/deserialize.hpp"
#include "morpheus/stages/file_source.hpp"
#include "morpheus/stages/filter_detection.hpp"
#include "morpheus/stages/kafka_source.hpp"
#include "morpheus/stages/preprocess_fil.hpp"
#include "morpheus/stages/preprocess_nlp.hpp"
#include "morpheus/stages/serialize.hpp"
#include "morpheus/stages/triton_inference.hpp"
#include "morpheus/stages/write_to_file.hpp"
#include "morpheus/utilities/cudf_util.hpp"
#include <mrc/segment/object.hpp>
#include <pybind11/attr.h>// for multiple_inheritance
#include <pybind11/pybind11.h>// for arg, init, class_, module_, str_attr_accessor, PYBIND11_MODULE, pybind11
#include <pybind11/pytypes.h>// for dict, sequence
#include <pymrc/utils.hpp>// for pymrc::import
#include <memory>
namespace morpheus {
namespace py = pybind11;
// Define the pybind11 module m, as 'pipeline'.
PYBIND11_MODULE(stages, m)
{
m.doc() = R"pbdoc(
-----------------------
.. currentmodule:: morpheus.stages
.. autosummary::
:toctree: _generate
)pbdoc";
// Load the cudf helpers
load_cudf_helpers();
mrc::pymrc::from_import(m, "morpheus._lib.common", "FilterSource");
py::class_<mrc::segment::Object<AddClassificationsStage>,
mrc::segment::ObjectProperties,
std::shared_ptr<mrc::segment::Object<AddClassificationsStage>>>(
m, "AddClassificationsStage", py::multiple_inheritance())
.def(py::init<>(&AddClassificationStageInterfaceProxy::init),
py::arg("builder"),
py::arg("name"),
py::arg("threshold"),
py::arg("num_class_labels"),
py::arg("idx2label"));
py::class_<mrc::segment::Object<AddScoresStage>,
mrc::segment::ObjectProperties,
std::shared_ptr<mrc::segment::Object<AddScoresStage>>>(m, "AddScoresStage", py::multiple_inheritance())
.def(py::init<>(&AddScoresStageInterfaceProxy::init),
py::arg("builder"),
py::arg("name"),
py::arg("num_class_labels"),
py::arg("idx2label"));
py::class_<mrc::segment::Object<DeserializeStage>,
mrc::segment::ObjectProperties,
std::shared_ptr<mrc::segment::Object<DeserializeStage>>>(
m, "DeserializeStage", py::multiple_inheritance())
.def(py::init<>(&DeserializeStageInterfaceProxy::init),
py::arg("builder"),
py::arg("name"),
py::arg("batch_size"));
py::class_<mrc::segment::Object<FileSourceStage>,
mrc::segment::ObjectProperties,
std::shared_ptr<mrc::segment::Object<FileSourceStage>>>(m, "FileSourceStage", py::multiple_inheritance())
.def(py::init<>(&FileSourceStageInterfaceProxy::init),
py::arg("builder"),
py::arg("name"),
py::arg("filename"),
py::arg("repeat"));
py::class_<mrc::segment::Object<FilterDetectionsStage>,
mrc::segment::ObjectProperties,
std::shared_ptr<mrc::segment::Object<FilterDetectionsStage>>>(
m, "FilterDetectionsStage", py::multiple_inheritance())
.def(py::init<>(&FilterDetectionStageInterfaceProxy::init),
py::arg("builder"),
py::arg("name"),
py::arg("threshold"),
py::arg("copy"),
py::arg("filter_source"),
py::arg("field_name") = "probs");
py::class_<mrc::segment::Object<InferenceClientStage>,
mrc::segment::ObjectProperties,
std::shared_ptr<mrc::segment::Object<InferenceClientStage>>>(
m, "InferenceClientStage", py::multiple_inheritance())
.def(py::init<>(&InferenceClientStageInterfaceProxy::init),
py::arg("builder"),
py::arg("name"),
py::arg("model_name"),
py::arg("server_url"),
py::arg("force_convert_inputs"),
py::arg("use_shared_memory"),
py::arg("needs_logits"),
py::arg("inout_mapping") = py::dict());
py::class_<mrc::segment::Object<KafkaSourceStage>,
mrc::segment::ObjectProperties,
std::shared_ptr<mrc::segment::Object<KafkaSourceStage>>>(
m, "KafkaSourceStage", py::multiple_inheritance())
.def(py::init<>(&KafkaSourceStageInterfaceProxy::init),
py::arg("builder"),
py::arg("name"),
py::arg("max_batch_size"),
py::arg("topic"),
py::arg("batch_timeout_ms"),
py::arg("config"),
py::arg("disable_commits") = false,
py::arg("disable_pre_filtering") = false,
py::arg("stop_after") = 0,
py::arg("async_commits") = true);
py::class_<mrc::segment::Object<PreprocessFILStage>,
mrc::segment::ObjectProperties,
std::shared_ptr<mrc::segment::Object<PreprocessFILStage>>>(
m, "PreprocessFILStage", py::multiple_inheritance())
.def(py::init<>(&PreprocessFILStageInterfaceProxy::init),
py::arg("builder"),
py::arg("name"),
py::arg("features"));
py::class_<mrc::segment::Object<PreprocessNLPStage>,
mrc::segment::ObjectProperties,
std::shared_ptr<mrc::segment::Object<PreprocessNLPStage>>>(
m, "PreprocessNLPStage", py::multiple_inheritance())
.def(py::init<>(&PreprocessNLPStageInterfaceProxy::init),
py::arg("builder"),
py::arg("name"),
py::arg("vocab_hash_file"),
py::arg("sequence_length"),
py::arg("truncation"),
py::arg("do_lower_case"),
py::arg("add_special_token"),
py::arg("stride"),
py::arg("column"));
py::class_<mrc::segment::Object<SerializeStage>,
mrc::segment::ObjectProperties,
std::shared_ptr<mrc::segment::Object<SerializeStage>>>(m, "SerializeStage", py::multiple_inheritance())
.def(py::init<>(&SerializeStageInterfaceProxy::init),
py::arg("builder"),
py::arg("name"),
py::arg("include"),
py::arg("exclude"),
py::arg("fixed_columns") = true);
py::class_<mrc::segment::Object<WriteToFileStage>,
mrc::segment::ObjectProperties,
std::shared_ptr<mrc::segment::Object<WriteToFileStage>>>(
m, "WriteToFileStage", py::multiple_inheritance())
.def(py::init<>(&WriteToFileStageInterfaceProxy::init),
py::arg("builder"),
py::arg("name"),
py::arg("filename"),
py::arg("mode") = "w",
py::arg("file_type") = 0, // Setting this to FileTypes::AUTO throws a conversion error at runtime
py::arg("include_index_col") = true);
#ifdef VERSION_INFO
m.attr("__version__") = MACRO_STRINGIFY(VERSION_INFO);
#else
m.attr("__version__") = "dev";
#endif
}
} // namespace morpheus