คู่มือผู้ใช้ซอฟต์แวร์ Qualcomm TensorFlow Lite SDK
โลโก้บริษัท

ประวัติการแก้ไข

การแก้ไข วันที่ คำอธิบาย
AA กันยายน 2023 การเปิดตัวครั้งแรก
AB ตุลาคม 2023

ข้อมูลเบื้องต้นเกี่ยวกับเครื่องมือ Qualcomm TFLite SDK

เครื่องมือชุดพัฒนาซอฟต์แวร์ Qualcomm TensorFlow Lite (Qualcomm TFLite SDK) มอบเฟรมเวิร์ก TensorFlow Lite สำหรับการอนุมานปัญญาประดิษฐ์ (AI) บนอุปกรณ์ ซึ่งอำนวยความสะดวกให้กับนักพัฒนาแอปพลิเคชันในการพัฒนาหรือเรียกใช้แอปพลิเคชัน AI ที่เหมาะสม
เอกสารนี้ให้คำแนะนำทีละขั้นตอนในการรวบรวม Qualcomm TFLite SDK แบบสแตนด์อโลนและตั้งค่าสภาพแวดล้อมการพัฒนา สิ่งนี้ทำให้เวิร์กโฟลว์ของนักพัฒนาซึ่งรวมถึง:

  • การตั้งค่าสภาพแวดล้อมการสร้างที่นักพัฒนาสามารถรวบรวม Qualcomm TFLite SDK
  • การพัฒนาแอปพลิเคชัน Qualcomm TFLite SDK แบบสแตนด์อโลน

สำหรับการสนับสนุน โปรดดูhttps://www.ควอลคอมม์.คอม/สนับสนุน. รูปต่อไปนี้ให้ข้อมูลสรุปของเวิร์กโฟลว์ Qualcomm TFLite SDK: ”
รูปที่ 1-1 เวิร์กโฟลว์ Qualcomm TFLite SDK
เครื่องมือนี้ต้องการแพลตฟอร์ม SDK และการกำหนดค่า file (รูปแบบ JSON) เพื่อสร้างสิ่งประดิษฐ์ Qualcomm TFLite SDK

หากต้องการสร้างแอปพลิเคชันแบบ end-to-end โดยใช้ระบบย่อยมัลติมีเดีย AI และระบบคอมพิวเตอร์วิทัศน์ (CV) โปรดดูคู่มือเริ่มต้นใช้งานด่วน Qualcomm Intelligent Multimedia SDK (QIM SDK) (80-50450-51)
ตารางแสดงการแมปเวอร์ชัน Qualcomm TFLite SDK พร้อมการเปิดตัว CodeLinaro tag:
ตารางที่ 1-1 ข้อมูลการวางจำหน่าย
การเชื่อมต่อ

เวอร์ชัน Qualcomm TFLite SDK CodeLinaro เปิดตัว tag
วี1.0 วอลคอมม์ TFLITE.SDK.1.0.r1-00200-TFLITE.0

ตารางที่ 1-2 เวอร์ชัน Qualcomm TFLite SDK ที่รองรับ

ควอลคอมม์ เวอร์ชัน TFLite SDK ผลิตภัณฑ์ซอฟต์แวร์ที่รองรับ รองรับเวอร์ชัน TFLite
วี1.0 QCS8550.LE.1.0
  • 2.6.0
  • 2.8.0
  • 2.10.1
  • 2.11.1
  • 2.12.1
  • 2.13.0

อ้างอิง
ตารางที่ 1-3 เอกสารที่เกี่ยวข้อง

ชื่อ ตัวเลข
ควอลคอมม์
00067.1 บันทึกประจำรุ่นสำหรับ QCS8550.LE.1.0 ร.อ.-230830225415
คู่มือเริ่มต้นใช้งานด่วน Qualcomm Intelligent Multimedia SDK (QIM SDK) 80-50450-51
ข้อมูลอ้างอิง Qualcomm Intelligent Multimedia SDK (QIM SDK) 80-50450-50
ทรัพยากร
https://source.android.com/docs/setup/start/initializing -

ตารางที่ 1-4 คำย่อและคำจำกัดความ

คำย่อหรือคำศัพท์ คำนิยาม
AI ปัญญาประดิษฐ์
ไบออส ระบบอินพุต/เอาท์พุตพื้นฐาน
CV วิสัยทัศน์คอมพิวเตอร์
ไอพีเค แพ็คเกจอิทซี่ file
คิวเอ็ม SDK ชุดพัฒนาซอฟต์แวร์มัลติมีเดียอัจฉริยะ Qualcomm
ชุดพัฒนาซอฟต์แวร์ ชุดพัฒนาซอฟต์แวร์
ทีฟไลท์ เทนเซอร์โฟลว์ ไลท์
เอ็กซ์เอ็นเอ็น Xth เพื่อนบ้านที่ใกล้ที่สุด

ตั้งค่าสภาพแวดล้อมการสร้างสำหรับเครื่องมือ Qualcomm TFLite SDK

เครื่องมือ Qualcomm TFLite SDK ได้รับการเผยแพร่ในรูปแบบแหล่งที่มา ดังนั้น การสร้างสภาพแวดล้อมบิลด์เพื่อคอมไพล์จึงเป็นการตั้งค่าบังคับ แต่เป็นการตั้งค่าครั้งเดียว

ข้อกำหนดเบื้องต้น

  • ตรวจสอบให้แน่ใจว่าคุณมี sudoaccess ไปยังเครื่องโฮสต์ Linux
  • ตรวจสอบให้แน่ใจว่าเวอร์ชันโฮสต์ Linux คือ Ubuntu 18.04 หรือ Ubuntu 20.04
  • เพิ่มการเฝ้าดูผู้ใช้สูงสุดและอินสแตนซ์ผู้ใช้สูงสุดบนระบบโฮสต์
  • เพิ่มบรรทัดคำสั่งต่อไปนี้ใน/etc/sysctl.confand รีบูตโฮสต์: fs.inotify.max_user_instances=8192 fs.inotify.max_user_watches=542288

ติดตั้งแพ็คเกจโฮสต์ที่จำเป็น

แพ็คเกจโฮสต์ได้รับการติดตั้งบนเครื่องโฮสต์ Linux
รันคำสั่งเพื่อติดตั้งแพ็คเกจโฮสต์: $ sudo apt install -y jq $ sudo apt install -y texinfo chrpath libxml-simple-perl openjdk-8-jdkheadless
สำหรับ Ubuntu 18.04 และสูงกว่า:
$ sudo apt-get ติดตั้ง git-core gnupg flex bison build-essential zip curl zlib1g-dev gcc-multilib g ++ - multilib libc6-dev-i386 libncurses5 lib32ncurses5- dev x11proto-core-dev libx11-dev lib32z1-dev libgl1-mesa-dev libxml2-utils xsltproc แตกไฟล์ฟอนต์
สำหรับข้อมูลเพิ่มเติม โปรดดู https://source.android.com/docs/setup/start/initializing.

ตั้งค่าสภาพแวดล้อมนักเทียบท่า

นักเทียบท่าเป็นแพลตฟอร์มที่ใช้ในการสร้าง พัฒนา ทดสอบ และส่งมอบซอฟต์แวร์ หากต้องการคอมไพล์ SDK ต้องกำหนดค่านักเทียบท่าบนเครื่องโฮสต์ Linux
ตรวจสอบให้แน่ใจว่าเปิดใช้งาน CPU virtualization บนเครื่องโฮสต์ Linux หากไม่ได้เปิดใช้งาน ให้ทำดังต่อไปนี้เพื่อเปิดใช้งานจากการตั้งค่าการกำหนดค่าระบบอินพุต/เอาท์พุตพื้นฐาน (BIOS):

  1. เปิดใช้งานการจำลองเสมือนจาก BIOS:
    a- กด F1 หรือ F2 เมื่อระบบกำลังบู๊ตเพื่อเข้าสู่ BIOS หน้าต่าง BIOS จะปรากฏขึ้น
    b- สลับไปที่แท็บขั้นสูง
    c. ในส่วนการกำหนดค่า CPU ให้ตั้งค่าเทคโนโลยีการจำลองเสมือนเป็นเปิดใช้งาน
    a- กด F12 เพื่อบันทึกและออก จากนั้นรีสตาร์ทระบบ
    หากขั้นตอนเหล่านี้ไม่ได้ผล ให้ทำตามคำแนะนำเฉพาะจากผู้ให้บริการระบบเพื่อเปิดใช้งานการจำลองเสมือน
  2. ลบอินสแตนซ์เก่าของนักเทียบท่า:
    $ sudo apt ลบนักเทียบท่าเดสก์ท็อป
    $ rm -r $HOME/.docker/เดสก์ท็อป
    $ sudo rm /usr/local/bin/com.docker.cli
    $ sudo apt ล้างนักเทียบท่าเดสก์ท็อป
  3.  ตั้งค่าที่เก็บระยะไกลนักเทียบท่า:
    $ sudo apt-get update $ sudo apt-get ติดตั้งใบรับรอง caurl gnupg lsb-release $ sudo mkdir -p /etc/apt/keyrings $ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg — dearmor -o /etc/apt/keyrings/docker.gpg $ echo “deb [arch=$(dpkg –print-architecture) ลงนามโดย=/etc/apt/ keyrings/ docker.gpg] https:// download.docker.com/linux/ubuntu $ (lsb_release -cs) เสถียร” | sudo tee /etc/apt/sources.list.d/ docker.list > /dev/null
  4.  ติดตั้งเอ็นจิ้นนักเทียบท่า:
    $ sudo apt-get อัปเดต $ sudo apt-get ติดตั้ง docker-ce docker-ce-cli
  5.  เพิ่มผู้ใช้ในกลุ่มนักเทียบท่า:
    $ sudo groupadd นักเทียบท่า $ sudo usermod -aG นักเทียบท่า $USER
  6.  รีบูตระบบ

สร้างแพลตฟอร์ม SDK

SDK แพลตฟอร์มเป็นข้อกำหนดบังคับในการรวบรวมเครื่องมือ Qualcomm TFLite SDK โดยให้การพึ่งพาแพลตฟอร์มที่จำเป็นทั้งหมดที่กำหนดโดย Qualcomm TFLite SDK
ทำดังต่อไปนี้เพื่อสร้างแพลตฟอร์ม SDK:

  1. สร้างบิลด์สำหรับผลิตภัณฑ์ซอฟต์แวร์ที่ต้องการ
    คำแนะนำในการสร้างรุ่น QCS8550.LE.1.0 มีอยู่ในบันทึกประจำรุ่น หากต้องการเข้าถึงบันทึกประจำรุ่น โปรดดูที่ ข้อมูลอ้างอิง
    หากอิมเมจถูกสร้างขึ้นก่อนหน้านี้ ให้ดำเนินการขั้นตอนที่ 2 จากนั้นสร้างบิลด์ใหม่ทั้งหมด
  2. รันคำสั่งต่อไปนี้เพื่อสร้างอิมเมจพื้นที่ผู้ใช้และ SDK แพลตฟอร์ม:
    สำหรับ QCS8550.LE.1.0 ให้เพิ่มคุณลักษณะของเครื่อง qti-tflite-delegate ใน MACHINE_FEATURES ใน kalama.conf file และจัดหาสภาพแวดล้อมบิลด์ตามคำแนะนำจากบันทึกประจำรุ่น
    หลังจากสร้างอิมเมจพื้นที่ผู้ใช้จากบิลด์แล้ว ให้รันคำสั่งต่อไปนี้เพื่อสร้างแพลตฟอร์ม SDK
    $ bitbake -fc populate_sdk qti-robotics-image.php

สร้างเครื่องมือ Qualcomm TFLite SDK – ขั้นตอนการทำงานของนักพัฒนา

เวิร์กโฟลว์เครื่องมือ Qualcomm TFLite SDK กำหนดให้นักพัฒนาต้องจัดเตรียมการกำหนดค่า file ด้วยรายการอินพุตที่ถูกต้อง เชลล์สคริปต์ตัวช่วยจากโปรเจ็กต์ tflite-tools (มีอยู่ในแผนผังต้นทาง Qualcomm TFLite SDK) มีฟังก์ชันยูทิลิตี้ตัวช่วยในการตั้งค่าสภาพแวดล้อมเชลล์ ซึ่งสามารถใช้สำหรับเวิร์กโฟลว์ Qualcomm TFLite SDK
นักพัฒนาสร้างโครงการ Qualcomm TFLite SDK ภายในคอนเทนเนอร์และสร้างสิ่งประดิษฐ์โดยใช้ยูทิลิตี้ที่มาจาก tflite-tools
หลังจากสร้างคอนเทนเนอร์ Qualcomm TFLite SDK แล้ว นักพัฒนาสามารถแนบไปกับคอนเทนเนอร์และใช้ยูทิลิตี้ตัวช่วยในสภาพแวดล้อมเชลล์คอนเทนเนอร์เพื่อการพัฒนาอย่างต่อเนื่อง

  • มีข้อกำหนดในการติดตั้งสิ่งประดิษฐ์ Qualcomm TFLite SDK ลงในอุปกรณ์ Qualcomm ที่เชื่อมต่อกับโฮสต์ Linux ผ่าน USB/adb
  • นอกจากนี้ยังมีข้อกำหนดในการคัดลอกสิ่งประดิษฐ์ Qualcomm TFLite SDK จากคอนเทนเนอร์ไปยังเครื่องโฮสต์อื่นที่อุปกรณ์ Qualcomm เชื่อมต่ออยู่
    การเชื่อมต่อ

รูปต่อไปนี้แสดงรายการชุดยูทิลิตี้ที่พร้อมใช้งานหลังจากตั้งค่าสภาพแวดล้อมการสร้างคอนเทนเนอร์โดยใช้สคริปต์ตัวช่วยสำหรับการสร้าง Qualcomm TFLite SDK
การเชื่อมต่อ

รูปแสดงลำดับการทำงานของยูทิลิตี้:
รูปที่ 4-3 ลำดับของยูทิลิตี้บนโฮสต์
การเชื่อมต่อ

ซิงค์และสร้าง Qualcomm TFLite SDK
Qualcomm TFLite SDK ได้รับการคอมไพล์เมื่อมีการสร้างอิมเมจนักเทียบท่า หากต้องการซิงค์และสร้าง Qualcomm TFLite SDK ให้ทำดังต่อไปนี้:

  1. สร้างไดเรกทอรีบนโฮสต์ file ระบบเพื่อซิงค์พื้นที่ทำงาน Qualcomm TFLite SDK สำหรับ
    exampเลอ: $mkdir $ซีดี
  2. ดึงซอร์สโค้ด Qualcomm TFLite SDK จาก CodeLinaro:
    $ repo เริ่มต้น -u https://git.codelinaro.org/clo/le/sdktflite/tflite/ manifest.git –repo-branch=qc/stable –repo-url=git://git.quicinc.com/ tools/repo.git -m TFLITE.SDK.1.0.r1-00200-TFLITE.0.xml -b release && repo sync -qc –no-tags -j
  3. สร้างไดเรกทอรีบนโฮสต์ file ระบบที่สามารถติดตั้งเข้ากับนักเทียบท่าได้ สำหรับเช่นample: mkdir-p / ไดเรกทอรีนี้สามารถสร้างได้ทุกที่บนเครื่องโฮสต์ Linux และไม่ได้ขึ้นอยู่กับตำแหน่งที่ซิงค์โครงการ Qualcomm TFLite SDK หลังจากที่เวิร์กโฟลว์เสร็จสิ้นภายในคอนเทนเนอร์ คุณจะพบสิ่งประดิษฐ์ Qualcomm TFLite SDK ได้ที่ไดเร็กทอรีที่สร้างขึ้นในขั้นตอนนี้
  4. แก้ไขการกำหนดค่า JSON file มีอยู่ใน /tflite-tools/ target/le-tflite-tools-builder.json โดยมีรายการต่อไปนี้:
    “รูปภาพ”: “tflite-tools-builder”, “Device_OS”: “le”, “Additional_tag”: “”, “TFLite_Version”: “2.11.1”, “ผู้ได้รับมอบหมาย”: { “Hexagon_delegate”: “ปิด”, “Gpu_delegate”: “ON”, “Xnnpack_delegate”: “ON” }, “TFLite_rsync_destination”: “ /”, “SDK_path”: “/build-qti-distro-fullstack-perf/tmpglibc/deploy/sdk>”, “SDK_shell_file”: “”, “Base_Dir_Location”: “” }
    สำหรับข้อมูลเพิ่มเติมเกี่ยวกับรายการที่กล่าวถึงในการกำหนดค่า json fileโปรดดูที่ Docker.md readme file ที่ /tflite-tools/.
    บันทึก สำหรับ QCS8550 ไม่รองรับผู้ร่วมประชุม Qualcomm® Hexagon™ DSP
  5. ซอร์สสคริปต์เพื่อตั้งค่าสภาพแวดล้อม:
    $ซีดี /tflite-tools $ แหล่งที่มา ./scripts/host/docker_env_setup.sh
  6.  สร้างอิมเมจนักเทียบท่า Qualcomm TFLite SDK: $ tflite-tools-host-build-image ./targets/le-tflite-tools-builder.json หากการตั้งค่าบิลด์ล้มเหลว โปรดดู แก้ไขปัญหาการตั้งค่านักเทียบท่า หลังจากเสร็จสิ้นสำเร็จ ข้อความต่อไปนี้จะปรากฏขึ้น: “สถานะ: สร้างอิมเมจเสร็จสมบูรณ์!!” การรันขั้นตอนนี้จะสร้าง Qualcomm TFLite SDK ด้วยเช่นกัน
  7.  เรียกใช้คอนเทนเนอร์นักเทียบท่า Qualcomm TFLite SDK สิ่งนี้จะเริ่มต้นคอนเทนเนอร์ด้วย tags ระบุไว้ในการกำหนดค่า JSON file- $ tflite-tools-host-run-container ./targets/le-tflite-tools-builder.json
  8. ติดเข้ากับภาชนะโดยเริ่มจากขั้นตอนที่แล้ว
    $ นักเทียบท่าแนบ

Qualcomm TFLite SDK ได้รับการคอมไพล์แล้ว และอาร์ติแฟกต์ต่างๆ ก็พร้อมที่จะใช้งานหรือนำไปใช้เพิ่มเติมได้
ใช้เพื่อสร้างปลั๊กอิน QIM SDK TFLite

เชื่อมต่ออุปกรณ์กับโฮสต์และปรับใช้สิ่งประดิษฐ์]

หลังจากการคอมไพล์ มีสองกลไกในการเชื่อมต่ออุปกรณ์กับโฮสต์และปรับใช้
สิ่งประดิษฐ์ Qualcomm TFLite SDK

  • อุปกรณ์เชื่อมต่อกับโฮสต์ Linux ภายในเครื่อง:
    นักพัฒนาเชื่อมต่ออุปกรณ์กับเวิร์กสเตชันและติดตั้งสิ่งประดิษฐ์ Qualcomm TFLite SDK จากคอนเทนเนอร์บนอุปกรณ์โดยตรง (QCS8550)
  • อุปกรณ์เชื่อมต่อกับโฮสต์ระยะไกล:
    นักพัฒนาเชื่อมต่ออุปกรณ์กับเวิร์กสเตชันระยะไกล และพวกเขาสามารถใช้คำสั่งตัวติดตั้งตัวจัดการแพ็กบนแพลตฟอร์ม Windows และ Linux เพื่อติดตั้งสิ่งประดิษฐ์ Qualcomm TFLite SDK ลงในอุปกรณ์ (QCS8550)

รูปที่ 4-4 การเชื่อมต่อบอร์ดอุปกรณ์กับนักพัฒนาและเวิร์กสเตชันระยะไกล
การเชื่อมต่อ

เชื่อมต่ออุปกรณ์กับเวิร์กสเตชัน

อุปกรณ์เชื่อมต่อกับเวิร์กสเตชันและคอนเทนเนอร์การพัฒนาสามารถเข้าถึงอุปกรณ์ผ่าน USB/adb
รูปนี้แสดง stagตามลำดับเวิร์กโฟลว์ Qualcomm TFLite SDK:
การเชื่อมต่อ

  1. รันคำสั่งต่อไปนี้เพื่อติดตั้งสิ่งประดิษฐ์ลงในอุปกรณ์:
    $ tflite-tools-อุปกรณ์เตรียม
    $ tflite-เครื่องมือ-อุปกรณ์-ปรับใช้
  2. หากต้องการถอนการติดตั้งสิ่งประดิษฐ์ ให้รันคำสั่งต่อไปนี้:
    $ tflite-tools-device-packages-remove

เชื่อมต่ออุปกรณ์กับเครื่องระยะไกล

อุปกรณ์เชื่อมต่อกับเครื่องระยะไกล และคอนเทนเนอร์ Qualcomm TFLite SDK ไม่สามารถเข้าถึงอุปกรณ์ผ่าน USB/ad b
รูปนี้แสดง stagตามลำดับเวิร์กโฟลว์ Qualcomm TFLite SDK:
การเชื่อมต่อ

รันคำสั่งต่อไปนี้ในคอนเทนเนอร์ tflite-tools เพื่อคัดลอกส่วนต่างๆ ไปยังเครื่องระยะไกล
ขึ้นอยู่กับตัวจัดการแพ็คเกจบนอุปกรณ์:
$ tflite-tools-remote-sync-ipk-rel-pkg
บันทึก ข้อมูลเครื่องระยะไกลมีอยู่ในการกำหนดค่า JSON file.
ติดตั้งสิ่งประดิษฐ์สำหรับแพลตฟอร์ม Windows
สามารถติดตั้งสิ่งประดิษฐ์ Qualcomm TFLite SDK บนอุปกรณ์ตามระบบปฏิบัติการของเครื่องระยะไกล

สำหรับแพลตฟอร์ม Windows ให้ทำดังต่อไปนี้:
บน PowerShell ให้ใช้สคริปต์ต่อไปนี้: PS C:
> รูท adb PS C:> adb ปิดการใช้งานจริง PS C:> รีบูต adb PS C:> adb รออุปกรณ์ PS C:> รูท adb PS C:> adb ติดตั้งใหม่ PS C:> adb เชลล์เมาท์ -o ติดตั้งใหม่ rw / PS C:> adb shell “mkdir -p /tmp” PS C:> adb push /tmp หากแพ็คเกจเป็น ipk (สำหรับ QCS8550.LE.1.0) ให้ใช้คำสั่งต่อไปนี้: PS C:> adb shell “ opkg –บังคับขึ้นอยู่กับ –บังคับติดตั้งใหม่ –บังคับเขียนทับการติดตั้ง /tmp/”

ติดตั้งสิ่งประดิษฐ์สำหรับแพลตฟอร์ม Linux
ใช้คำสั่งดังต่อไปนี้:
$ adb root $ adb ปิดการใช้งานจริง $ adb รีบูต $ adb รอสำหรับอุปกรณ์ $ adb root $ adb remount $ adb เชลล์เมาท์ -o remount, rw / $ adb เชลล์“ mkdir -p / tmp” $ adb push / tmp ถ้า แพ็คเกจนี้เป็น ipk (สำหรับ QCS8550.LE.1.0): $ adb shell “opkg –force-depends –force-reinstall –force-overwrite install /tmp/”

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

  1. รันคำสั่งต่อไปนี้บนเวิร์กสเตชัน Linux:
    $ซีดี /tflite-เครื่องมือ
  2. หยุดคอนเทนเนอร์:
    $ tflite-tools-host-stop-container ./targets/ le-tflite-tools-builder.json
  3. ถอดภาชนะออก:
    $ tflite-tools-host-rm-container ./targets/ le-tflite-tools-builder.json
  4. ลบอิมเมจนักเทียบท่ารุ่นเก่า:
    $ tflite-tools-host-images-cleanup

แก้ไขปัญหาการตั้งค่านักเทียบท่า

หากคำสั่ง tflite-tools-host-build-image ส่งคืนข้อความ Nospace left on device ให้ย้ายไดเร็กทอรีนักเทียบท่าไปที่/local/mnt ดำเนินการต่อไปนี้เพื่อแก้ไขปัญหาการตั้งค่า:

  1. สำรองข้อมูลนักเทียบท่าที่มีอยู่ files:
    $ tar -zcC /var/lib นักเทียบท่า > /mnt/pd0/var_lib_docker-backup-$(วันที่ + %s).tar.gz
  2. หยุดนักเทียบท่า:
    $ บริการนักเทียบท่าหยุด
  3. ตรวจสอบว่าไม่มีกระบวนการนักเทียบท่าทำงานอยู่:
    $ PS มารยาท | เกรป ด็อกเกอร์
  4. ตรวจสอบโครงสร้างไดเรกทอรีนักเทียบท่า:
    $ sudo ls /var/lib/นักเทียบท่า/
  5. ย้ายไดเร็กทอรีนักเทียบท่าไปยังพาร์ติชันใหม่:
    $ mv /var/lib/docker /local/mnt/docker
  6. สร้าง symlink ไปยังไดเร็กทอรีนักเทียบท่าในพาร์ติชันใหม่:
    $ ln -s /local/mnt/docker /var/lib/docker
  7. ตรวจสอบให้แน่ใจว่าโครงสร้างไดเรกทอรีนักเทียบท่ายังคงไม่เปลี่ยนแปลง:
    $ sudo ls /var/lib/นักเทียบท่า/
  8. เริ่มนักเทียบท่า:
    $ บริการนักเทียบท่าเริ่มต้น
  9. รีสตาร์ทคอนเทนเนอร์ทั้งหมดหลังจากย้ายไดเร็กทอรีนักเทียบท่า

สร้าง TFLite SDK ด้วยเวิร์กสเตชัน Linux

สามารถเปิดใช้งานเวิร์กโฟลว์ TFLite SDK ได้โดยไม่ต้องใช้คอนเทนเนอร์โดยใช้เวิร์กสเตชัน Linux ขั้นตอนนี้เป็นทางเลือกแทนการใช้คอนเทนเนอร์
หากต้องการซิงค์และสร้าง Qualcomm TFLite SDK ให้ทำดังต่อไปนี้:

  1. สร้างไดเรกทอรีบนโฮสต์ file ระบบเพื่อซิงค์พื้นที่ทำงาน Qualcomm TFLite SDK สำหรับเช่นampเลอ:
    $mkdir
    $ซีดี
  2. ดึงซอร์สโค้ด Qualcomm TFLite SDK จาก CodeLinaro:
    $ repo เริ่มต้น -u https://git.codelinaro.org/clo/le/sdktflite/tflite/ manifest.git –repo-branch=qc/stable –repo-url=git://git.quicinc.com/ tools/repo.git -m TFLITE.SDK.1.0.r1-00200-TFLITE.0.xml -b release && repo sync -qc –no-tags -j8 && repo ซิงค์ -qc –no-tags -เจ8
  3. 3. แก้ไขการกำหนดค่า JSON file นำเสนอใน /tflite-tools/ target/le-tflite-tools-builder.json โดยมีรายการต่อไปนี้
    “รูปภาพ”: “tflite-tools-builder”, “Device_OS”: “le”, “Additional_tag”: “”, “TFLite_Version”: “2.11.1”, “ผู้ได้รับมอบหมาย”: { “Hexagon_delegate”: “ปิด”, “Gpu_delegate”: “ON”, “Xnnpack_delegate”: “ON” }, “TFLite_rsync_destination”: “ ”, “SDK_path”: “/build-qti-distro-fullstack-perf/tmpglibc/deploy/sdk>”, “SDK_shell_file”: “”, “Base_Dir_Location”: “”
    สำหรับข้อมูลเพิ่มเติมเกี่ยวกับรายการที่กล่าวถึงในการกำหนดค่า json fileโปรดดูที่ Docker.md readme file ที่ /tflite-เครื่องมือ/.
    บันทึก สำหรับ QCS8550 ไม่รองรับผู้ร่วมประชุม DSP แบบหกเหลี่ยม
  4. ซอร์สสคริปต์เพื่อตั้งค่าสภาพแวดล้อม:
    $ซีดี /tflite-เครื่องมือ
    $ แหล่งที่มา ./scripts/host/host_env_setup.sh
  5. สร้าง Qualcomm TFLite SDK
    $ tflite-tools-setup เป้าหมาย/le-tflite-tools-builder.json
  6.  เรียกใช้คำสั่งยูทิลิตี้ต่อไปนี้ในเชลล์ Linux เดียวกันเพื่อรวบรวมสิ่งประดิษฐ์ TFLite SDK 
    TFLite_rsync_destination.
    $ tflite-tools-host-get-rel-package เป้าหมาย / le-tflite-tools-builder.json
    $ tflite-tools-host-get-dev-package เป้าหมาย / le-tflite-tools-builder.json
  7. ติดตั้งสิ่งประดิษฐ์ตามระบบปฏิบัติการ
    • สำหรับแพลตฟอร์ม Windows บน PowerShell ให้ใช้สคริปต์ต่อไปนี้
      PS C:> adb root PS C:> adb ปิดการใช้งานจริง PS C:> adb รีบูต PS C:> adb รออุปกรณ์ PS C:> รูท adb PS C:> adb ติดตั้งใหม่ PS C:> adb เชลล์เมาท์ - หรือติดตั้งใหม่, rw / PS C:> adb เชลล์ “mkdir -p /tmp” PS C:> adb push /tmp
      หากแพ็กเกจเป็น ipk (สำหรับ QCS8550.LE.1.0) ให้ใช้คำสั่งต่อไปนี้:
      PS C:> adb เชลล์ “opkg –force-depends –force-install –forceoverwrite install /tmp/
      สำหรับแพลตฟอร์ม Linux ให้ใช้สคริปต์ต่อไปนี้:
      $ adb root $ adb ปิดการใช้งานจริง $ adb รีบูต $ adb รอสำหรับอุปกรณ์ $ adb root $ adb remount $ adb เชลล์เมาท์ -o remount, rw / $ adb เชลล์“ mkdir -p / tmp” $ adb push / tmp หากแพ็คเกจเป็น ipk (สำหรับ QCS8550.LE.1.0):
      $ adb เชลล์ “opkg –force-depends –force-reinstall –force-overwrite install /tmp/”

สร้างสิ่งประดิษฐ์ Qualcomm TFLite SDK สำหรับ QIM SDK build

หากต้องการใช้อาร์ติแฟกต์ที่สร้างขึ้นเพื่อเปิดใช้งานปลั๊กอิน Qualcomm TFLite SDK GStreamer ใน QIM SDK ให้ทำดังต่อไปนี้:

  1. ทำตามขั้นตอนในการซิงค์และสร้าง Qualcomm TFLite SDK จากนั้นรันคำสั่งต่อไปนี้: $ tflite-tools-host-get-dev-tar-package ./targets/le-tflite-toolsbuilder.json
    น้ำมันดิน file ถูกสร้างขึ้น ประกอบด้วย Qualcomm TFLite SDK ที่เส้นทางที่ให้ไว้ที่ “TFLite_rsync_destination”
  2. หากต้องการเปิดใช้งานปลั๊กอิน Qualcomm TFLite SDK GStreamer ให้ใช้ tar file เป็นอาร์กิวเมนต์ในการกำหนดค่า JSON file สำหรับบิลด์ QIM SDK
    สำหรับข้อมูลเกี่ยวกับการรวบรวม QIM SDK โปรดดูคู่มือเริ่มต้นใช้งานด่วน Qualcomm Intelligent Multimedia SDK (QIM SDK) (80-50450-51)

สร้าง Qualcomm TFLite SDK ทีละน้อย

หากคุณกำลังสร้าง Qualcomm TFLite SDK เป็นครั้งแรก โปรดดูสร้างเครื่องมือ Qualcomm TFLite SDK – เวิร์กโฟลว์ของนักพัฒนา สภาพแวดล้อมบิลด์เดียวกันสามารถนำมาใช้ซ้ำเพื่อการพัฒนาส่วนเพิ่มได้
ยูทิลิตี้ตัวช่วย (ภายในคอนเทนเนอร์) ที่กล่าวถึงในรูปนั้นมีให้สำหรับนักพัฒนาเพื่อรวบรวมแอปพลิเคชันและปลั๊กอินที่แก้ไข
รูปที่ 5-1 ขั้นตอนการทำงานในคอนเทนเนอร์

การเชื่อมต่อ

หลังจากการเปลี่ยนแปลงโค้ดเสร็จสมบูรณ์ในไดเร็กทอรีโค้ด ให้ดำเนินการดังต่อไปนี้:

  1. คอมไพล์โค้ดที่แก้ไข:
    $ tflite-tools-increaseal-build-install
  2. รหัสที่รวบรวมแพ็คเกจ:
    $ tflite-tools-ipk-rel-pkg หรือ $ tflite-tools-deb-rel-pkg
  3. ซิงค์แพ็คเกจการเปิดตัวกับโฮสต์ file ระบบ:
    $ tflite-tools-remote-sync-ipk-rel-pkg
    Or
    $ tflite-tools-remote-sync-deb-rel-pkg
  4. เตรียมแพ็คเกจ dev:
    $ tflite-tools-ipk-dev-pkg
    พบสิ่งประดิษฐ์ที่คอมไพล์ได้ที่ในโฟลเดอร์ TFLite_rsync_destination ที่กล่าวถึงใน JSON fileซึ่งสามารถคัดลอกไปยังไดเร็กทอรีใดก็ได้

ทำงานร่วมกับตัวแทน TFLite ภายนอกของ QNN

TFLite External Delegate ช่วยให้คุณสามารถรันโมเดลของคุณ (บางส่วนหรือทั้งหมด) บนตัวดำเนินการอื่นโดยใช้ไลบรารีที่จัดทำโดยบุคคลที่สามที่เชื่อถือได้ เช่น QNN โดย Qualcomm กลไกนี้สามารถใช้ประโยชน์จากตัวเร่งความเร็วบนอุปกรณ์ที่หลากหลาย เช่น GPU หรือโปรเซสเซอร์หกเหลี่ยมเทนเซอร์ (HTP) เพื่อการอนุมาน สิ่งนี้ทำให้นักพัฒนามีความยืดหยุ่นและแยกจาก TFLite เริ่มต้นเพื่อเพิ่มความเร็วในการอนุมาน

ข้อกำหนดเบื้องต้น:

  • ตรวจสอบให้แน่ใจว่าคุณใช้เวิร์กสเตชัน Ubuntu เพื่อแยกสแต็ก QNN AI
  • ตรวจสอบให้แน่ใจว่าคุณใช้ QNN เวอร์ชัน 2.14 เพื่อใช้ร่วมกับ Qualcomm TFLite SDK

Qualcomm TFLite SDK เปิดใช้งานเพื่อเรียกใช้การอนุมานบนแบ็คเอนด์ QNN หลายตัวผ่าน TFLite ภายนอก Delegate สำหรับ QNN โมเดล TFLite ที่มีการแสดงบัฟเฟอร์แบบทั่วไปสามารถทำงานบน GPU และ HTP
หลังจากติดตั้งแพ็คเกจ Qualcomm TFLite SDK บนอุปกรณ์แล้ว ให้ดำเนินการต่อไปนี้เพื่อติดตั้งไลบรารี QNN บนอุปกรณ์

  1. ดาวน์โหลด Qualcomm Package Manager 3 สำหรับ Ubuntu
    a. คลิกhttps://qpm.qualcomm.com/ และคลิกเครื่องมือ
    b. ในบานหน้าต่างด้านซ้าย ในฟิลด์เครื่องมือค้นหา ให้พิมพ์ QPM จากรายการ System OS ให้เลือก Linux
    ผลการค้นหาแสดงรายการ Qualcomm Package Managers
    c. เลือก Qualcomm Package Manager 3 และดาวน์โหลดแพ็คเกจ Linux debian
  2. ติดตั้ง Qualcomm Package Manager 3 สำหรับ Linux ใช้คำสั่งต่อไปนี้:
    $ dpkg -i – บังคับเขียนทับ /path/to/
    QualcommPackageManager3.3.0.83.1.Linux-x86.deb
  3. ดาวน์โหลดวอลคอมม์®
    AI Engine Direct SDK บนเวิร์กสเตชัน Ubuntu
    a. คลิก https://qpm.qualcomm.com/ และคลิกเครื่องมือ
    b. ในบานหน้าต่างด้านซ้าย ในฟิลด์เครื่องมือค้นหา ให้พิมพ์ AI stack จากรายการ System OS ให้เลือก Linux
    A รายการแบบเลื่อนลงที่มีเอ็นจิ้น AI สแต็กต่างๆ จะปรากฏขึ้น
    c. คลิก Qualcomm® AI Engine Direct SDK และดาวน์โหลดแพ็คเกจ Linux v2.14.0
  4. ติดตั้ง Qualcomm® AI Engine Direct SDK บนเวิร์กสเตชัน Ubuntu
    ก. เปิดใช้งานใบอนุญาต:
    qpm-cli – ใบอนุญาตเปิดใช้งาน qualcomm_ai_engine_direct
    b ติดตั้ง AI Engine Direct SDK:
    $ qpm-cli – แยก /path/to/ qualcomm_ai_engine_direct.2.14.0.230828.Linux-AnyCPU.qik
  5. พุชไลบรารีไปยังอุปกรณ์จากเวิร์กสเตชัน Ubuntu ด้วย adb push
    $ cd /opt/qcom/aistack/qnn/2.14.0.230828 $ adb push ./lib/aarch64-oe-linux-gcc11.2/ libQnnDsp.so /usr/lib/ $ adb push ./lib/aarch64-oe- linux-gcc11.2/ libQnnDspV66Stub.so /usr/lib/ $ adb push ./lib/aarch64-oe-linux-gcc11.2/ libQnnGpu.so /usr/lib/ $ adb push ./lib/aarch64-oe- linux-gcc11.2/ libQnnHtpPrepare.so /usr/lib/ $ adb push ./lib/aarch64-oe-linux-gcc11.2/ libQnnHtp.so /usr/lib/ $ adb push ./lib/aarch64-oe- linux-gcc11.2/ libQnnHtpV68Stub.so /usr/lib/ $ adb push ./lib/aarch64-oe-linux-gcc11.2/ libQnnSaver.so /usr/lib/ $ adb push ./lib/aarch64-oe- linux-gcc11.2/ libQnnSystem.so /usr/lib/ $ adb push ./lib/aarch64-oe-linux-gcc11.2/ libQnnTFLiteDelegate.so /usr/lib/ $ adb push ./lib/hexagon-v65/ ไม่ได้ลงนาม / libQnnDspV65Skel.so /usr/lib/rfsa/adsp $ adb push ./lib/hexagon-v66/unsigned/ libQnnDspV66Skel.so /usr/lib/rfsa/adsp $ adb push ./lib/hexagon-v68/unsigned/ libQnnHtpV68Skel.so /usr/lib/rfsa/adsp $ adb push ./lib/hexagon-v69/unsigned/ libQnnHtpV69Skel.so /usr/lib/rfsa/adsp $ adb push ./lib/hexagon-v73/unsigned/ libQnnHtpV73Skel ดังนั้น /usr/lib/rfsa/adsp

ทดสอบ Qualcomm TFLite SDK

Qualcomm TFLite SDK ให้ตัวอย่างบางอย่างampแอปพลิเคชัน le ซึ่งสามารถใช้เพื่อตรวจสอบ เปรียบเทียบ และรับความแม่นยำของแบบจำลองที่นักพัฒนาต้องการประเมิน
หลังจากติดตั้งแพ็คเกจ Qualcomm TFLite SDK บนอุปกรณ์แล้ว รันไทม์จะพร้อมใช้งานบนอุปกรณ์เพื่อเรียกใช้งานเหล่านี้ เช่นampแอปพลิเคชัน
ข้อกำหนดเบื้องต้น
สร้างไดเร็กทอรีต่อไปนี้บนอุปกรณ์:
$ adb เชลล์ “mkdir /data/Models”
$ adb เชลล์ “mkdir /data/Lables”
$ adb เชลล์ “mkdir /data/profile”

ภาพฉลาก

รูปภาพป้ายกำกับคือยูทิลิตี้ที่ Qualcomm TFLite SDK มอบให้ซึ่งจะแสดงวิธีที่คุณสามารถโหลดโมเดล TensorFlow Lite ที่ผ่านการฝึกอบรมและแปลงแล้ว และใช้เพื่อจดจำวัตถุในรูปภาพ ข้อกำหนดเบื้องต้น:
ดาวน์โหลดampแบบจำลองและรูปภาพ:
คุณสามารถใช้รุ่นใดก็ได้ที่เข้ากันได้ แต่รุ่น MobileNet v1 ต่อไปนี้เป็นการสาธิตที่ดีของโมเดลที่ได้รับการฝึกให้จดจำวัตถุที่แตกต่างกันกว่า 1000 รายการ

  • รับโมเดล
    $ คurl https://ที่เก็บข้อมูล.googleapis.com/download.tensorflow.org/models/ mobilenet_v1_2018_02_22/mobilenet_v1_1.0_224.tgz | tar xzv -C /data $ mv /data/mobilenet_v1_1.0_224.tflite /data/รุ่น/
  • รับฉลาก
    $ คurl https://ที่เก็บข้อมูล.googleapis.com/download.tensorflow.org/models/ mobilenet_v1_1.0_224_frozen.tgz | tar xzv -C / ข้อมูล mobilenet_v1_1.0_224/ label.txt
    $ mv /data/mobilenet_v1_1.0_224/labels.txt /data/Labels/
    หลังจากที่คุณเชื่อมต่อกับคอนเทนเนอร์นักเทียบท่า Qualcomm TFLite SDK แล้ว คุณจะสามารถดูรูปภาพได้ที่:
    “/mnt/tflite/src/tensorflow/tensorflow/lite/เช่นamples/label_image/ testdata/grace_hopper.bmp”
    a. ดันอันนี้. file ถึง/ข้อมูล/ป้ายกำกับ/
    b. รันคำสั่ง:
    $ adb เชลล์ “label_image -l /data/Labels/labels.txt -i /data/Labels/ Grace_hopper.bmp -m /data/Models/mobilenet_v1_1.0_224.tflite -c 10 -j 1 -p 1”

เกณฑ์มาตรฐาน

Qualcomm TFLite SDK มีเครื่องมือเปรียบเทียบเพื่อคำนวณประสิทธิภาพของรันไทม์ต่างๆ
เครื่องมือวัดประสิทธิภาพเหล่านี้ในปัจจุบันวัดและคำนวณสถิติสำหรับตัวชี้วัดประสิทธิภาพที่สำคัญต่อไปนี้:

  • เวลาเริ่มต้น
  • เวลาอนุมานของสถานะอุ่นเครื่อง
  • เวลาอนุมานของสภาวะคงตัว
  • การใช้หน่วยความจำในช่วงเวลาเริ่มต้น
  • การใช้หน่วยความจำโดยรวม

ข้อกำหนดเบื้องต้น

ดันโมเดลที่จะทดสอบจาก TFLite Model Zoo (https://tfhub.dev/) ถึง/ข้อมูล/รุ่น/ เรียกใช้ สคริปต์ต่อไปนี้:  

  • เอ็กซ์เอ็นเอ็นแพ็ค
    $ adb เชลล์ “benchmark_model –graph=/data/Models/ — Enable_op_profiling=true –use_xnnpack=true –num_threads=4 –max_secs=300 –profiling_output_csv_file=/ข้อมูล/การทำโปรไฟล์/”
  • ตัวแทน GPU
    $ adb เชลล์ “benchmark_model –graph=/data/Models/ — Enable_op_profiling=true –use_gpu=true –num_runs=100 –warmup_runs=10 — max_secs=300 –profiling_output_csv_file=/ข้อมูล/การทำโปรไฟล์/”
  • ผู้รับมอบสิทธิ์ภายนอก
    GPU ตัวแทนภายนอกของ QNN:
    รันการอนุมานด้วยโมเดลจุดลอยตัว:
    $ adb คำสั่งเชลล์ “benchmark_model –graph=/data/Models/ .tflite –external_delegate_path=libQnnTFLiteDelegate.so — external_delegate_options='backend_type:gpu;library_path:/usr/lib/ libQnnGpu.so;skel_library_dir:/usr/lib/rfsa /adsp'”
    HTP ผู้รับมอบสิทธิ์ภายนอกของ QNN:
    เรียกใช้การอนุมานด้วยโมเดลเชิงปริมาณ:
    $ adb คำสั่งเชลล์ “benchmark_model –graph=/data/Models/ .tflite –external_delegate_path=libQnnTFLiteDelegate.so — external_delegate_options='backend_type:htp;library_path:/usr/lib/ libQnnHtp.so;skel_library_dir:/usr/lib/rfsa /adsp'”

เครื่องมือที่แม่นยำ

Qualcomm TFLite SDK มอบเครื่องมือที่แม่นยำในการคำนวณความแม่นยำของโมเดลที่มีรันไทม์ต่างๆ

  • การจำแนกประเภทด้วยตัวแทน GPU
    ขั้นตอนในการดาวน์โหลดสิ่งที่จำเป็น fileสามารถดูการทดสอบได้ที่: “/mnt/tflite/src/tensorflow/tensorflow/lite/tools/evaling/tasks/ imagenet_image_classificatio/README.md”
    ไบนารีสำหรับการเรียกใช้เครื่องมือนี้เป็นส่วนหนึ่งของ SDK แล้ว ดังนั้นนักพัฒนาจึงไม่จำเป็นต้องสร้างมันขึ้นมาใหม่
    $ adb เชลล์ “image_classify_run_eval — model_file=/data/Models/ –ground_truth_images_path=/data/ — ground_truth_labels=/data/ –model_output_labels=/ data/ –delegate=gpu”
  • การตรวจจับวัตถุด้วยแพ็ค XNN
    $ adb เชลล์ “inf_diff_run_eval –model_file=/data/Models/ –delegate=xnnpac

ข้อมูลทางกฎหมาย

การเข้าถึงและการใช้เอกสารนี้ของคุณ พร้อมด้วยข้อกำหนดใดๆ บอร์ดอ้างอิง fileภาพวาด การวินิจฉัย และข้อมูลอื่น ๆ ที่มีอยู่ในที่นี้ (เรียกรวมกันว่าสิ่งนี้ “เอกสารประกอบ”) อยู่ภายใต้ของคุณ (รวมถึงบริษัทหรือนิติบุคคลอื่น ๆ ที่คุณเป็นตัวแทนโดยรวม “คุณ” หรือ “ของคุณ”) การยอมรับข้อกำหนดและเงื่อนไข ("ข้อกำหนดการใช้งาน") ที่กำหนดไว้ด้านล่าง หากคุณไม่ยอมรับข้อกำหนดการใช้งานเหล่านี้ คุณจะไม่สามารถใช้เอกสารนี้และจะต้องทำลายสำเนาใด ๆ ของเอกสารดังกล่าวทันที

  1. ประกาศทางกฎหมาย
    เอกสารนี้จัดทำขึ้นเพื่อการใช้งานภายในของคุณกับผลิตภัณฑ์และบริการของ Qualcomm Technologies, Inc. (“Qualcomm Technologies”) และบริษัทในเครือที่อธิบายไว้ในเอกสารนี้เท่านั้น และจะไม่นำไปใช้เพื่อวัตถุประสงค์อื่นใด เอกสารนี้ไม่สามารถเปลี่ยนแปลง แก้ไข หรือดัดแปลงในทางใดๆ โดยไม่ได้รับอนุมัติเป็นลายลักษณ์อักษรล่วงหน้าจาก Qualcomm Technologies การใช้หรือการเปิดเผยสิ่งนี้โดยไม่ได้รับอนุญาต
    ห้ามมิให้จัดทำเอกสารหรือข้อมูลที่มีอยู่ในที่นี้โดยเด็ดขาด และคุณตกลงที่จะชดใช้ค่าเสียหายให้กับ Qualcomm Technologies บริษัทในเครือ และผู้อนุญาตสำหรับความเสียหายหรือความสูญเสียใดๆ ที่ได้รับจาก Qualcomm Technologies บริษัทในเครือ และผู้อนุญาตสำหรับการใช้หรือการเปิดเผยเอกสารนี้โดยไม่ได้รับอนุญาต ทั้งหมดหรือ ส่วนหนึ่ง. Qualcomm Technologies บริษัทในเครือ และผู้อนุญาตสงวนสิทธิ์และความเป็นเจ้าของทั้งหมดในและต่อเอกสารนี้ ไม่มีการอนุญาตสำหรับเครื่องหมายการค้า สิทธิบัตร ลิขสิทธิ์ สิทธิ์ในการคุ้มครองงานหน้ากาก หรือสิทธิ์ในทรัพย์สินทางปัญญาอื่นใดที่ได้รับการอนุญาตหรือบอกเป็นนัยโดยเอกสารนี้หรือข้อมูลใด ๆ ที่เปิดเผยในที่นี้ ซึ่งรวมถึงแต่ไม่จำกัดเพียงการอนุญาตใด ๆ ในการผลิต ใช้ นำเข้า หรือ ขายผลิตภัณฑ์ บริการ หรือเทคโนโลยีที่นำเสนอข้อมูลที่รวบรวมไว้ในเอกสารนี้
    เอกสารนี้จัดทำขึ้น "ตามที่เป็น" โดยไม่มีการรับประกันใดๆ ไม่ว่าจะโดยชัดแจ้ง โดยนัย ตามกฎหมายหรืออย่างอื่น ในขอบเขตสูงสุดที่กฎหมายอนุญาต เทคโนโลยี QUALCOMM บริษัทในเครือ และผู้อนุญาต ขอปฏิเสธการรับประกันทั้งหมดเกี่ยวกับกรรมสิทธิ์ ความสามารถในการค้าขาย การไม่ละเมิด ความเหมาะสมสำหรับวัตถุประสงค์เฉพาะ คุณภาพที่น่าพอใจ ความสมบูรณ์หรือความถูกต้อง และการรับประกันทั้งหมดที่เกิดขึ้น ออกจากการใช้งานทางการค้าหรือ นอกหลักสูตรของข้อตกลงหรือหลักสูตรการปฏิบัติงาน ยิ่งไปกว่านั้น ทั้งเทคโนโลยี QUALCOMM หรือบริษัทในเครือหรือผู้อนุญาตใดๆ จะไม่รับผิดชอบต่อคุณหรือบุคคลที่สามใดๆ สำหรับค่าใช้จ่าย การสูญเสีย การใช้งาน หรือการกระทำใดๆ ที่เกิดขึ้นหรือดำเนินการโดยคุณโดยอาศัยเอกสารนี้
    ชุดผลิตภัณฑ์ เครื่องมือ และวัสดุบางอย่างที่อ้างอิงในเอกสารนี้อาจกำหนดให้คุณต้องยอมรับข้อกำหนดและเงื่อนไขเพิ่มเติมก่อนที่จะเข้าถึงหรือใช้รายการเหล่านั้น
    ข้อมูลทางเทคนิคที่ระบุในเอกสารนี้อาจอยู่ภายใต้กฎหมายควบคุมการส่งออกของสหรัฐอเมริกาและกฎหมายอื่นๆ ที่บังคับใช้ ห้ามส่งข้อมูลที่ขัดต่อสหรัฐอเมริกาและกฎหมายอื่นใดที่บังคับใช้โดยเด็ดขาด
    ไม่มีสิ่งใดในเอกสารนี้ที่เป็นการเสนอขายส่วนประกอบหรืออุปกรณ์ใดๆ ที่อ้างถึงในที่นี้
    เอกสารนี้อาจมีการเปลี่ยนแปลงได้โดยไม่ต้องแจ้งให้ทราบเพิ่มเติม ในกรณีที่มีข้อขัดแย้งระหว่างข้อกำหนดการใช้งานเหล่านี้กับ Webข้อกำหนดการใช้งานของไซต์บน www.ควอลคอมม์.คอม หรือนโยบายความเป็นส่วนตัวของ Qualcomm ที่อ้างอิงถึง www.ควอลคอมม์.คอมข้อกำหนดการใช้งานเหล่านี้จะควบคุม ในกรณีที่มีข้อขัดแย้งระหว่างข้อกำหนดการใช้งานเหล่านี้กับข้อตกลงอื่นใด (เป็นลายลักษณ์อักษรหรือคลิกผ่าน) ที่ดำเนินการโดยคุณและ Qualcomm Technologies หรือบริษัทในเครือของ Qualcomm Technologies ที่เกี่ยวข้องกับการเข้าถึงและการใช้เอกสารนี้ของคุณ ข้อตกลงอื่นจะควบคุม .
    ข้อกำหนดการใช้งานเหล่านี้อยู่ภายใต้และตีความและบังคับใช้ตามกฎหมายของรัฐแคลิฟอร์เนีย ยกเว้นอนุสัญญาสหประชาชาติว่าด้วยการขายสินค้าระหว่างประเทศ โดยไม่คำนึงถึงหลักกฎหมายขัดกัน ข้อพิพาท การเรียกร้อง หรือข้อโต้แย้งใด ๆ ที่เกิดขึ้นจากหรือเกี่ยวข้องกับข้อกำหนดการใช้งานเหล่านี้ หรือการละเมิดหรือความถูกต้องของข้อตกลงนี้ จะถูกตัดสินโดยศาลที่มีเขตอำนาจศาลที่มีอำนาจในเขตซานดิเอโก รัฐแคลิฟอร์เนียเท่านั้น และคุณยินยอมในที่นี้ เขตอำนาจศาลส่วนบุคคลของศาลดังกล่าวเพื่อจุดประสงค์นั้น
  2. คำชี้แจงเกี่ยวกับเครื่องหมายการค้าและการระบุแหล่งที่มาของผลิตภัณฑ์
    Qualcomm เป็นเครื่องหมายการค้าหรือเครื่องหมายการค้าจดทะเบียนของ Qualcomm Incorporated Arm เป็นเครื่องหมายการค้าจดทะเบียนของ Arm Limited (หรือบริษัทในเครือ) ในสหรัฐอเมริกาและ/หรือที่อื่น ๆ เครื่องหมายคำว่า Bluetooth® เป็นเครื่องหมายการค้าจดทะเบียนของ Bluetooth SIG, Inc. ชื่อผลิตภัณฑ์และแบรนด์อื่นๆ ที่อ้างอิงในเอกสารนี้อาจเป็นเครื่องหมายการค้าหรือเครื่องหมายการค้าจดทะเบียนของเจ้าของที่เกี่ยวข้อง
    ผลิตภัณฑ์ภายใต้แบรนด์ Snapdragon และ Qualcomm ที่อ้างอิงในเอกสารนี้เป็นผลิตภัณฑ์ของ Qualcomm Technologies, Inc. และ/หรือบริษัทในเครือ เทคโนโลยีที่ได้รับการจดสิทธิบัตรของ Qualcomm ได้รับอนุญาตจาก Qualcomm Incorporated

โลโก้บริษัท

เอกสาร / แหล่งข้อมูล

ซอฟต์แวร์ Qualcomm TensorFlow Lite SDK [พีดีเอฟ] คู่มือการใช้งาน
ซอฟต์แวร์ TensorFlow Lite SDK, ซอฟต์แวร์ Lite SDK, ซอฟต์แวร์ SDK, ซอฟต์แวร์

อ้างอิง

ฝากความคิดเห็น

ที่อยู่อีเมลของคุณจะไม่ถูกเผยแพร่ ช่องที่ต้องกรอกข้อมูลมีเครื่องหมาย *