圖片分類的小工具-架構與平台選擇

上述加速分類的小工具, 要用什麼平台或語言開發呢? 可以採用專案任何熟悉的平台或語言. 它可以是 Web Appplication, 也可以是 Windows GUI Application, 如果硬要用行動應用諸如 iOS, Android 來布署那也不見得不好.

至於開發語言, 它受兩個條件制約: 平台與專案人員能使用的語言. 例如萬一決定真要在 iOS 上進行圖片分類, 那很可能多少要熟悉 Objective-C 或是 Swift.

在此推薦可以考慮以 Python 結合 Qt 來開發加速分類的小工具, 理由在於我們開宗明義為深度學習專案, 專案成員幾乎可斷定具備相當的 Python 開發能力. 這樣 PM 就不用大費周章於專案成員中找其他開發語言的人才, 大大降低專案技術複雜度.

Qt Framework 可稱為最成熟的跨平台圖形程式庫, Python 雖然已經自備 Tkinter, 但較為陽春, 考慮圖像處理有些較為複雜的功能, 諸如縮放, BoundingBox 等, 就直接選擇功能較複雜的 Qt 框架.

後續我們以加速圖片分類的小工具為範例, 利用 python + Qt 6 實現. 基於授權的考慮, 我們採用 pyside6 (LGPL).