როგორ ჯდება ერთმანეთში RK3588 NPU პროგრამული დასტა

Rockchip-ის RKNN პროგრამული დასტა განასხვავებს მოდელის მომზადებას მოწყობილობაზე შესრულებას. RKNN-Toolkit2 გთავაზობთ კონვერტაციისა და შეფასების ინსტრუმენტებს. RKNN-Toolkit-Lite2 აწვდის პითონის ინტერფეისს მხარდაჭერილ სამიზნე პლატფორმებზე, ხოლო RKNN Runtime აწვდის C/C++ ინტერფეისებს. ბირთვის დრაივერი აკავშირებს გაშვების დროს NPU-თან. შეამოწმეთ ამ კომპონენტების თავსებადობა თქვენი მოდულისთვის მიწოდებულ დაფის მხარდაჭერის პაკეტთან.

სასარგებლო განლაგების ჩანაწერი განსაზღვრავს დაფას და SoM რევიზიას, Linux სურათს, დრაივერს, გაშვების დროს, კონვერტაციის ხელსაწყოს ვერსიას, ორიგინალურ მოდელს და კონვერტირებულ მოდელს. შეინახეთ build სკრიპტის და წინასწარი დამუშავების პარამეტრები მოდელის არტეფაქტის გვერდით. ფაილის სახელი, როგორიცაა detector.rknn მარტო ვერ ახსნის, რატომ იქცევა ერთი განლაგება მეორისგან განსხვავებულად.

მოამზადესაცნობარო მოდელი, შეყვანები და მოსალოდნელი შედეგები
კონვერტაციასამიზნე კონფიგურაცია და სიზუსტის შემოწმება
განლაგებაგაშვების დრო, აპლიკაცია და მდგრადი ტესტირება

ნაბიჯი 1: დააწესეთ მითითება კონვერტაციამდე

გაუშვით ორიგინალური მოდელი წარმომადგენლობითი ვალიდაციის კომპლექტზე. შეინახეთ ნედლეული შედეგები და აპლიკაციის მეტრიკა, რომელიც მნიშვნელოვანია: კლასიფიკაციის სიზუსტე, გამოვლენის ხარისხი ან დავალების სპეციფიკური სხვა ზომა. დეტექტორისთვის შეინახეთ ეტიკეტების შეკვეთა, ნდობის ზღურბლები და შემდგომი დამუშავების პარამეტრები. ეს ხდება კონვერტირებული მოდელის შედარების წერტილი.

ჩაწერეთ შეყვანის მთლიანი კონტრაქტი. ჩართეთ ზომები, სერიის ზომა, RGB ან BGR შეკვეთა, განლაგება, რიცხვითი დიაპაზონი, ნორმალიზება, ზომის შეცვლა და შიგთავსი. სწორ მოდელს შეუძლია ცუდი შედეგი გამოიღოს, თუ განაცხადის წერილების ყუთები სურათს ვარჯიშისგან განსხვავებულად მოათავსებს ან ორჯერ გამოაკლებს ოფსეტს. გააგრძელეთ შემდგომი დამუშავება ქსელის გარეთ, ისევე ფრთხილად.

გამოიყენეთ Rockchip-ები RKNN მოდელის ზოოპარკი როგორც ამოსავალი წერტილი, როდესაც იგი მოიცავს შესატყვის მოდელს და სამიზნეს. მისი კონვერტაციისა და დასკვნის მაგალითები უფრო სასარგებლოა, ვიდრე ვივარაუდოთ, რომ ნებისმიერი ექსპორტირებული ქსელი იმუშავებს უცვლელად. აირჩიეთ საცავის ცნობილი რევიზია და მიჰყევით ამ კონკრეტული მაგალითის მითითებებს.

ნაბიჯი 2: გადააკეთეთ მოდელი და შეამოწმეთ ოპერატორის მხარდაჭერა

  1. დაემთხვა მიზანს. აირჩიეთ RK3588 სამიზნე და ხელსაწყოების ჯაჭვი, რომელიც თავსებადია დაფის დანიშნულების სურათთან.
  2. შეამოწმეთ გრაფიკი. დაადასტურეთ ფორმები, წინასწარი დამუშავება, შედეგები და მხარდაჭერა ექსპორტირებულ მოდელში რეალური ოპერაციებისთვის.
  3. შექმენით საცნობარო კონვერტაცია. გამოიყენეთ სიზუსტის პარამეტრები, რომლებიც მხარდაჭერილია ამ გრაფიკისა და პროგრამული უზრუნველყოფის ვერსიით.
  4. წაიკითხეთ სრული build ჟურნალი. მოაგვარეთ წარუმატებლობები და გამოიკვლიეთ გაფრთხილებები კამერის შეძენის ან მომხმარებლის ინტერფეისის დამატებამდე.
  5. შეადარეთ შედეგები. გაუშვით იგივე შეყვანები ორიგინალური და კონვერტირებული მოდელების მეშვეობით, იგივე შემდგომი დამუშავებით.

მხარდაჭერილმა ოპერაციამ შეიძლება მოითხოვოს სხვა ექსპორტი, გრაფიკის გადაწერა ან CPU დამუშავების აშკარა ეტაპი. არ იფიქროთ, რომ გაშვების დრო გამჭვირვალედ შეასრულებს ყველა მხარდაჭერილ ფენას. თუ დატვირთვის ნაწილი გადადის CPU-ზე, ჩართეთ გადარიცხვები და სინქრონიზაცია შესრულების გაზომვაში.

ნაბიჯი 3: შეაფასეთ INT8 თქვენი სიზუსტის მოთხოვნის შესაბამისად

კვანტიზაცია ცვლის რიცხვით წარმოდგენას. როდესაც არჩეული კონვერტაციის ნაკადი იყენებს კალიბრაციის მონაცემებს, აირჩიეთ განლაგების წარმომადგენლობა: განათება, ობიექტის ზომა, ფონი და სამუშაო პირობები. შეინახეთ ცალკე ვალიდაციის ნაკრები შედეგის შესაფასებლად. წარმატებით დასრულებული კონვერტაცია ჯერ კიდევ საჭიროებს სიზუსტის შემოწმებას.

შეადარეთ განაცხადის გამომავალი, არა მხოლოდ განსხვავება ორ ტენსორს შორის. მაგალითად, მცირე ციფრულ ცვლილებას შეუძლია აღმოჩენის გადატანა ნდობის ზღურბლზე. შეამოწმეთ რთული შემთხვევები, კლასები რამდენიმე მაგალითით და პირობებით, სადაც ორიგინალური მოდელი უკვე მარგინალური იყო. თუ სიზუსტე დაშვების ლიმიტს ქვემოთ ეცემა, აპარატურის შეცვლამდე გადახედეთ კალიბრაციის დაფარვას და წინასწარ დამუშავებას.

The ONNX გაშვების კვანტიზაციის დოკუმენტაცია არის სასარგებლო ფონი ციფრული კომპრომისებისა და სიზუსტის კვლევის შესახებ. RKNN კონვერტაციის ვარიანტები და მხარდაჭერილი სიზუსტე მაინც უნდა შემოწმდეს Rockchip-ის საკუთარ დოკუმენტაციაში არჩეული გამოშვებისთვის.

ნაბიჯი 4: გაზომეთ მეტი დასკვნის დრო

გაზომეთ განლაგებული დატვირთვა გახურების შემდეგ და ისევ მდგრადი სირბილის დროს. ჩაწერეთ ტემპერატურა, დენის რეჟიმი, თანმხლები პროცესები და დანართი ან გაგრილების მოწყობა. სასარგებლო შედეგი არის გამეორებადი შესრულების კონვერტი, სიზუსტისა და დაყოვნების ჩათვლით, იმ პირობებში, რომელშიც პროდუქტი იმუშავებს.

გაზომვარას პასუხობსრა ჩაიწეროს
მოდელის შესრულების ხანგრძლივობარამდენი დრო სჭირდება ამ ზარს?შეყვანის ფორმა, სიზუსტე, დროის საზღვრები და გაშვების ვერსია
ბოლო-ბოლო შეყოვნებარამდენი წლისაა დაკვირვება შედეგის მიტანისას?გადაღების დრო, წინასწარი დამუშავება, რიგი, დასკვნა და გამომავალი დრო
მდგრადი გამტარუნარიანობარამდენი დასრულებული შედეგია მიწოდებული დროთა განმავლობაში?გაშვების ხანგრძლივობა, დასრულებული მოთხოვნები და გამოტოვებული ან გამოტოვებული შენატანები
განაცხადის სიზუსტეაკმაყოფილებს თუ არა განლაგებული მოდელი დავალების მოთხოვნას?ვალიდაციის ნაკრები, დავალების მეტრიკა და გადაწყვეტილების ზღვრები
თერმული ქცევაარის თუ არა შედეგი სტაბილური სისტემის გახურების შემდეგ?ატმოსფერული პირობები, გაგრილება, ტემპერატურა და საათები, სადაც შესაძლებელია

როგორც საილუსტრაციო ბიუჯეტი, აპლიკაცია, რომელიც იღებს ახალ კადრს ყოველ 40 ms-ში, უნდა დაემორჩილოს 25 კადრებს წამში, თუ ის ამუშავებს თითოეულ კადრს. 12 ms დასკვნის გაზომვა დატოვებს ამ ბიუჯეტის დანარჩენ ნაწილს შეძენის, მომზადებისა და მიწოდებისთვის მხოლოდ სათანადო დაგეგმილ დიზაინში. ის არ ადასტურებს 12 ms კამერის შედეგამდე დაყოვნებას. ეს რიცხვები არის დაგეგმვის მაგალითი და არ არის გაზომილი ForgeEdge შესრულება.

გამოიყენეთ მონოტონური საათი პროგრამული უზრუნველყოფის ხანგრძლივობისთვის. შეატყობინეთ მედიანური და კუდის შეყოვნება, ვიდრე ერთი საუკეთესო დაკვირვება და შეინახეთ ნედლეული გაზომვები. რამდენიმე კამერისთვის, გაითვალისწინეთ ყველა აქტიური ნაკადის დატვირთვა, მათ შორის დეკოდირება, სურათის კონვერტაცია, მეხსიერების მოძრაობა და ჩაწერა. რიგი, რომელიც იზრდება მთელი ტესტის განმავლობაში, მიუთითებს იმაზე, რომ საშუალო სიმძლავრე დაბალია შემომავალ დატვირთვაზე.

განლაგების საერთო სიმპტომები

სიმპტომიპირველი გამოძიება
სწორი მოდელი, არასწორი ეტიკეტები ან ყუთებიფერების შეკვეთა, ნორმალიზება, ზომის შეცვლა/შეფუთვა, გამომავალი განლაგება და შემდგომი დამუშავება
კონვერტირებულ მოდელს ინიციალიზაცია შეუძლებელიასამიზნე შერჩევა, გაშვების/დრაივერის თავსებადობა და მოდელის არტეფაქტის მთლიანობა
კარგი მოკლე საორიენტაციო ნიშანი, ცუდი მდგრადი შესრულებატემპერატურა, დენის რეჟიმი, მეხსიერების წნევა და კონკურენტული სამუშაო
მისაღები დასკვნის დრო, შესამჩნევად დაგვიანებული შედეგებიგადაიღეთ ბუფერირება, რიგის ასაკი, ასლები და გამომავალი დაგეგმვა
INT8 გამომავალი კარგავს სასარგებლო აღმოჩენებსკალიბრაციის გაშუქება, წინასწარი დამუშავების ეკვივალენტობა და დავალების დონის ვალიდაცია

გადააქციეთ პროტოტიპი განმეორებად პროდუქტად

შეფუთეთ მოდელი, გაშვების დრო და აპლიკაციის კონფიგურაცია, როგორც კონტროლირებადი გამოშვება. განსაზღვრეთ გაშვების შემოწმებები, წარუმატებლობის მოხსენება, აღდგენა და დაბრუნების გზა. შეინახეთ მცირე მითითების შეყვანის ტესტი, რომელსაც შეუძლია დაადგინოს არასწორი განლაგება კამერის დაკავშირებამდე. გამოყავით ეს პროგრამული შემოწმება ფიზიკური სენსორის ტესტისგან, რომელიც ასევე ახორციელებს კაბელის, დრაივერების და ექსპოზიციის პარამეტრებს.

როდესაც დაფას სჭირდება სხვადასხვა კონექტორები, დენის კონდიცირება ან სენსორის ინტერფეისები, გადახედეთ SoM წინააღმდეგ SBC გადაწყვეტილება და გადამზიდი დაფის დიზაინის პროცესი. ეს გადაწყვეტილებები განსაზღვრავს, თუ როგორ ხდება წარმატებული მოდელის დემონსტრირება შენარჩუნებულ სისტემად.

RK3588 NPU განლაგების კითხვები

შეუძლია თუ არა ყველა ONNX მოდელის გაშვება RK3588 NPU-ზე?

თავსებადობა დამოკიდებულია რეალურ გრაფიკზე, ფორმებზე, ოპერაციებზე და არჩეულ ინსტრუმენტთა ჯაჭვზე. ჩამოაყალიბეთ მხარდაჭერა იმ მოდელის კონვერტაციისა და მოწყობილობაზე ვალიდაციის გზით, რომლის გაგზავნას აპირებთ.

რეკლამირებული ამაჩქარებლის რეიტინგი პროგნოზირებს FPS აპლიკაციას?

არა. ქსელი, სიზუსტე, მეხსიერების ქცევა, წინასწარი დამუშავება და გაშვების დრო განსაზღვრავს აპლიკაციის გაზომილ გამტარუნარიანობას. გამოიყენეთ სამიზნე დატვირთვა და მისი სრული მონაცემთა გზა პლატფორმების შედარებისას.

ჯერ უნდა გავაუმჯობესო ნერვული ქსელი?

ჯერ პროფილი. თუ შეძენა, სურათის კონვერტაცია ან რიგი დომინირებს, მოდელის შესრულების დროის შემცირებამ შეიძლება მცირე გავლენა იქონიოს აპლიკაციის მიერ გამოცდილ შედეგის ასაკზე.

შეაფასეთ კომპიუტერული ხედვის სრული დავალება

ობიექტების აღმოჩენის აპლიკაციისთვის, გაზომეთ კამერის გადაღება, ზომის შეცვლა და ნორმალიზაცია, NPU დასკვნა, გამომავალი დეკოდირება და გადაწყვეტილების მიწოდება. მოახსენეთ მოდელის ვერსია, შეყვანის გარჩევადობა, სიზუსტე, ნდობის ზღვარი და შეფასების მონაცემთა ნაკრები დროის შედეგით. წინააღმდეგ შემთხვევაში, ორი აშკარად მსგავსი edge AI ნიშნული შეიძლება აღწერდეს სხვადასხვა ამოცანებს.

შეამოწმეთ ექსპორტირებული გრაფიკი და საჭირო ოპერატორები არჩეული RKNN ხელსაწყოების ჯაჭვის მეშვეობით მოდელის არქიტექტურაზე ჩართვამდე. შეამოწმეთ სიზუსტე კვანტიზაციის შემდეგ და ქცევა მდგრადი შესრულების დროს, არა მხოლოდ წარმატებულია თუ არა კონვერტაცია. ობიექტების აღმოჩენას, სეგმენტაციას და კლასიფიკაციას აქვს სხვადასხვა გამომავალი დამუშავების ხარჯები; დაადასტურეთ პროექტისთვის არჩეული ფაქტობრივი დატვირთვა.

შეადარეთ FPGA, NPU და MPU დიზაინის როლები

ტექნიკური ცნობები

გააფართოვეთ თქვენი edge AI დატვირთვა.

გააზიარეთ მოდელი, შეყვანის გარჩევადობა, კამერის ინტერფეისები, საჭირო შედეგის მაჩვენებელი და სიმძლავრის კონვერტი. ჩვენ შეგვიძლია შევაფასოთ ინტეგრაციის სამუშაოები RK3588-ზე დაფუძნებული ზღვრული პლატფორმის გარშემო.