MediaPipe Çerçevesi'nin çalışan bir sürümüne sahip olduğunuzdan emin olun. Görüntüleyin yükleme talimatlarına bakın.
hello world
örneğini çalıştırmak için:$ 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
örneğinde,CalculatorGraphConfig
protokolünde tanımlananPrintHelloWorld()
işlevi.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" } )");
Bu grafiği görselleştirmek için MediaPipe Visualizer Görselleştiriciye aşağıdaki CalculatorGraphConfig içeriğini ekleyin. Görüntüleyin Görselleştiriciyle ilgili yardım için burayı tıklayın.
input_stream: "in" output_stream: "out" node { calculator: "PassThroughCalculator" input_stream: "in" output_stream: "out1" } node { calculator: "PassThroughCalculator" input_stream: "out1" output_stream: "out" }
Bu grafik, 1 grafik giriş akışından (
in
) ve 1 grafik çıkış akışından oluşur (out
) ve 2PassThroughCalculator
seri olarak bağlandı.Grafiği çalıştırmadan önce, grafik oluşturmak için bir
OutputStreamPoller
sonra grafik çıkışını almak üzere çıkış akışı ve ,StartRun
ile başladı.CalculatorGraph graph; MP_RETURN_IF_ERROR(graph.Initialize(config)); MP_ASSIGN_OR_RETURN(OutputStreamPoller poller, graph.AddOutputStreamPoller("out")); MP_RETURN_IF_ERROR(graph.StartRun({}));
Örnek, daha sonra 10 paket oluşturur (her paket, "Merhaba" Dünya!" 0, 1, ... 9 arasında değişen Zaman Damgası değerleri için)
MakePacket
işlevi, her paketiin
üzerinden grafiğe ekler ve son olarak da grafik çalışmasını tamamlamak için giriş akışını kapatır.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"));
Örnek,
OutputStreamPoller
nesnesi aracılığıyla 10 öğenin tümünü alır çıktı akışından paketler, dize içeriğini her paketten çıkarıyor ve çıkış günlüğüne yazdırır.mediapipe::Packet packet; while (poller.Next(&packet)) { LOG(INFO) << packet.Get<string>(); }
Aksi belirtilmediği sürece bu sayfanın içeriği Creative Commons Atıf 4.0 Lisansı altında ve kod örnekleri Apache 2.0 Lisansı altında lisanslanmıştır. Ayrıntılı bilgi için Google Developers Site Politikaları'na göz atın. Java, Oracle ve/veya satış ortaklarının tescilli ticari markasıdır.
Son güncelleme tarihi: 2024-09-05 UTC.