নিশ্চিত করুন যে আপনার কাছে 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 এবং/অথবা তার অ্যাফিলিয়েট সংস্থার রেজিস্টার্ড ট্রেডমার্ক।
2024-11-12 UTC-তে শেষবার আপডেট করা হয়েছে।