Cài đặt

Cài đặt trên Debian và Ubuntu

  1. Cài đặt Bazelisk.

    Theo dõi Tài liệu về Bazel để cài đặt Bazelisk.

  2. Thanh toán kho lưu trữ MediaPipe.

    $ cd $HOME
    $ git clone --depth 1 https://github.com/google/mediapipe.git
    
    # Change directory into MediaPipe root directory
    $ cd mediapipe
    
  3. Cài đặt OpenCV và FFmpeg.

    Lựa chọn 1. Dùng công cụ trình quản lý gói để cài đặt OpenCV được biên dịch trước thư viện. FFmpeg sẽ được cài đặt qua libopencv-video-dev.

    Hệ điều hành OpenCV
    Debian 9 (căng) 2.4
    Debian 10 (tên vi phạm) 3.2
    Debian 11 (bulls Eye) 4,5
    Ubuntu 16.04 LTS 2.4
    Ubuntu 18.04 LTS 3.2
    Ubuntu 20.04 LTS 4,2
    Ubuntu 20.04 LTS 4,2
    Ubuntu 21.04 4,5
    $ sudo apt-get install -y \
        libopencv-core-dev \
        libopencv-highgui-dev \
        libopencv-calib3d-dev \
        libopencv-features2d-dev \
        libopencv-imgproc-dev \
        libopencv-video-dev
    

    Lưu ý. Trên Debian 11/Ubuntu 21.04 khi OpenCV 4.5 được cài đặt với Bạn cũng nên cài đặt libopencv-video-dev, libopencv-contrib-dev.

    $ sudo apt-get install -y libopencv-contrib-dev
    

    opencv_linux.BUILDWORKSPACE của MediaPipe đã được định cấu hình cho OpenCV 2/3 và sẽ hoạt động chính xác trên mọi kiến trúc:

    # WORKSPACE
    new_local_repository(
      name = "linux_opencv",
      build_file = "@//third_party:opencv_linux.BUILD",
      path = "/usr",
    )
    
    # opencv_linux.BUILD for OpenCV 2/3 installed from Debian package
    cc_library(
      name = "opencv",
      linkopts = [
        "-l:libopencv_core.so",
        "-l:libopencv_calib3d.so",
        "-l:libopencv_features2d.so",
        "-l:libopencv_highgui.so",
        "-l:libopencv_imgcodecs.so",
        "-l:libopencv_imgproc.so",
        "-l:libopencv_video.so",
        "-l:libopencv_videoio.so",
      ],
    )
    

    Đối với OpenCV 4, bạn cần sửa đổi opencv_linux.BUILD, có tính đến cấu trúc hiện tại:

    # WORKSPACE
    new_local_repository(
      name = "linux_opencv",
      build_file = "@//third_party:opencv_linux.BUILD",
      path = "/usr",
    )
    
    # opencv_linux.BUILD for OpenCV 4 installed from Debian package
    cc_library(
      name = "opencv",
      hdrs = glob([
        # Uncomment according to your multiarch value (gcc -print-multiarch):
        #  "include/aarch64-linux-gnu/opencv4/opencv2/cvconfig.h",
        #  "include/arm-linux-gnueabihf/opencv4/opencv2/cvconfig.h",
        #  "include/x86_64-linux-gnu/opencv4/opencv2/cvconfig.h",
        "include/opencv4/opencv2/**/*.h*",
      ]),
      includes = [
        # Uncomment according to your multiarch value (gcc -print-multiarch):
        #  "include/aarch64-linux-gnu/opencv4/",
        #  "include/arm-linux-gnueabihf/opencv4/",
        #  "include/x86_64-linux-gnu/opencv4/",
        "include/opencv4/",
      ],
      linkopts = [
        "-l:libopencv_core.so",
        "-l:libopencv_calib3d.so",
        "-l:libopencv_features2d.so",
        "-l:libopencv_highgui.so",
        "-l:libopencv_imgcodecs.so",
        "-l:libopencv_imgproc.so",
        "-l:libopencv_video.so",
        "-l:libopencv_videoio.so",
      ],
    )
    

    Lựa chọn 2. Chạy setup_opencv.sh để tự động tạo OpenCV từ nguồn và sửa đổi cấu hình OpenCV của MediaPipe. Lựa chọn này sẽ thực hiện tất cả các bước được xác định tự động trong Lựa chọn 3.

    Phương án 3. Theo dõi OpenCV tài liệu để tạo OpenCV từ mã nguồn theo cách thủ công.

    Bạn có thể cần phải sửa đổi WORKSPACEopencv_linux.BUILD để trỏ MediaPipe vào thư viện OpenCV của riêng bạn. Giả sử OpenCV sẽ được cài đặt để /usr/local/ được đề xuất theo mặc định.

    Thiết lập OpenCV 2/3:

    # WORKSPACE
    new_local_repository(
      name = "linux_opencv",
      build_file = "@//third_party:opencv_linux.BUILD",
      path = "/usr/local",
    )
    
    # opencv_linux.BUILD for OpenCV 2/3 installed to /usr/local
    cc_library(
      name = "opencv",
      linkopts = [
        "-L/usr/local/lib",
        "-l:libopencv_core.so",
        "-l:libopencv_calib3d.so",
        "-l:libopencv_features2d.so",
        "-l:libopencv_highgui.so",
        "-l:libopencv_imgcodecs.so",
        "-l:libopencv_imgproc.so",
        "-l:libopencv_video.so",
        "-l:libopencv_videoio.so",
      ],
    )
    

    Thiết lập OpenCV 4:

    # WORKSPACE
    new_local_repository(
      name = "linux_opencv",
      build_file = "@//third_party:opencv_linux.BUILD",
      path = "/usr/local",
    )
    
    # opencv_linux.BUILD for OpenCV 4 installed to /usr/local
    cc_library(
      name = "opencv",
      hdrs = glob([
        "include/opencv4/opencv2/**/*.h*",
      ]),
      includes = [
        "include/opencv4/",
      ],
      linkopts = [
        "-L/usr/local/lib",
        "-l:libopencv_core.so",
        "-l:libopencv_calib3d.so",
        "-l:libopencv_features2d.so",
        "-l:libopencv_highgui.so",
        "-l:libopencv_imgcodecs.so",
        "-l:libopencv_imgproc.so",
        "-l:libopencv_video.so",
        "-l:libopencv_videoio.so",
      ],
    )
    

    Chế độ thiết lập FFmpeg hiện tại được xác định trong ffmpeg_linux.BUILD và sẽ hoạt động cho mọi cấu trúc:

    # WORKSPACE
    new_local_repository(
      name = "linux_ffmpeg",
      build_file = "@//third_party:ffmpeg_linux.BUILD",
      path = "/usr"
    )
    
    # ffmpeg_linux.BUILD for FFmpeg installed from Debian package
    cc_library(
      name = "libffmpeg",
      linkopts = [
        "-l:libavcodec.so",
        "-l:libavformat.so",
        "-l:libavutil.so",
      ],
    )
    
  4. Để chạy các ví dụ dành cho máy tính chỉ trên Linux (không phải trên OS X) với GPU tăng tốc.

    # Requires a GPU with EGL driver support.
    # Can use mesa GPU libraries for desktop, (or Nvidia/AMD equivalent).
    sudo apt-get install mesa-common-dev libegl1-mesa-dev libgles2-mesa-dev
    
    # To compile with GPU support, replace
    --define MEDIAPIPE_DISABLE_GPU=1
    # with
    --copt -DMESA_EGL_NO_X11_HEADERS --copt -DEGL_NO_X11
    # when building GPU examples.
    
  5. Chạy ứng dụng Hello World! trong ví dụ về C++.

    $ export GLOG_logtostderr=1
    
    # if you are running on Linux desktop with CPU only
    $ bazel run --define MEDIAPIPE_DISABLE_GPU=1 \
        mediapipe/examples/desktop/hello_world:hello_world
    
    # If you are running on Linux desktop with GPU support enabled (via mesa drivers)
    $ bazel run --copt -DMESA_EGL_NO_X11_HEADERS --copt -DEGL_NO_X11 \
        mediapipe/examples/desktop/hello_world:hello_world
    
    # Should print:
    # Hello World!
    # Hello World!
    # Hello World!
    # Hello World!
    # Hello World!
    # Hello World!
    # Hello World!
    # Hello World!
    # Hello World!
    # Hello World!
    

Nếu bạn gặp lỗi bản dựng, vui lòng đọc Khắc phục sự cố để tìm giải pháp cho một số vấn đề thường gặp các vấn đề về bản dựng.

Cài đặt trên CentOS

Tuyên bố từ chối trách nhiệm: Việc chạy MediaPipe trên CentOS đang trong giai đoạn thử nghiệm.

  1. Cài đặt Bazelisk.

    Theo dõi Tài liệu về Bazel để cài đặt Bazelisk.

  2. Thanh toán kho lưu trữ MediaPipe.

    $ git clone --depth 1 https://github.com/google/mediapipe.git
    
    # Change directory into MediaPipe root directory
    $ cd mediapipe
    
  3. Cài đặt OpenCV.

    Tùy chọn 1. Sử dụng công cụ trình quản lý gói để cài đặt phiên bản được biên dịch trước.

    $ sudo yum install opencv-devel
    

    Tùy chọn 2. Tạo OpenCV từ mã nguồn.

    new_local_repository(
        name = "linux_opencv",
        build_file = "@//third_party:opencv_linux.BUILD",
        path = "/usr/local",
    )
    
    new_local_repository(
        name = "linux_ffmpeg",
        build_file = "@//third_party:ffmpeg_linux.BUILD",
        path = "/usr/local",
    )
    
    cc_library(
        name = "opencv",
        srcs = glob(
            [
                "lib/libopencv_core.so",
                "lib/libopencv_highgui.so",
                "lib/libopencv_imgcodecs.so",
                "lib/libopencv_imgproc.so",
                "lib/libopencv_video.so",
                "lib/libopencv_videoio.so",
            ],
        ),
        hdrs = glob([
            # For OpenCV 3.x
            "include/opencv2/**/*.h*",
            # For OpenCV 4.x
            # "include/opencv4/opencv2/**/*.h*",
        ]),
        includes = [
            # For OpenCV 3.x
            "include/",
            # For OpenCV 4.x
            # "include/opencv4/",
        ],
        linkstatic = 1,
        visibility = ["//visibility:public"],
    )
    
    cc_library(
        name = "libffmpeg",
        srcs = glob(
            [
                "lib/libav*.so",
            ],
        ),
        hdrs = glob(["include/libav*/*.h"]),
        includes = ["include"],
        linkopts = [
            "-lavcodec",
            "-lavformat",
            "-lavutil",
        ],
        linkstatic = 1,
        visibility = ["//visibility:public"],
    )
    
  4. Chạy ứng dụng Hello World! trong ví dụ về C++.

    $ export GLOG_logtostderr=1
    # Need bazel flag 'MEDIAPIPE_DISABLE_GPU=1' if you are running on Linux desktop with CPU only
    $ bazel run --define MEDIAPIPE_DISABLE_GPU=1 \
        mediapipe/examples/desktop/hello_world:hello_world
    
    # Should print:
    # Hello World!
    # Hello World!
    # Hello World!
    # Hello World!
    # Hello World!
    # Hello World!
    # Hello World!
    # Hello World!
    # Hello World!
    # Hello World!
    

Nếu bạn gặp lỗi bản dựng, vui lòng đọc Khắc phục sự cố để tìm giải pháp cho một số vấn đề thường gặp các vấn đề về bản dựng.

Đang cài đặt trên macOS

  1. Chuẩn bị trước:

    • Cài đặt Homebrew.
    • Cài đặt Xcode và dòng lệnh Công cụ của xcode-select --install.
  2. Cài đặt Bazelisk.

    Theo dõi Tài liệu về Bazel để cài đặt Bazelisk.

  3. Thanh toán kho lưu trữ MediaPipe.

    $ git clone --depth 1 https://github.com/google/mediapipe.git
    
    $ cd mediapipe
    
  4. Cài đặt OpenCV và FFmpeg.

    Tùy chọn 1. Sử dụng công cụ trình quản lý gói HomeBrew để cài đặt tệp được biên dịch trước Thư viện OpenCV 3. FFmpeg sẽ được cài đặt qua OpenCV.

    $ brew install opencv@3
    
    # There is a known issue caused by the glog dependency. Uninstall glog.
    $ brew uninstall --ignore-dependencies glog
    

    Tùy chọn 2. Sử dụng công cụ trình quản lý gói MacPorts để cài đặt các thư viện OpenCV.

    $ port install opencv
    
    new_local_repository(
        name = "macos_opencv",
        build_file = "@//third_party:opencv_macos.BUILD",
        path = "/opt",
    )
    
    new_local_repository(
        name = "macos_ffmpeg",
        build_file = "@//third_party:ffmpeg_macos.BUILD",
        path = "/opt",
    )
    
    cc_library(
        name = "opencv",
        srcs = glob(
            [
                "local/lib/libopencv_core.dylib",
                "local/lib/libopencv_highgui.dylib",
                "local/lib/libopencv_imgcodecs.dylib",
                "local/lib/libopencv_imgproc.dylib",
                "local/lib/libopencv_video.dylib",
                "local/lib/libopencv_videoio.dylib",
            ],
        ),
        hdrs = glob(["local/include/opencv2/**/*.h*"]),
        includes = ["local/include/"],
        linkstatic = 1,
        visibility = ["//visibility:public"],
    )
    
    cc_library(
        name = "libffmpeg",
        srcs = glob(
            [
                "local/lib/libav*.dylib",
            ],
        ),
        hdrs = glob(["local/include/libav*/*.h"]),
        includes = ["local/include/"],
        linkopts = [
            "-lavcodec",
            "-lavformat",
            "-lavutil",
        ],
        linkstatic = 1,
        visibility = ["//visibility:public"],
    )
    
  5. Đảm bảo rằng Python 3 và "six" Python thư viện đã được cài đặt.

    $ brew install python
    $ sudo ln -s -f /usr/local/bin/python3.7 /usr/local/bin/python
    $ python --version
    Python 3.7.4
    $ pip3 install --user six
    
  6. Chạy ứng dụng Hello World! trong ví dụ về C++.

    $ export GLOG_logtostderr=1
    # Need bazel flag 'MEDIAPIPE_DISABLE_GPU=1' as desktop GPU is currently not supported
    $ bazel run --define MEDIAPIPE_DISABLE_GPU=1 \
        mediapipe/examples/desktop/hello_world:hello_world
    
    # Should print:
    # Hello World!
    # Hello World!
    # Hello World!
    # Hello World!
    # Hello World!
    # Hello World!
    # Hello World!
    # Hello World!
    # Hello World!
    # Hello World!
    

Nếu bạn gặp lỗi bản dựng, vui lòng đọc Khắc phục sự cố để tìm giải pháp cho một số vấn đề thường gặp các vấn đề về bản dựng.

Đang cài đặt trên Windows

Tuyên bố từ chối trách nhiệm: Tính năng chạy MediaPipe trên Windows đang trong giai đoạn thử nghiệm.

  1. Cài đặt MSYS2 rồi chỉnh sửa môi trường %PATH% biến.

    Nếu MSYS2 được cài đặt vào C:\msys64, hãy thêm C:\msys64\usr\bin vào Biến môi trường %PATH%.

  2. Cài đặt các gói cần thiết.

    C:\> pacman -S git patch unzip
    
  3. Cài đặt Python và cho phép tệp thực thi chỉnh sửa môi trường %PATH% biến.

    Tải tệp thực thi Windows Python xuống từ https://www.python.org/downloads và cài đặt.

  4. Cài đặt Công cụ xây dựng Visual C++ 2019 và WinSDK

    Chuyển đến trang web VisualStudio tải công cụ bản dựng xuống và cài đặt Microsoft Visual C++ 2019 Recóutable và Microsoft Build Tools 2019.

    Tải xuống WinSDK từ trang web chính thức của MicroSoft và cài đặt.

  5. Cài đặt Bazel hoặc Bazelisk và thêm vị trí của tệp thực thi Bazel vào biến môi trường %PATH%.

    Tùy chọn 1. Theo dõi tài liệu chính thức của Bazel để cài đặt Bazel 6.1.1 trở lên.

    Tùy chọn 2. Theo dõi Tài liệu về Bazel để cài đặt Bazelisk.

  6. Đặt các biến Bazel. Tìm hiểu thêm chi tiết về "Bản dựng trên Windows" trong tài liệu chính thức của Bazel.

    # Please find the exact paths and version numbers from your local version.
    C:\> set BAZEL_VS=C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools
    C:\> set BAZEL_VC=C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC
    C:\> set BAZEL_VC_FULL_VERSION=<Your local VC version>
    C:\> set BAZEL_WINSDK_FULL_VERSION=<Your local WinSDK version>
    
  7. Thanh toán kho lưu trữ MediaPipe.

    C:\Users\Username\mediapipe_repo> git clone --depth 1 https://github.com/google/mediapipe.git
    
    # Change directory into MediaPipe root directory
    C:\Users\Username\mediapipe_repo> cd mediapipe
    
  8. Cài đặt OpenCV.

    Tải tệp thực thi Windows xuống từ https://opencv.org/releases/ và cài đặt. MediaPipe 0.10.x hỗ trợ OpenCV 3.4.10. Nhớ chỉnh sửa tệp WORKSPACE nếu OpenCV chưa được cài đặt tại C:\opencv.

    new_local_repository(
        name = "windows_opencv",
        build_file = "@//third_party:opencv_windows.BUILD",
        path = "C:\\<path to opencv>\\build",
    )
    
  9. Chạy ứng dụng Hello World! trong ví dụ về C++.

    C:\Users\Username\mediapipe_repo>bazel build -c opt --define MEDIAPIPE_DISABLE_GPU=1 --action_env PYTHON_BIN_PATH="C://python_36//python.exe" mediapipe/examples/desktop/hello_world
    
    C:\Users\Username\mediapipe_repo>set GLOG_logtostderr=1
    
    C:\Users\Username\mediapipe_repo>bazel-bin\mediapipe\examples\desktop\hello_world\hello_world.exe
    
    # should print:
    # I20200514 20:43:12.277598  1200 hello_world.cc:56] Hello World!
    # I20200514 20:43:12.278597  1200 hello_world.cc:56] Hello World!
    # I20200514 20:43:12.279618  1200 hello_world.cc:56] Hello World!
    # I20200514 20:43:12.279618  1200 hello_world.cc:56] Hello World!
    # I20200514 20:43:12.279618  1200 hello_world.cc:56] Hello World!
    # I20200514 20:43:12.279618  1200 hello_world.cc:56] Hello World!
    # I20200514 20:43:12.279618  1200 hello_world.cc:56] Hello World!
    # I20200514 20:43:12.279618  1200 hello_world.cc:56] Hello World!
    # I20200514 20:43:12.279618  1200 hello_world.cc:56] Hello World!
    # I20200514 20:43:12.280613  1200 hello_world.cc:56] Hello World!
    

Nếu bạn gặp lỗi bản dựng, vui lòng đọc Khắc phục sự cố để tìm giải pháp cho một số vấn đề thường gặp các vấn đề về bản dựng.

Cài đặt trên Hệ thống con Windows dành cho Linux (WSL)

  1. Làm theo hướng dẫn để cài đặt Hệ thống con Windows dành cho Linux (Ubuntu).

  2. Cài đặt Windows ADB và khởi động máy chủ ADB trong Windows.

  3. Chạy WSL.

  4. Cài đặt các gói cần thiết.

    username@DESKTOP-TMVLBJ1:~$ sudo apt-get update && sudo apt-get install -y build-essential git python zip adb openjdk-8-jdk
    
  5. Cài đặt Bazelisk.

    Theo dõi Tài liệu về Bazel để cài đặt Bazelisk.

  6. Thanh toán kho lưu trữ MediaPipe.

    username@DESKTOP-TMVLBJ1:~$ git clone --depth 1 https://github.com/google/mediapipe.git
    
    username@DESKTOP-TMVLBJ1:~$ cd mediapipe
    
  7. Cài đặt OpenCV và FFmpeg.

    Tùy chọn 1. Dùng công cụ trình quản lý gói để cài đặt OpenCV được biên dịch trước thư viện. FFmpeg sẽ được cài đặt qua libopencv-video-dev.

    username@DESKTOP-TMVLBJ1:~/mediapipe$ sudo apt-get install libopencv-core-dev libopencv-highgui-dev \
                           libopencv-calib3d-dev libopencv-features2d-dev \
                           libopencv-imgproc-dev libopencv-video-dev
    

    Tùy chọn 2. Chạy setup_opencv.sh để tự động tạo OpenCV từ nguồn và sửa đổi cấu hình OpenCV của MediaPipe.

    Lựa chọn 3. Theo dõi OpenCV tài liệu để tạo OpenCV từ mã nguồn theo cách thủ công.

    new_local_repository(
        name = "linux_opencv",
        build_file = "@//third_party:opencv_linux.BUILD",
        path = "/usr/local",
    )
    
    cc_library(
        name = "opencv",
        srcs = glob(
            [
                "lib/libopencv_core.so",
                "lib/libopencv_highgui.so",
                "lib/libopencv_imgcodecs.so",
                "lib/libopencv_imgproc.so",
                "lib/libopencv_video.so",
                "lib/libopencv_videoio.so",
            ],
        ),
        hdrs = glob(["include/opencv4/**/*.h*"]),
        includes = ["include/opencv4/"],
        linkstatic = 1,
        visibility = ["//visibility:public"],
    )
    
  8. Chạy ứng dụng Hello World! trong ví dụ về C++.

    username@DESKTOP-TMVLBJ1:~/mediapipe$ export GLOG_logtostderr=1
    
    # Need bazel flag 'MEDIAPIPE_DISABLE_GPU=1' as desktop GPU is currently not supported
    username@DESKTOP-TMVLBJ1:~/mediapipe$ bazel run --define MEDIAPIPE_DISABLE_GPU=1 \
        mediapipe/examples/desktop/hello_world:hello_world
    
    # Should print:
    # Hello World!
    # Hello World!
    # Hello World!
    # Hello World!
    # Hello World!
    # Hello World!
    # Hello World!
    # Hello World!
    # Hello World!
    # Hello World!
    

Nếu bạn gặp lỗi bản dựng, vui lòng đọc Khắc phục sự cố để tìm giải pháp cho một số vấn đề các vấn đề thường gặp liên quan đến bản dựng.

Cài đặt bằng Docker

Thao tác này sẽ sử dụng hình ảnh Docker giúp tách biệt quá trình cài đặt của mediapipe với phần còn lại của hệ thống.

  1. Cài đặt Docker trên hệ thống lưu trữ của bạn.

  2. Tạo hình ảnh docker với thẻ "mediapipe".

    $ git clone --depth 1 https://github.com/google/mediapipe.git
    $ cd mediapipe
    $ docker build --tag=mediapipe .
    
    # Should print:
    # Sending build context to Docker daemon  147.8MB
    # Step 1/9 : FROM ubuntu:latest
    # latest: Pulling from library/ubuntu
    # 6abc03819f3e: Pull complete
    # 05731e63f211: Pull complete
    # ........
    # See http://bazel.build/docs/getting-started.html to start a new project!
    # Removing intermediate container 82901b5e79fa
    # ---> f5d5f402071b
    # Step 9/9 : COPY . /edge/mediapipe/
    # ---> a95c212089c5
    # Successfully built a95c212089c5
    # Successfully tagged mediapipe:latest
    
  3. Chạy ứng dụng Hello World! trong ví dụ về C++.

    $ docker run -it --name mediapipe mediapipe:latest
    
    root@bca08b91ff63:/mediapipe# GLOG_logtostderr=1 bazel run --define MEDIAPIPE_DISABLE_GPU=1 mediapipe/examples/desktop/hello_world
    
    # Should print:
    # Hello World!
    # Hello World!
    # Hello World!
    # Hello World!
    # Hello World!
    # Hello World!
    # Hello World!
    # Hello World!
    # Hello World!
    # Hello World!
    

Nếu bạn gặp lỗi bản dựng, vui lòng đọc Khắc phục sự cố để tìm giải pháp cho một số vấn đề các vấn đề thường gặp liên quan đến bản dựng.

  1. Xây dựng một ví dụ về MediaPipe về Android.

    $ docker run -it --name mediapipe mediapipe:latest
    
    root@bca08b91ff63:/mediapipe# bash ./setup_android_sdk_and_ndk.sh
    
    # Should print:
    # Android NDK is now installed. Consider setting $ANDROID_NDK_HOME environment variable to be /root/Android/Sdk/ndk-bundle/android-ndk-r19c
    # Set android_ndk_repository and android_sdk_repository in WORKSPACE
    # Done
    
    root@bca08b91ff63:/mediapipe# bazel build -c opt --config=android_arm64 mediapipe/examples/android/src/java/com/google/mediapipe/apps/objectdetectiongpu:objectdetectiongpu
    
    # Should print:
    # Target //mediapipe/examples/android/src/java/com/google/mediapipe/apps/objectdetectiongpu:objectdetectiongpu up-to-date:
    # bazel-bin/mediapipe/examples/android/src/java/com/google/mediapipe/apps/objectdetectiongpu/objectdetectiongpu_deploy.jar
    # bazel-bin/mediapipe/examples/android/src/java/com/google/mediapipe/apps/objectdetectiongpu/objectdetectiongpu_unsigned.apk
    # bazel-bin/mediapipe/examples/android/src/java/com/google/mediapipe/apps/objectdetectiongpu/objectdetectiongpu.apk
    # INFO: Elapsed time: 144.462s, Critical Path: 79.47s
    # INFO: 1958 processes: 1 local, 1863 processwrapper-sandbox, 94 worker.
    # INFO: Build completed successfully, 2028 total actions