নিশ্চিত করুন যে আপনার কাছে MediaPipe ফ্রেমওয়ার্কের একটি কার্যকরী সংস্করণ আছে। ইনস্টলেশন নির্দেশাবলী দেখুন.
hello world
উদাহরণ চালানোর জন্য:$ git clone https://github.com/google/mediapipe.git
$ cd mediapipe
$ export GLOG_logtostderr=1
# Need bazel flag 'MEDIAPIPE_DISABLE_GPU=1' as desktop GPU is not supported currently.
$ bazel run --define MEDIAPIPE_DISABLE_GPU=1 \
mediapipe/examples/desktop/hello_world:hello_world
# It should print 10 rows of Hello World!
# Hello World!
# Hello World!
# Hello World!
# Hello World!
# Hello World!
# Hello World!
# Hello World!
# Hello World!
# Hello World!
# Hello World!hello world
উদাহরণটি একটিCalculatorGraphConfig
প্রোটোতে সংজ্ঞায়িতPrintHelloWorld()
ফাংশনে একটি সাধারণ মিডিয়াপাইপ গ্রাফ ব্যবহার করে।absl::Status PrintHelloWorld() {
// Configures a simple graph, which concatenates 2 PassThroughCalculators.
CalculatorGraphConfig config = ParseTextProtoOrDie<CalculatorGraphConfig>(R"(
input_stream: "in"
output_stream: "out"
node {
calculator: "PassThroughCalculator"
input_stream: "in"
output_stream: "out1"
}
node {
calculator: "PassThroughCalculator"
input_stream: "out1"
output_stream: "out"
}
)");আপনি মিডিয়াপাইপ ভিজ্যুয়ালাইজার ব্যবহার করে নীচের ক্যালকুলেটরগ্রাফ কনফিগ বিষয়বস্তুটি ভিজ্যুয়ালাইজারের মধ্যে পেস্ট করে এই গ্রাফটি কল্পনা করতে পারেন। ভিজ্যুয়ালাইজারের সাহায্যের জন্য এখানে দেখুন।
input_stream: "in"
output_stream: "out"
node {
calculator: "PassThroughCalculator"
input_stream: "in"
output_stream: "out1"
}
node {
calculator: "PassThroughCalculator"
input_stream: "out1"
output_stream: "out"
}এই গ্রাফটিতে 1টি গ্রাফ ইনপুট স্ট্রীম (
in
) এবং 1টি গ্রাফ আউটপুট স্ট্রীম (out
), এবং 2টিPassThroughCalculator
সিরিয়ালি সংযুক্ত রয়েছে৷গ্রাফটি চালানোর আগে, একটি
OutputStreamPoller
অবজেক্ট আউটপুট স্ট্রীমের সাথে সংযুক্ত থাকে যাতে পরবর্তীতে গ্রাফ আউটপুট পুনরুদ্ধার করা যায় এবংStartRun
দিয়ে একটি গ্রাফ রান শুরু হয়।CalculatorGraph graph;
MP_RETURN_IF_ERROR(graph.Initialize(config));
MP_ASSIGN_OR_RETURN(OutputStreamPoller poller,
graph.AddOutputStreamPoller("out"));
MP_RETURN_IF_ERROR(graph.StartRun({}));উদাহরণটি তারপরে
MakePacket
ফাংশন ব্যবহার করে 10টি প্যাকেট তৈরি করে (প্রতিটি প্যাকেটে একটি স্ট্রিং "হ্যালো ওয়ার্ল্ড!" রয়েছে যার টাইমস্ট্যাম্প মান 0, 1, ... 9 থেকে থাকে)in
স্ট্রিমের মাধ্যমে প্রতিটি প্যাকেটকে গ্রাফে যুক্ত করে এবং অবশেষে গ্রাফ রান শেষ করতে ইনপুট স্ট্রীম বন্ধ করে।for (int i = 0; i < 10; ++i) {
MP_RETURN_IF_ERROR(graph.AddPacketToInputStream("in",
MakePacket<std::string>("Hello World!").At(Timestamp(i))));
}
MP_RETURN_IF_ERROR(graph.CloseInputStream("in"));OutputStreamPoller
অবজেক্টের মাধ্যমে উদাহরণটি তারপর আউটপুট স্ট্রীম থেকে সমস্ত 10 প্যাকেট পুনরুদ্ধার করে, প্রতিটি প্যাকেট থেকে স্ট্রিং বিষয়বস্তু বের করে এবং আউটপুট লগে প্রিন্ট করে।mediapipe::Packet packet;
while (poller.Next(&packet)) {
LOG(INFO) << packet.Get<string>();
}
অন্য কিছু উল্লেখ না করা থাকলে, এই পৃষ্ঠার কন্টেন্ট Creative Commons Attribution 4.0 License-এর অধীনে এবং কোডের নমুনাগুলি Apache 2.0 License-এর অধীনে লাইসেন্স প্রাপ্ত। আরও জানতে, Google Developers সাইট নীতি দেখুন। Java হল Oracle এবং/অথবা তার অ্যাফিলিয়েট সংস্থার রেজিস্টার্ড ট্রেডমার্ক।
2025-01-10 UTC-তে শেষবার আপডেট করা হয়েছে।