什麼是 WSGI? 什麼又是 gunicorn?
WSGI 介紹 WSGI (Python Web Server Gateway Interface) 是一種 協議 protocol,定義了 web server 和 python web application 或 framework 之間溝通的規範。 它的目的是讓不同的 Python Web Framework (如 Flask、Django) 與不同的 Web Server (如 Gunicorn、uWSGI) 可以互相兼容。 所以,WSGI web server 其實就是應用了 WSGI 的 Web server。 📌 運作方式: Client 發送 HTTP request(Web browser → Web server)。 Web server (e.g. gunicorn) 透過 WSGI 呼叫 Python applicatoin(e.g. Flask/Django)。 Python applicatoin 處理請求,並回傳 HTTP response。 Web server 再將 response 傳回給 web browser。 Gunicorn 介紹 Gunicorn (Green Unicorn) 是一種基於 unix 系統 的 WSGI HTTP server,專門用來執行 Python Web 應用程式 (如 Flask、Django) ,並提供高效能的並發處理。通常在 反向代理 (Nginx, Apache) 與 Web 應用程式 之間。 圖片來源: https://www.maxlist.xyz/2020/05/06/flask-wsgi-nginx/ ...
機器學習常見問題:監督式學習和非監督式學習的差異?
Update: Feb 4, 2025 在 AI 世界有太多太多名詞,對於小白來說特別容易感到沒有方向。不論是經典的機器學習或是深度學習,當提到訓練方法時,大致上可以分成三種: 監督式學習 Supervised Learning 非監督式學習 Unsupervised Learning 半監督式學習 Semi-supervised Learning 你可能會好奇:「為什麼叫監督式學習?難道我要在旁邊盯著模型學習嗎?」其實,「監督」的意思是指提供標註資料,而「非監督」則是讓模型自行尋找模式,今天這篇文章就會幫你釐清以上的問題。 監督式學習 Supervised Learning 監督式學習透過大量的 標註資料(Labeled Data) 訓練模型,讓模型學會從「已知答案」中找出規則,並應用到新的資料上。 舉例來說,現在你想要透過機器學習模型辨是貓或是狗,因此你收集了大量貓和狗的照片作為訓練資料,另外你還對照片加上註解,說明這張照片是貓還是狗,因此你的訓練資料即為「標註資料」。 只要有足夠的標註資料,經過訓練的模型就能正確的回答你這張照片是貓或是狗。在這個例子中,模型的輸入是圖片的像素數據,而輸出則是一個標籤(貓或狗)。透過大量標註過的圖片,模型學習如何將新的圖片對應到正確的分類。 其他應用? 監督式學習除了用來進行分類(如貓狗識別),還能用於: 房價預測 🏡 → AI 透過大量的「房屋特徵 + 成交價格」數據學習,能夠根據房屋的大小、地點和其他條件來預測新房屋的價格,幫助買賣雙方做出更好的決策。 病患康復時間預測 🏥 → AI 透過醫院收集的「病患狀況 + 康復時間」數據學習,當新病人來就診時,系統能夠根據病情預測大約需要多久才能康復,幫助醫生規劃治療方案。 小結 監督式學習就像是在「有老師指導」的情況下學習。模型學會從已知的問題與答案中找出規則,然後用這些規則來預測新資料的結果。 非監督式學習 Unsupervised Learning 非監督式學習使用 未標記的資料 來進行訓練,目標是讓模型自己找出數據中的規律,例如把相似的東西分成不同的類別。 同樣以動物來舉例,現在你有許多動物的照片如下圖 並且你希望找出這些動物可以分成幾類,於是將所有照片交給機器學習模型進行訓練。最後,模型告訴你可以分成貓、狗和魚三類,這就是一個非監督式學習經典的分群應用。 其他應用? 除了分群問題,非監督式學習還常見於: 音樂與電影推薦 🎵🎬 → Spotify 或 Netflix 會分析你的喜好,找出跟你相似的人,然後推薦你可能喜歡的歌曲或電影。 垃圾郵件過濾 📧 → 電郵服務會分析郵件內容,判斷哪些郵件「看起來像垃圾信」,即使沒有標記,它也能學會分類。 社群媒體標籤 📷 → Instagram 可能會自動將你的照片分組,例如「食物」、「風景」、「自拍」,幫助你更方便整理相冊。 小結 ...
Hugo + GitHub Pages 個人網站建置教學
Update: Feb 3, 2025 在現在好像沒有自己的品牌是一件很稀有的事( 比日本製的壓縮機還要稀少 )。為了解決大家的煩惱,這是一篇帶你使用 Hugo + Github Pages 從零開始製作個人網站的教學! 那我們就直接開始! 1. 安裝 Hugo 本章節按照 Hugo 官方推薦步驟 進行安裝。 MacOS Step 1. 使用 Homebrew 進行安裝,若還未安裝 Homebrew 請先自行安裝。進入 Terminal (終端機) 輸入以下指令: brew install hugo Step 2. 輸入以下指令已檢查是否安裝成功: hugo --version 若有出現版本資訊即代表安裝成功。 2. 套用主題 Step 1. 到 官方的主題網站 瀏覽並選擇自己喜歡的主題,本文以 PaperMod 為例。 Step 2. 先在本地創建一個新的 Hugo 網站。 ...