ดีท็อกซ์: กรอบการทดสอบแบบ end-to-end แบบกล่องสีเทาสำหรับแอปบนมือถือ
Detox เป็นเฟรมเวิร์กการทดสอบแบบโอเพ่นซอร์สแบบ end-to-end ที่ออกแบบมาโดยเฉพาะสำหรับแอปพลิเคชัน React Native โดยนำเสนอโซลูชันที่แข็งแกร่งและเชื่อถือได้สำหรับการทดสอบแอปบนอุปกรณ์เคลื่อนที่ของคุณโดยอัตโนมัติ เพื่อให้มั่นใจว่าผู้ใช้จะได้รับประสบการณ์คุณภาพสูง
การทดสอบดีท็อกซ์มีลักษณะอย่างไร?
`จาวาสคริปต์
อธิบาย('ขั้นตอนการเข้าสู่ระบบ', () => {
ก่อนแต่ละอัน (async () => {
รออุปกรณ์ reloadReactNative ();
-
it('ควรเข้าสู่ระบบสำเร็จ', async () => {
รอองค์ประกอบ (by.id ('อีเมล')).typeText ('[email protected]');
รอองค์ประกอบ (by.id ('รหัสผ่าน')).typeText ('123456');
const loginButton = องค์ประกอบ (by.text ('เข้าสู่ระบบ'));
รอ LoginButton.tap();
รอคาดหวัง (loginButton).not.toExist();
รอ คาดหวัง(องค์ประกอบ(by.label('ยินดีต้อนรับ'))).toBeVisible();
-
-
-
ข้อมูลโค้ดนี้สาธิตการทดสอบดีท็อกซ์อย่างง่ายสำหรับหน้าจอเข้าสู่ระบบ การทดสอบโต้ตอบกับแอปบนอุปกรณ์หรือเครื่องจำลองจริง โดยเลียนแบบการกระทำของผู้ใช้จริง
เริ่มต้นดีท็อกซ์ทันที!
เกี่ยวกับดีท็อกซ์
ดีท็อกซ์ช่วยให้ทีมพัฒนาอุปกรณ์เคลื่อนที่สามารถบรรลุผลได้อย่างรวดเร็วโดยอาศัยเวิร์กโฟลว์การบูรณาการอย่างต่อเนื่อง ช่วยลดความจำเป็นในการทดสอบ QA ด้วยตนเองอย่างกว้างขวางโดยมอบโซลูชันที่มีประสิทธิภาพสำหรับการทดสอบแบบอัตโนมัติตั้งแต่ต้นทางถึงปลายทาง
คุณสมบัติที่สำคัญ:
1. การโต้ตอบระหว่างอุปกรณ์/เครื่องจำลองจริง: ดีท็อกซ์ทดสอบแอปมือถือของคุณในขณะที่ทำงานบนอุปกรณ์หรือเครื่องจำลองจริง โดยโต้ตอบกับแอปเหมือนกับผู้ใช้จริง
2. การทดสอบกล่องสีเทา: ดีท็อกซ์ใช้วิธีการทดสอบกล่องสีเทา ซึ่งให้สภาพแวดล้อมการทดสอบที่แข็งแกร่งและเชื่อถือได้มากกว่าการทดสอบกล่องดำแบบดั้งเดิม
3. การบรรเทาความไม่แน่นอน: เมื่อเปลี่ยนไปใช้การทดสอบแบบกล่องสีเทา ดีท็อกซ์จะจัดการปัญหาความไม่แน่นอนโดยธรรมชาติซึ่งมักเกี่ยวข้องกับการทดสอบตั้งแต่ต้นทางถึงปลายทางได้โดยตรง
รองรับ React Native Versions
Detox ให้การสนับสนุนอย่างเป็นทางการสำหรับ React Native เวอร์ชัน 0.71.x, 0.72.x และ 0.73.x โดยไม่มี "สถาปัตยกรรมใหม่" ของ React Native แม้ว่าเวอร์ชันใหม่และ "สถาปัตยกรรมใหม่" อาจใช้ได้กับดีท็อกซ์ แต่ทีมดีท็อกซ์ยังไม่ได้รับการทดสอบอย่างสมบูรณ์
แม้ว่า Detox จะไม่รองรับ React Native เวอร์ชันเก่าอย่างเป็นทางการ แต่ทีมงานก็มุ่งมั่นที่จะรักษาความเข้ากันได้ หากคุณพบปัญหาใดๆ ในเวอร์ชันที่ไม่รองรับ โปรดเปิดปัญหาหรือติดต่อเซิร์ฟเวอร์ Detox Discord เพื่อขอความช่วยเหลือ
ปัญหาที่ทราบเกี่ยวกับ React Native
Detox ติดตามและแก้ไขปัญหาที่ทราบที่อาจเกิดขึ้นกับ React Native อย่างต่อเนื่อง คุณสามารถดูข้อมูลโดยละเอียดเกี่ยวกับปัญหาเหล่านี้และวิธีแก้ปัญหาได้จากเอกสารประกอบการดีท็อกซ์อย่างเป็นทางการ
เริ่มต้นการดีท็อกซ์
หากต้องการเริ่มใช้ Detox สำหรับแอป React Native ให้ปฏิบัติตามคู่มือเริ่มต้นใช้งานที่ครอบคลุมบนเว็บไซต์ Detox คู่มือนี้จะแนะนำคุณตลอดขั้นตอนการตั้งค่า เพื่อให้มั่นใจว่าคุณสามารถทำการดีท็อกซ์ได้ภายในไม่กี่นาที
เว็บไซต์เอกสาร
สำรวจเอกสาร Detox ฉบับสมบูรณ์ รวมถึงคำแนะนำเชิงลึก ข้อมูลอ้างอิง API และเคล็ดลับการแก้ปัญหา บนเว็บไซต์ Detox อย่างเป็นทางการ
หลักการสำคัญของดีท็อกซ์
ดีท็อกซ์ท้าทายหลักการทดสอบแบบ end-to-end แบบดั้งเดิม โดยใช้มุมมองใหม่เพื่อจัดการกับปัญหาโดยธรรมชาติของการทดสอบบนมือถือ เรียนรู้เกี่ยวกับหลักการเฉพาะเหล่านี้ได้จากเว็บไซต์ดีท็อกซ์
มีส่วนช่วยในการดีท็อกซ์
Detox เป็นโครงการโอเพ่นซอร์ส และการมีส่วนร่วมของคุณมีคุณค่าอย่างสูง สำรวจปัญหาที่ติดแท็กด้วยป้ายกำกับ "ต้องการความช่วยเหลือ" บนพื้นที่เก็บข้อมูล Detox เพื่อค้นหาส่วนที่ทักษะของคุณสามารถสร้างความแตกต่างได้
หากคุณพบจุดบกพร่องหรือมีข้อเสนอแนะคุณสมบัติใหม่ ให้เปิดปัญหาในพื้นที่เก็บข้อมูล Detox หากต้องการเจาะลึกแก่นแท้ของการดีท็อกซ์และมีส่วนร่วมในการพัฒนา โปรดดูคู่มือการมีส่วนร่วมในการดีท็อกซ์
ใบอนุญาต
Detox ได้รับการเผยแพร่ภายใต้ลิขสิทธิ์ Apache-2.0
กรอบการตรวจจับวัตถุ Darknet และ YOLO
Downcodes小编 นำเสนอการสำรวจเฟรมเวิร์กการตรวจจับวัตถุ Darknet อันทรงพลังอย่างลึกซึ้งและอัลกอริทึม YOLO (คุณดูเพียงครั้งเดียว) ที่ได้รับการยกย่อง คู่มือที่ครอบคลุมนี้จะเจาะลึกประเด็นสำคัญของระบบที่นำมาใช้อย่างแพร่หลายนี้ ซึ่งช่วยให้คุณควบคุมความสามารถของระบบสำหรับงานตรวจจับวัตถุต่างๆ
เริ่มกันเลย!
Darknet: กรอบการทำงาน
Darknet เป็นเฟรมเวิร์กโครงข่ายประสาทเทียมแบบโอเพ่นซอร์สที่เขียนด้วยภาษา C, C++ และ CUDA โดยนำเสนอประสิทธิภาพและความยืดหยุ่นสูง ทำให้เป็นตัวเลือกยอดนิยมสำหรับนักวิจัยและนักพัฒนาที่ทำงานเกี่ยวกับการตรวจจับวัตถุและงานคอมพิวเตอร์วิทัศน์อื่นๆ
YOLO: อัลกอริทึม
YOLO (คุณดูเพียงครั้งเดียว) เป็นอัลกอริธึมการตรวจจับวัตถุแบบเรียลไทม์ที่ทำงานภายในกรอบงาน Darknet แนวทางที่เป็นนวัตกรรมช่วยให้สามารถประมวลผลภาพได้ในรอบเดียว ทำให้สามารถตรวจจับวัตถุได้อย่างรวดเร็วและแม่นยำ
การสนับสนุนของ Hank.ai สำหรับ Darknet/YOLO
Hank.ai บริษัท AI ชั้นนำ มีบทบาทสำคัญในการสนับสนุนชุมชน Darknet/YOLO เพื่อให้มั่นใจว่ามีการพัฒนาและการเข้าถึงอย่างต่อเนื่อง
ประกาศ Darknet V3 "Jazz"
Darknet เวอร์ชัน 3.x รุ่นล่าสุดซึ่งมีชื่อว่า "Jazz" นำเสนอการปรับปรุงและการปรับปรุงมากมาย รวมถึง:
ประสิทธิภาพที่ได้รับการปรับปรุง: Darknet V3 มีประสิทธิภาพเพิ่มขึ้นอย่างน่าประทับใจ ทำให้สามารถประมวลผลภาพและวิดีโอในอัตราที่เร็วยิ่งขึ้น
API ใหม่: การเปิดตัว C และ C++ API ใหม่ช่วยลดความยุ่งยากในการรวม Darknet เข้ากับแอปพลิเคชันของคุณ
ตัวอย่างเพิ่มเติม: การรวมโค้ดตัวอย่างใหม่และแอปพลิเคชันภายในไดเร็กทอรี src-examples ช่วยเพิ่มโอกาสในการเรียนรู้แบบลงมือปฏิบัติจริงมากขึ้น
ทรัพยากร Darknet/YOLO
เว็บไซต์อย่างเป็นทางการ: https://darknetcv.ai
คำถามที่พบบ่อย: ค้นหาคำตอบสำหรับคำถามทั่วไปและเรียนรู้เพิ่มเติมเกี่ยวกับ Darknet/YOLO
เซิร์ฟเวอร์ Discord: เข้าร่วมชุมชน Darknet/YOLO บน Discord เพื่อการสนทนา การสนับสนุน และการทำงานร่วมกัน
เอกสาร
YOLOv7: https://arxiv.org/abs/2207.02662
ปรับขนาด-YOLOv4: https://arxiv.org/abs/2102.05909
YOLOv4: https://arxiv.org/abs/2004.10934
YOLOv3: https://pjreddie.com/media/files/papers/YOLOv3.pdf
ข้อมูลทั่วไป
ความเร็วและความแม่นยำ: Darknet/YOLO มีประสิทธิภาพเหนือกว่าเฟรมเวิร์กการตรวจจับวัตถุอื่นๆ อย่างต่อเนื่องในแง่ของความเร็วและความแม่นยำ
โอเพ่นซอร์ส: เฟรมเวิร์กและอัลกอริธึมที่เกี่ยวข้องนั้นเป็นโอเพ่นซอร์สโดยสมบูรณ์ ช่วยให้ใช้งานและปรับแต่งได้ฟรี
รองรับข้ามแพลตฟอร์ม: Darknet/YOLO ทำงานได้อย่างราบรื่นบนแพลตฟอร์มต่าง ๆ รวมถึง Linux, Windows และ macOS
เวอร์ชันดาร์กเน็ต
โปรเจ็กต์ Darknet ได้รับการทำซ้ำหลายครั้ง โดยแต่ละเวอร์ชันจะนำเสนอคุณสมบัติและการปรับแต่งใหม่ๆ
เวอร์ชัน 0.x: เครื่องมือ Darknet ดั้งเดิมที่พัฒนาโดย Joseph Redmon
เวอร์ชัน 1.x: ดูแลโดย Alexey Bochkovskiy
เวอร์ชัน 2.x "OAK": สนับสนุนโดย Hank.ai และดูแลโดย Stéphane Charette
เวอร์ชัน 3.x "JAZZ": เวอร์ชันล่าสุด นำเสนอ API ที่ครอบคลุมและการปรับปรุงประสิทธิภาพ
MSCOCO ตุ้มน้ำหนักที่ผ่านการฝึกอบรมล่วงหน้า
เพื่อเริ่มต้นอย่างรวดเร็ว Darknet/YOLO เสนอตุ้มน้ำหนักที่ได้รับการฝึกล่วงหน้าสำหรับ YOLO เวอร์ชันต่างๆ ที่ได้รับการฝึกบนชุดข้อมูล MSCOCO ยอดนิยม ซึ่งรวมถึงคลาสอ็อบเจ็กต์ทั่วไป 80 คลาส
ตุ้มน้ำหนักที่ผ่านการฝึกอบรมล่วงหน้าสำหรับ:
1. โยโลฟ2
2. โยโลv3
3. โยโลv4
4. โยโลฟ7
ตุ้มน้ำหนักที่ได้รับการฝึกล่วงหน้าเหล่านี้พร้อมให้ดาวน์โหลดแล้วบนพื้นที่เก็บข้อมูล Darknet
ตัวอย่างการใช้งาน:
`ทุบตี
ดาวน์โหลดตุ้มน้ำหนักที่ฝึกไว้ล่วงหน้า (YOLOv4-tiny)
wget --no-clobber https://github.com/hank-ai/darknet/releases/download/v2.0/yolov4-tiny.weights
เรียกใช้การตรวจจับวัตถุบนรูปภาพ
darknet02displayannotatedimages coco.names yolov4-tiny.cfg yolov4-tiny.weights image1.jpg
เรียกใช้การตรวจจับวัตถุในวิดีโอ
darknet03display_videos coco.names yolov4-tiny.cfg yolov4-tiny.weights video1.avi
-
การสร้าง Darknet
Darknet ต้องการ C++17 หรือใหม่กว่า OpenCV และใช้ CMake สำหรับการสร้าง
ตัวเลือกอาคาร:
1. Google Colab: ใช้คำแนะนำเดียวกันกับ Linux
2. วิธีลินุกซ์ CMake:
* ข้อกำหนดเบื้องต้น:
* build-essential, git, libopencv-dev, cmake (ติดตั้งโดยใช้ตัวจัดการแพ็คเกจของการแจกจ่ายของคุณ)
* CUDA (อุปกรณ์เสริม): สำหรับการเร่งความเร็ว GPU ดาวน์โหลดและติดตั้งจาก https://developer.nvidia.com/cuda-downloads
* cuDNN (เป็นทางเลือก): ดาวน์โหลดและติดตั้งจาก https://developer.nvidia.com/rdp/cudnn-download หรือ https://docs.nvidia.com/deeplearning/cudnn/install-guide/index.html#cudnn- ภาพรวมการติดตั้งตัวจัดการแพ็คเกจ
* ขั้นตอนการสร้าง:
`ทุบตี
mkdir ~/srccd ~/src
โคลนคอมไพล์ https://github.com/hank-ai/darknet
ซีดีดาร์กเน็ต
สร้าง mkdir
สร้างซีดี
cmake -DCMAKEBUILDTYPE=ปล่อย ..
ทำแพ็คเกจ -j4
sudo dpkg -i darknet-VERSION.deb
-
3. วิธี Windows CMake:
* ข้อกำหนดเบื้องต้น:
* Git, CMake, NSIS, Visual Studio 2022 Community: ติดตั้งโดยใช้ winget
* Microsoft VCPKG: ติดตั้งเพื่อสร้าง OpenCV
* ขั้นตอนการสร้าง:
`ทุบตี
CDC:
mkdir c:src
ซีดี c:src
โคลนคอมไพล์ https://github.com/microsoft/vcpkg
ซีดี vcpkg
bootstrap-vcpkg.bat
.vcpkg.exe รวมการติดตั้ง
.vcpkg.exe รวม PowerShell
.vcpkg.exe ติดตั้ง opencv[contrib,dnn,freetype,jpeg,openmp,png,webp,world]:x64-windows
ซีดี ..
โคลนคอมไพล์ https://github.com/hank-ai/darknet.git
ซีดีดาร์กเน็ต
สร้าง mkdir
สร้างซีดี
cmake -DCMAKEBUILDTYPE=Release -DCMAKETOOLCHAINFILE=C:/src/vcpkg/scripts/buildsystems/vcpkg.cmake ..
msbuild.exe /property:Platform=x64;Configuration=Release /target:Build -maxCpuCount -verbosity:normal -detailedSummary darknet.sln
msbuild.exe /property:Platform=x64;Configuration=Release PACKAGE.vcxproj
-
การใช้ดาร์กเน็ต
CLI: Darknet มีอินเทอร์เฟซบรรทัดคำสั่งสำหรับงานต่างๆ รวมถึง:
* การตรวจจับวัตถุ: ตรวจจับวัตถุในรูปภาพและวิดีโอ
* การฝึกอบรม: ฝึกโมเดลการตรวจจับวัตถุแบบกำหนดเอง
* การประเมินประสิทธิภาพ: วัดความแม่นยำของแบบจำลองของคุณ
DarkHelp: DarkHelp เป็นทางเลือก CLI ที่แข็งแกร่งพร้อมคุณสมบัติเพิ่มเติม เช่น การติดตามวัตถุและการเรียงต่อกัน
ตัวอย่างคำสั่ง CLI:
`ทุบตี
ตรวจสอบเวอร์ชั่น Darknet
เวอร์ชันดาร์กเน็ต
เรียกใช้การตรวจจับวัตถุบนรูปภาพ
การทดสอบเครื่องตรวจจับ darknet cars.data cars.cfg cars_best.weights image1.jpg
ฝึกเครือข่ายใหม่
เครื่องตรวจจับ darknet -map -dont_show รถไฟanimals.dataanimals.cfg
-
การฝึกอบรม
DarkMark: เครื่องมือสำหรับใส่คำอธิบายประกอบรูปภาพ สร้างข้อมูลการฝึกอบรม และจัดการโปรเจ็กต์ Darknet/YOLO ของคุณ
การตั้งค่าด้วยตนเอง: เพื่อการควบคุมที่มากขึ้น คุณสามารถสร้างไฟล์ที่จำเป็นสำหรับการฝึกอบรมได้ด้วยตนเอง รวมถึง:
* ไฟล์การกำหนดค่า (.cfg): กำหนดสถาปัตยกรรมเครือข่ายและไฮเปอร์พารามิเตอร์
* ไฟล์ชื่อ (.names): แสดงรายการคลาสอ็อบเจ็กต์ที่คุณต้องการตรวจจับ
* ไฟล์ข้อมูล (.data): ระบุชุดข้อมูลการฝึกอบรมและการตรวจสอบความถูกต้อง
* ไฟล์คำอธิบายประกอบ (.txt): มีพิกัดกล่องขอบเขตสำหรับรูปภาพการฝึกของคุณ
ขั้นตอนสำหรับการฝึกด้วยตนเอง:
1. เตรียมข้อมูลการฝึกอบรม: ใส่คำอธิบายประกอบรูปภาพของคุณโดยใช้ DarkMark หรือเครื่องมือคำอธิบายประกอบอื่นๆ
2. สร้างไฟล์การกำหนดค่า: คัดลอกไฟล์การกำหนดค่าที่มีอยู่ (เช่น yolov4-tiny.cfg) และแก้ไขสำหรับชุดข้อมูลเฉพาะของคุณ
3. สร้างไฟล์ชื่อ: แสดงรายการคลาสอ็อบเจ็กต์ของคุณในไฟล์ข้อความ
4. สร้างไฟล์ข้อมูล: ระบุเส้นทางไปยังชุดข้อมูลการฝึกอบรมและการตรวจสอบของคุณ
5. ฝึกโมเดล:
`ทุบตี
เครื่องตรวจจับ darknet -map -dont_show รถไฟanimals.dataanimals.cfg
-
เครื่องมือและลิงค์อื่นๆ
DarkHelp: https://github.com/hank-ai/darkhelp
คำถามที่พบบ่อยเกี่ยวกับ Darknet/YOLO: https://darknetcv.ai/faq
ช่อง YouTube ของสเตฟาน: https://www.youtube.com/channel/UC3c1x727824J8oV8YfH57A
เซิร์ฟเวอร์ Discord ของ Darknet/YOLO: https://discord.gg/zSq8rtW
แผนการทำงาน
เป้าหมายระยะสั้น:
ปรับปรุงการแยกวิเคราะห์บรรทัดคำสั่งเพื่อประสบการณ์ผู้ใช้ที่ดียิ่งขึ้น
เพิ่มประสิทธิภาพโค้ดเพื่อประสิทธิภาพที่ดีขึ้น
ปรับปรุงความสอดคล้องของโค้ดและความสามารถในการอ่าน
เป้าหมายระยะกลาง:
แทนที่ char ด้วย std::string เพื่อความปลอดภัยของโค้ดที่ได้รับการปรับปรุง
ปรับการใช้ cv::Mat ให้เหมาะสมเพื่อการประมวลผลภาพที่มีประสิทธิภาพ
ขยายการรองรับรูปแบบและช่องสัญญาณภาพ
เป้าหมายระยะยาว:
เพิ่มการรองรับ GPU ที่ไม่ใช่ NVIDIA
แนะนำกล่องขอบเขตแบบหมุนและการรองรับมุม
ใช้จุดสำคัญ/โครงกระดูก และแผนที่ความร้อนเพื่อการตรวจจับวัตถุที่ซับซ้อนมากขึ้น
สำรวจความสามารถในการแบ่งส่วน
บทสรุป
Darknet และ YOLO ได้ปฏิวัติขอบเขตการตรวจจับวัตถุ โดยนำเสนอเฟรมเวิร์กที่ทรงพลังและยืดหยุ่นสำหรับนักวิจัย นักพัฒนา และผู้ที่สนใจ ด้วยการโอบรับธรรมชาติของโอเพ่นซอร์ส สำรวจทรัพยากรที่มีอยู่ และมีส่วนร่วมในชุมชนที่กระตือรือร้น คุณสามารถใช้ประโยชน์จาก Darknet/YOLO สำหรับแอปพลิเคชันนวัตกรรมที่หลากหลาย
Downcodes小编 หวังว่าคู่มือที่ครอบคลุมนี้จะช่วยให้คุณมีความเข้าใจที่มั่นคงเกี่ยวกับ Darknet และ YOLO ช่วยให้คุณสามารถเริ่มต้นการเดินทางของการตรวจจับวัตถุได้อย่างมั่นใจ!