Hướng dẫn thiết lập dành cho iOS

Trang này cho bạn biết cách thiết lập môi trường phát triển để sử dụng MediaPipe Tasks trong các ứng dụng iOS.

Thiết bị và nền tảng được hỗ trợ

Để tạo ứng dụng iOS bằng MediaPipe Tasks, môi trường phát triển của bạn cần có:

  • macOS Mojave 10.14.3 trở lên.

  • Xcode 10.3 trở lên.

  • Thiết bị iOS chạy iOS 12.0 trở lên. Ngoài ra, trình mô phỏng iOS có thể xử lý các ứng dụng không cần đến máy ảnh của thiết bị.

Thiết lập môi trường dành cho nhà phát triển

Trước khi chạy một tác vụ MediaPipe trên ứng dụng iOS, bạn phải có sẵn dự án Xcode hoặc tạo dự án mới trên máy cục bộ.

Bạn chỉ có thể cài đặt MediaPipe Tasks bằng CocoaPods. Bạn phải cài đặt CocoaPods 1.12.1 trở lên trước khi bắt đầu. Để biết hướng dẫn cài đặt CocoaPods trên macOS, hãy tham khảo hướng dẫn cài đặt CocoaPods.

Ví dụ về cách thiết lập mã

Kho lưu trữ Ví dụ MediaPipe chứa các ứng dụng iOS mẫu dành cho các tác vụ MediaPipe.

Bạn có thể tạo một dự án từ mã ví dụ, tạo dự án và chạy tác vụ. Các bước sau đây sẽ tạo tác vụ Trình phân loại văn bản.

Cách nhập và tạo dự án mã mẫu:

  1. Mở thiết bị đầu cuối, sao chép kho lưu trữ MediaPipe Example rồi chuyển đến thư mục chứa TextClassifier.xcodeprojPodfile.

    git clone https://github.com/google-ai-edge/mediapipe-samples
    cd mediapipe/examples/text_classification/ios
    
  2. Cài đặt tác vụ MediaPipe bằng CocoaPods:

    pod install
    

    Lệnh này tạo một tệp TextClassifier.xcworkspace trong thư mục dự án mẫu.

  3. Nhấp đúp vào tệp TextClassifier.xcworkspace để mở dự án bằng Xcode. Nếu tệp TextClassifier.xcodeproj đã mở, hãy đóng tệp đó trước khi mở tệp TextClassifier.xcworkspace.

  4. Chọn lược đồ TextClassifier rồi chọn một thiết bị iOS hoặc trình mô phỏng thực tế trên thanh công cụ của cửa sổ dự án. Khi dùng thiết bị iOS thực, hãy đảm bảo rằng thiết bị đó được kết nối với máy Mac.

  5. Nhấp vào nút Run trên thanh công cụ của dự án.

Để biết thêm hướng dẫn về cách chạy ứng dụng trên Xcode, hãy tham khảo bài viết Tạo và chạy ứng dụng.

Các phần phụ thuộc MediaPipe Tasks

MediaPipe Tasks cung cấp 2 thư viện tạo sẵn dành cho thị giác và văn bản. Tệp mô hình .tflite phải nằm trong gói của ứng dụng iOS sử dụng mô hình. Tuỳ thuộc vào MediaPipe Tas, hãy thêm thư viện tầm nhìn hoặc văn bản vào danh sách các nhóm trong Podfile của CocoaPods. Để biết hướng dẫn về cách tạo Podfile với các nhóm bắt buộc cho ứng dụng của bạn, hãy tham khảo bài viết Sử dụng CocoaPods.

Nhiệm vụ dựa trên AI tạo sinh

Thư viện MediaPipe Tasks (AI tạo sinh) chứa các nhiệm vụ xử lý việc tạo hình ảnh hoặc văn bản. Để cài đặt thư viện AI tạo sinh của MediaPipe Tasks, hãy thêm các nhóm MediaPipeTasksGenAIMediaPipeTasksGenAIC vào mục tiêu của ứng dụng trong Podfile.

API suy luận LLM

Tác vụ Dự đoán LLM của MediaPipe nằm trong nhóm MediaPipeTasksGenAIMediaPipeTasksGenAIC.

target 'MyLlmInferenceApp' do
  use_frameworks!
  pod 'MediaPipeTasksGenAI'
  pod 'MediaPipeTasksGenAIC'
end

Nhiệm vụ liên quan đến thị giác

Thư viện thị giác của MediaPipe Tasks chứa các nhiệm vụ xử lý dữ liệu đầu vào là hình ảnh hoặc video. Để cài đặt thư viện thị giác MediaPipe Tasks, hãy thêm nhóm MediaPipeTasksVision vào mục tiêu của ứng dụng trong Podfile.

target 'MyAppWithMediaPipeTasksVision' do
  use_frameworks!
  pod 'MediaPipeTasksVision'
end

Việc cần làm liên quan đến văn bản

Thư viện văn bản MediaPipe Tasks chứa các nhiệm vụ xử lý dữ liệu ngôn ngữ ở định dạng văn bản. Để cài đặt thư viện văn bản MediaPipe Tasks, hãy thêm nhóm MediaPipeTasksText vào mục tiêu của ứng dụng trong Podfile

target 'MyAppWithMediaPipeTasksText' do
  use_frameworks!
  pod 'MediaPipeTasksText'
end

Định cấu hình mục tiêu kiểm thử

Nếu ứng dụng của bạn có mục tiêu kiểm thử, hãy đảm bảo rằng Podfile của bạn tuân thủ một trong những cách triển khai sau đây để tránh mọi hành vi không mong muốn khi sử dụng thư viện tác vụ MediaPipe.

Cách triển khai đơn giản nhất là đảm bảo mục tiêu kiểm thử không được lồng trong mục tiêu ứng dụng chính có thêm nhóm tác vụ MediaPipe.

target 'MyAppWithMediaPipeTasks' do
  pod 'MediaPipeTasksVision'
end

target 'MyAppWithMediaPipeTasksTests' do

end

Nếu mục tiêu kiểm thử phải được lồng trong mục tiêu chính của ứng dụng, thì Podfile phải tuân theo phương thức triển khai sau:

target 'MyAppWithMediaPipeTasks' do
  pod 'MediaPipeTasksVision'

    target 'MyAppWithMediaPipeTasksTests' do
      inherit! :none

    end
end

Cấu hình BaseOptions

BaseOptions cho phép cấu hình chung của MediaPipe Task API.

Tên tùy chọn Nội dung mô tả Giá trị được chấp nhận
modelAssetPath Đường dẫn mô hình đến một tệp mô hình trong gói ứng dụng iOS. Đường dẫn ở dạng chuỗi.

Tăng tốc phần cứng

Trên iOS, MediaPipe Tasks chỉ hỗ trợ các mẫu chạy trên bộ xử lý CPU tiêu chuẩn.

Khắc phục sự cố

Để được trợ giúp về các câu hỏi kỹ thuật liên quan đến MediaPipe, hãy truy cập vào nhóm thảo luận hoặc StackOverflow để được cộng đồng hỗ trợ. Để báo cáo lỗi hoặc đưa ra yêu cầu về tính năng, hãy gửi vấn đề trên GitHub.

Để được trợ giúp thiết lập môi trường phát triển iOS, hãy truy cập Tài liệu dành cho nhà phát triển của Apple.