คู่มือการตั้งค่าสําหรับ iOS

หน้านี้แสดงวิธีตั้งค่าสภาพแวดล้อมการพัฒนาเพื่อใช้ MediaPipe Tasks ในแอปพลิเคชัน iOS

อุปกรณ์และแพลตฟอร์มที่รองรับ

หากต้องการสร้างแอปพลิเคชัน iOS ด้วย MediaPipe Tasks สภาพแวดล้อมในการพัฒนาซอฟต์แวร์ของคุณจำเป็นต้องมีสิ่งต่อไปนี้

  • macOS Mojave 10.14.3 ขึ้นไป

  • Xcode 10.3 ขึ้นไป

  • อุปกรณ์ iOS ที่ใช้ iOS 12.0 ขึ้นไป หรือเครื่องมือจำลอง iOS สามารถจัดการ แอปพลิเคชันที่ไม่ใช้กล้องของอุปกรณ์

การตั้งค่าสภาพแวดล้อมของนักพัฒนาซอฟต์แวร์

ก่อนที่จะเรียกใช้งาน MediaPipe ในแอปพลิเคชัน iOS คุณต้องมีโปรเจ็กต์ Xcode อยู่แล้วหรือสร้างโปรเจ็กต์ใหม่บนเครื่องภายใน

คุณสามารถติดตั้งงาน MediaPipe Tasks ได้โดยใช้ CocoaPods เท่านั้น คุณต้องติดตั้ง CocoaPods 1.12.1 หรือสูงกว่าก่อนเริ่มต้นใช้งาน สำหรับคำแนะนำในการติดตั้ง CocoaPods ใน macOS โปรดอ่านคู่มือการติดตั้ง CocoaPods

ตัวอย่างการตั้งค่าโค้ด

ที่เก็บ MediaPipe Example มีตัวอย่างแอปพลิเคชัน iOS สำหรับงาน MediaPipe

คุณสร้างโปรเจ็กต์จากโค้ดตัวอย่าง สร้างโปรเจ็กต์ และเรียกใช้งานได้ ขั้นตอนต่อไปนี้จะเป็นการสร้างงานตัวแยกประเภทข้อความ

วิธีนำเข้าและสร้างโปรเจ็กต์โค้ดตัวอย่าง

  1. เปิดเทอร์มินัล โคลนที่เก็บ MediaPipeExample แล้วไปยังไดเรกทอรีที่มี TextClassifier.xcodeproj และ Podfile

    git clone https://github.com/google-ai-edge/mediapipe-samples
    cd mediapipe/examples/text_classification/ios
    
  2. ติดตั้งงาน MediaPipe โดยใช้ CocoaPods โดยทำดังนี้

    pod install
    

    คำสั่งนี้จะสร้างไฟล์ TextClassifier.xcworkspace ในไดเรกทอรีโปรเจ็กต์ตัวอย่าง

  3. ดับเบิลคลิกไฟล์ TextClassifier.xcworkspace เพื่อเปิดโปรเจ็กต์ใน Xcode หากไฟล์ TextClassifier.xcodeproj เปิดอยู่แล้ว ให้ปิดก่อนเปิดไฟล์ TextClassifier.xcworkspace

  4. เลือกชุดรูปแบบ TextClassifier แล้วเลือกอุปกรณ์ iOS หรือเครื่องมือจำลองจากแถบเครื่องมือของหน้าต่างโปรเจ็กต์ เมื่อใช้อุปกรณ์ iOS จริงๆ ให้ตรวจสอบว่าอุปกรณ์นั้นเชื่อมต่อกับ Mac

  5. คลิกปุ่ม Run ในแถบเครื่องมือของโปรเจ็กต์

สำหรับคำแนะนำเพิ่มเติมเกี่ยวกับการเรียกใช้แอปใน Xcode โปรดดูการสร้างและการเรียกใช้แอป

ทรัพยากร Dependency ของงาน MediaPipe

MediaPipe Tasks มีไลบรารีที่สร้างไว้ล่วงหน้า 2 รายการสำหรับการมองเห็นและข้อความ ไฟล์โมเดล .tflite ต้องอยู่ในแพ็กเกจของแอปพลิเคชัน iOS ที่ใช้โมเดลดังกล่าว เพิ่มไลบรารี Vision หรือไลบรารีข้อความลงในรายการพ็อดภายใน CocoaPods Podfile ทั้งนี้ขึ้นอยู่กับ MediaPipe Tas ดูวิธีสร้าง Podfile ด้วยพ็อดที่จำเป็นสำหรับแอปได้ที่การใช้ CocoaPods

งาน Generative AI

ไลบรารี MediaPipe Tasks Generative AI มีงานที่จัดการการสร้างรูปภาพหรือข้อความ หากต้องการติดตั้งไลบรารี MediaPipe Tasks Generative AI ให้เพิ่มพ็อด MediaPipeTasksGenAI และ MediaPipeTasksGenAIC ไปยังเป้าหมายของแอปใน Podfile

API การอนุมาน LLM

งานการอนุมาน MediaPipe LLM อยู่ในพ็อด MediaPipeTasksGenAI และ MediaPipeTasksGenAIC

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

งานด้านการมองเห็น

ไลบรารีวิสัยทัศน์ของ MediaPipe Tasks มีงานที่จัดการอินพุตรูปภาพหรือวิดีโอ หากต้องการติดตั้งไลบรารีวิสัยทัศน์ของ MediaPipe Tasks ให้เพิ่มพ็อด MediaPipeTasksVision ลงในเป้าหมายของแอปใน Podfile

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

งานข้อความ

ไลบรารีข้อความงาน MediaPipe Tasks มีงานที่จัดการข้อมูลภาษาในรูปแบบข้อความ หากต้องการติดตั้งไลบรารีข้อความ MediaPipe Tasks ให้เพิ่มพ็อด MediaPipeTasksText ลงในเป้าหมายของแอปใน Podfile

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

กำหนดค่าเป้าหมายทดสอบ

หากแอปมีเป้าหมายการทดสอบ ให้ตรวจสอบว่า Podfile เป็นไปตามการใช้งานอย่างใดอย่างหนึ่งต่อไปนี้เพื่อหลีกเลี่ยงลักษณะการทำงานที่ไม่พึงประสงค์เมื่อใช้ไลบรารีงาน MediaPipe

การติดตั้งใช้งานที่ง่ายที่สุดคือการตรวจสอบว่าเป้าหมายการทดสอบไม่ได้ฝังอยู่ในเป้าหมายแอปหลักที่เพิ่มพ็อดงาน MediaPipe

target 'MyAppWithMediaPipeTasks' do
  pod 'MediaPipeTasksVision'
end

target 'MyAppWithMediaPipeTasksTests' do

end

หากเป้าหมายการทดสอบต้องฝังอยู่ในเป้าหมายของแอปหลัก Podfile ต้องเป็นไปตามการติดตั้งใช้งานต่อไปนี้

target 'MyAppWithMediaPipeTasks' do
  pod 'MediaPipeTasksVision'

    target 'MyAppWithMediaPipeTasksTests' do
      inherit! :none

    end
end

การกำหนดค่า BaseOptions

BaseOptions ช่วยให้กำหนดค่าทั่วไปของ API งาน MediaPipe

ชื่อตัวเลือก คำอธิบาย ค่าที่ยอมรับ
modelAssetPath เส้นทางโมเดลไปยังไฟล์โมเดลในแพ็กเกจแอปพลิเคชัน iOS เส้นทางเป็นสตริง

การเร่งฮาร์ดแวร์

ใน iOS นั้น MediaPipe Tasks รองรับเฉพาะโมเดลที่ทำงานอยู่บนตัวประมวลผล CPU มาตรฐานเท่านั้น

การแก้ปัญหา

สำหรับความช่วยเหลือเกี่ยวกับคำถามทางเทคนิคที่เกี่ยวข้องกับ MediaPipe โปรดไปที่กลุ่มสนทนาหรือ Stack Overflow เพื่อรับการสนับสนุนจากชุมชน หากต้องการรายงานข้อบกพร่องหรือส่งคำขอฟีเจอร์ ให้แจ้งปัญหาใน GitHub

หากต้องการความช่วยเหลือในการตั้งค่าสภาพแวดล้อมในการพัฒนาซอฟต์แวร์ iOS โปรดไปที่เอกสารประกอบสำหรับนักพัฒนาซอฟต์แวร์ Apple