Config Frigate NVR ให้ใช้งาน NVIDIA GPU ผ่าน ONNX

Config Frigate NVR ให้ใช้งาน NVIDIA GPU ผ่าน ONNX

ต่อจากบล็อกก่อนหน้า ติดตั้ง NVIDIA Quadro P600 บน Proxmox เพื่อใช้กับ Container (CT) และ ติดตั้ง NVIDIA Container Toolkit เพื่อใช้งาน GPU ผ่าน Docker บล็อกนี้จะต่อยอดเข้าสู่การ config detectors ของ Frigate NVR เพื่อดึงพลัง Nvidia GPU มาใช้งานจริง โดยในเวอร์ชันปัจจุบันของ Frigate v0.16.2 การใช้ Nvidia GPU จะต้องผ่าน ONNX เท่านั้น! หมายเหตุ: 👉 ต้องใช้ Docker image ที่ลงท้ายด้วย -tensorrt เท่านั้น ตัวอย่างไฟล์ docker-compose.yml โดยใช้ image 0.16.2-tensorrt และกำหนด resources สำหรับ GPU ผ่าน Docker services: frigate: container_name: frigate restart: unless-stopped stop_grace_period: 30s image: ghcr.io/blakeblackshear/frigate:0.16.2-tensorrt deploy: resources: reservations: devices: - driver: nvidia count: 1 capabilities: [gpu] shm_size: 64mb cap_add: - CAP_PERFMON volumes: - /etc/localtime:/etc/localtime:ro - ./config:/config - ./storage:/media/frigate - type: tmpfs target: /tmp/cache tmpfs: size: 1000000000 ports: - 5000:5000 environment: - TZ=Asia/Bangkok ตัวอย่างไฟล์ /config/config.yml ที่ตั้งค่าให้ Frigate ใช้ detector แบบ ONNX พร้อมกับ hwaccel_args: preset-nvidia เพื่อให้รองรับการประมวลผลด้วย Nvidia GPU ...

November 29, 2025 · 1 min · 186 words · Teera
ติดตั้ง NVIDIA Container Toolkit เพื่อใช้งาน GPU ผ่าน Docker

ติดตั้ง NVIDIA Container Toolkit เพื่อใช้งาน GPU ผ่าน Docker

ต่อจากบล็อกก่อนหน้า ติดตั้ง NVIDIA Quadro P600 บน Proxmox เพื่อใช้กับ Container (CT) สำหรับบล็อกนี้ จะต่อยอดด้วยการติดตั้ง NVIDIA Container Toolkit เพื่อให้ Docker สามารถเรียกใช้งาน GPU ได้โดยตรง ติดตั้งเครื่องมือที่จำเป็น sudo apt update sudo apt install curl gpg -y เพิ่ม Repository ของ NVIDIA curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \ && curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | \ sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \ sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list ติดตั้ง Toolkit sudo apt update sudo apt install nvidia-container-toolkit -y ตั้งค่า Runtime ของ Docker ให้รู้จัก GPU ...

November 11, 2025 · 2 min · 251 words · Teera
ติดตั้ง NVIDIA Quadro P600 บน Proxmox เพื่อใช้กับ Container (CT)

ติดตั้ง NVIDIA Quadro P600 บน Proxmox เพื่อใช้กับ Container (CT)

ได้การ์ดจอมือสอง NVIDIA Quadro P600 มาในงบเพียง 900 บาท จะนำมาใช้รันงาน AI ขนาดเล็ก ในบล็อกนี้ จะไม่ใช้วิธี GPU Passthrough เพื่อเชื่อมต่อกับ VM แต่จะเลือกใช้งานผ่าน Container (CT) บน Proxmox แทน เพราะวิธีนี้สะดวกกว่าและสามารถแชร์การ์ดจอให้ หลาย CT ใช้งานพร้อมกัน ได้ง่ายกว่า ตรวจสอบว่าระบบเห็นการ์ดจอ แล้วหรือยัง lspci | grep NVIDIA 01:00.0 VGA compatible controller: NVIDIA Corporation GP107GL [Quadro P600] (rev a1) 01:00.1 Audio device: NVIDIA Corporation GP107GL High Definition Audio Controller (rev a1) ติดตั้งเครื่องมือที่จำเป็นสำหรับคอมไพล์ไดรเวอร์ NVIDIA apt install -y dkms build-essential pve-headers-$(uname -r) ติดตั้ง NVIDIA Driver สำหรับ Linux x64 👉 download driver ...

November 5, 2025 · 2 min · 356 words · Teera
ลอง YOLOv9 กับ Frigate เบา เร็ว แม่นยำ

ลอง YOLOv9 กับ Frigate เบา เร็ว แม่นยำ

จากบล็อกก่อนหน้า ลองเปลี่ยน Frigate มาใช้ YOLO-NAS แทน MobileNet รอบนี้มาลองทดสอบ YOLOv9 กันบ้าง ว่าประสิทธิภาพและความเร็วต่างจาก YOLO-NAS แค่ไหน Model mAP (val) Params FLOPs Latency Reference YOLO-NAS S 47.5 19.0 M 66.9 G 3.21 ms 👉 YOLO-NAS YOLOv9-S 46.8 7.1 M 26.4 G ~3.0 ms 👉 YOLOv9 สรุป: ขนาดทดสอบ: 640×640 YOLO-NAS S แม่นยำกว่าหน่อย (47.5 vs 46.8%) YOLOv9-S เบากว่าเยอะ (Params และ FLOPs ลดลงกว่าครึ่ง) Latency ใกล้เคียงกัน แต่ YOLOv9-S เหมาะกับ Edge Device มากกว่า ตัวอย่าง docker-compose.yml ...

October 24, 2025 · 2 min · 277 words · Teera
เพิ่ม SSD ทำ ZFS Mirror สำหรับ Boot Disk บน Proxmox

เพิ่ม SSD ทำ ZFS Mirror สำหรับ Boot Disk บน Proxmox

ช่วงแรกที่ติดตั้ง Proxmox + ZFS ใช้ดิสก์เพียงตัวเดียว (M.2 SATA) สำหรับบูตระบบ พอใช้งานไปสักพักเลยอยากเพิ่ม SSD SATA อีกตัว เข้ามาทำงานแบบ ZFS Mirror เพื่อเพิ่มความทนทาน กรณีดิสก์ตัวใดตัวหนึ่งเสีย ระบบก็ยังสามารถบูตและใช้งานต่อได้ตามปกติ 💡 หมายเหตุ: /dev/sdb = ดิสก์ใหม่ (ที่จะเพิ่มเข้ามาทำ mirror) /dev/sdc = ดิสก์บูตเดิม ก่อนอื่นเช็กให้แน่ใจว่าดิสก์ใหม่ว่างและไม่มีพาร์ทิชันสำคัญ lsblk /dev/sdb /dev/sdc จากนั้นก็ทำการคัดลอก partition table ของดิสก์เดิมไปยังไฟล์ชั่วคราว sfdisk -d /dev/sdc > /tmp/parts แก้ไขไฟล์ /tmp/parts เพื่อลบสิ่งที่ไม่จำเป็น ลบบรรทัด last-lba ลบ UUID ทุกอัน แก้ไขขนาดพาร์ทิชันให้เป็น size= - ...

October 19, 2025 · 1 min · 142 words · Teera
ลาก่อน Hisense 55A7400F หลังใช้งานมา 4 ปี

ลาก่อน Hisense 55A7400F หลังใช้งานมา 4 ปี

👉 update 25 ตุลาคม 2025 ในที่สุดก็หาทางปล่อยทีวีเสียได้แล้ว! ขายผ่านกลุ่ม Facebook รับซื้อทีวีเก่า ทีวีเสีย ทีวี LCD จอแตก เราตั้งราคาขายไว้ที่ 500 บาท ให้มารับเอง ปรากฏว่ามีคนทักมาซื้อประมาณ 5–6 คน เลยทีเดียว 😅 ไม่แน่ใจเหมือนกันว่าตั้งราคาถูกไปไหม แต่ก็ถือว่าพอใจ เพราะอย่างน้อย ดีกว่าขายชั่งกิโล หรือขนไปทิ้งเองแน่นอน! ย้อนกลับไปในบล็อก tv-hisense-service-onsite เมื่อวันที่ 26 มิถุนายน 2021 ตอนนั้นเราเพิ่งได้รับทีวีเครื่องใหม่ Hisense 55A7400F จากการเคลมเครื่องเดิมที่เสียไป เวลาผ่านไปประมาณ 4 ปี วันที่ 5 ตุลาคม 2025 ทีวีเครื่องที่ได้จากการเคลมก็มาถึงวาระสุดท้ายเช่นกัน อาการคือ “จอดับ ไม่มีภาพ” แต่ก่อนจะเสียจริง ๆ ก็มีสัญญาณเตือนอยู่บ้าง ขอบจอเริ่มมีแสงสีแดง ๆ คล้าย backlight กำลังจะไป ถามว่าเข็ดไหมกับ Hisense? ไม่เลย! เพราะสำหรับทีวีขนาด 55 นิ้ว ราคายังไม่ถึงหมื่นบาท ถือว่าคุ้มมากกับอายุการใช้งาน เดี๋ยวคงได้เวลา “ถอย Hisense เครื่องใหม่” อีกสักรอบ แต่ปัญหาคือ… ทีวีเครื่องเก่าคงต้องหาทางจัดการทิ้งให้ถูกที่หน่อย 😅 ...

October 7, 2025 · 1 min · 72 words · Teera
ลองเปลี่ยน Frigate มาใช้ YOLO-NAS แทน MobileNet

ลองเปลี่ยน Frigate มาใช้ YOLO-NAS แทน MobileNet

ต่อจากบล็อก Config Detector ด้วย OpenVINO ตอนนั้นใช้ model MobileNet ซึ่งเป็นตัว default ที่มากับ Frigate NVR อยู่แล้ว ทำงานได้ดี แต่ยังมีข้อจำกัดเล็กน้อย เวลาเจอวัตถุขนาดเล็ก ลองเปลี่ยนมาใช้ YOLO-NAS เพราะโมเดลตัวนี้ขึ้นชื่อเรื่องการ detect วัตถุขนาดเล็กได้แม่นยำกว่า และยังคงทำงานได้เร็วใกล้เคียงกับ MobileNet ตัวอย่าง docker-compose.yml services: frigate: container_name: frigate restart: unless-stopped stop_grace_period: 30s image: ghcr.io/blakeblackshear/frigate:0.16.1 shm_size: 64mb cap_add: - CAP_PERFMON group_add: - "104" devices: - /dev/dri/renderD128:/dev/dri/renderD128 volumes: - /etc/localtime:/etc/localtime:ro - ./config:/config - ./storage:/media/frigate - type: tmpfs target: /tmp/cache tmpfs: size: 1000000000 ports: - 5000:5000 environment: - TZ=Asia/Bangkok ต้องเตรียมโมเดล YOLO-NAS S สามารถ export ออกมาเป็นไฟล์ yolo_nas_s.onnx ได้ง่าย ๆ ผ่าน Google Colab สามารถนำไปใช้เป็น detector ได้ทันที ...

October 5, 2025 · 1 min · 198 words · Teera
ทำไม Pub/Sub Subscription ถึงหายไป?

ทำไม Pub/Sub Subscription ถึงหายไป?

วันหนึ่ง… อยู่ ๆ Subscription ของ Pub/Sub ที่เราคุ้นเคยก็หายไปจากระบบซะงั้น ตอนแรกคือใจหายวาบเลย คิดในใจ หรือว่าเราเผลอกดลบเอง? หรือมีใครไปจัดการอะไรบางอย่างรึเปล่า? แต่พอไล่หาสาเหตุจริง ๆ แล้ว ความจริงก็คือ Pub/Sub มันมี “ค่า default” ที่ชื่อว่า Expiration period กำหนดมาให้กับทุก Subscription อยู่แล้ว Expiration period คืออะไร? พูดง่าย ๆ ก็คืออายุการใช้งานของ Subscription ถ้าไม่มี activity consume message ภายใน 31 วัน (default Subscription จะหายไปเองจากระบบ) ซึ่งจริง ๆ แล้วสามารถตั้งค่าได้สูงสุด 365 วัน แต่ถ้าไม่อยากปวดหัวกับการตามหาว่า “มันหายไปไหน” ก็แนะนำให้ตั้งค่าเป็น Never expire ไปเลย จะได้ไม่ต้องลุ้น! บทเรียนที่ได้ บางทีสิ่งที่เราคิดว่าตัวเอง “ทำหาย” จริง ๆ แล้วมันอาจจะเป็นที่ระบบเองที่จัดการให้ตามค่า default เลยอยากบันทึกไว้เป็น “ความไม่รู้ในวันนั้น” เผื่ออนาคตเจออีก จะได้ไม่งงเหมือนเดิม 🙂

September 23, 2025 · 1 min · 66 words · Teera
Config Detectors ของ Frigate ด้วย Intel GPU

Config Detectors ของ Frigate ด้วย Intel GPU

ในการใช้งาน Frigate NVR ส่วนที่ถือว่าเป็นหัวใจสำคัญที่สุดก็คือการ config detectors เพื่อให้ AI Object Detection ทำงานได้อย่างมีประสิทธิภาพ แต่ในช่วงแรกนั้น hardware ที่รองรับยังมีไม่มาก โดยตัวที่ได้รับความนิยมมากที่สุดคือ Google Coral อย่างไรก็ตาม หากใครที่ใช้เครื่องที่มี Intel GPU อยู่แล้ว ก็สามารถนำมาใช้งานกับ Frigate ได้เช่นกัน ซึ่งถือว่าเป็นการต่อยอดจากบล็อกก่อนหน้า การ Config ffmpeg hwaccel ใน Frigate หมายเหตุ: ต้องทำการ Passthrough Intel GPU เข้าเครื่อง LXC Container ก่อน 1. Config Detector ด้วย OpenVINO การกำหนด detector ในไฟล์ config.yml โดยใช้ OpenVINO อ้างอิง: OpenVINO Detector detectors: ov: type: openvino device: GPU 2. Config Model การตั้งค่า model ที่ใช้สำหรับ object detection โดย OpenVINO คือ SSDLite MobileNet v2 ...

September 12, 2025 · 2 min · 292 words · Teera
การ Config ffmpeg hwaccel ใน Frigate

การ Config ffmpeg hwaccel ใน Frigate

ต่อจากบล็อกก่อนหน้า การ Config Frigate NVR ให้บันทึก 24/7 จะเลือกใช้ hwaccel_args: auto ในส่วนของ ffmpeg เพื่อความสะดวก ปล่อยให้ Frigate เช็คเองว่าจะเลือกใช้ hardware acceleration ตัวไหน ในบล็อกนี้จะมาแชร์วิธีการ config Frigate ให้ใช้ Intel VAAPI โดยตรง ซึ่งเป็น hardware acceleration ที่มาพร้อม GPU ของ Intel แทบจะทุกรุ่น วิธีนี้ช่วยลดการใช้ CPU ลงอย่างชัดเจน และทำให้การประมวลผล video stream ลื่นขึ้นมาก 1. ตรวจสอบว่าเครื่องมี Intel GPU หรือไม่ lspci | grep -i vga 00:02.0 VGA compatible controller: Intel Corporation HD Graphics 530 (rev 06) จะเห็นประมาณ Intel Corporation HD Graphics ... แสดงว่า มี Intel GPU ...

September 6, 2025 · 2 min · 333 words · Teera