Welcome! 👋

This is the website of Allen Hsieh. You can find my blogs and gallery here.

什麼是 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/ ...

February 13, 2025 · Allen Hsieh

機器學習常見問題:監督式學習和非監督式學習的差異?

Update: Feb 4, 2025 在 AI 世界有太多太多名詞,對於小白來說特別容易感到沒有方向。不論是經典的機器學習或是深度學習,當提到訓練方法時,大致上可以分成三種: 監督式學習 Supervised Learning 非監督式學習 Unsupervised Learning 半監督式學習 Semi-supervised Learning 你可能會好奇:「為什麼叫監督式學習?難道我要在旁邊盯著模型學習嗎?」其實,「監督」的意思是指提供標註資料,而「非監督」則是讓模型自行尋找模式,今天這篇文章就會幫你釐清以上的問題。 監督式學習 Supervised Learning 監督式學習透過大量的 標註資料(Labeled Data) 訓練模型,讓模型學會從「已知答案」中找出規則,並應用到新的資料上。 舉例來說,現在你想要透過機器學習模型辨是貓或是狗,因此你收集了大量貓和狗的照片作為訓練資料,另外你還對照片加上註解,說明這張照片是貓還是狗,因此你的訓練資料即為「標註資料」。 只要有足夠的標註資料,經過訓練的模型就能正確的回答你這張照片是貓或是狗。在這個例子中,模型的輸入是圖片的像素數據,而輸出則是一個標籤(貓或狗)。透過大量標註過的圖片,模型學習如何將新的圖片對應到正確的分類。 其他應用? 監督式學習除了用來進行分類(如貓狗識別),還能用於: 房價預測 🏡 → AI 透過大量的「房屋特徵 + 成交價格」數據學習,能夠根據房屋的大小、地點和其他條件來預測新房屋的價格,幫助買賣雙方做出更好的決策。 病患康復時間預測 🏥 → AI 透過醫院收集的「病患狀況 + 康復時間」數據學習,當新病人來就診時,系統能夠根據病情預測大約需要多久才能康復,幫助醫生規劃治療方案。 小結 監督式學習就像是在「有老師指導」的情況下學習。模型學會從已知的問題與答案中找出規則,然後用這些規則來預測新資料的結果。 非監督式學習 Unsupervised Learning 非監督式學習使用 未標記的資料 來進行訓練,目標是讓模型自己找出數據中的規律,例如把相似的東西分成不同的類別。 同樣以動物來舉例,現在你有許多動物的照片如下圖 並且你希望找出這些動物可以分成幾類,於是將所有照片交給機器學習模型進行訓練。最後,模型告訴你可以分成貓、狗和魚三類,這就是一個非監督式學習經典的分群應用。 其他應用? 除了分群問題,非監督式學習還常見於: 音樂與電影推薦 🎵🎬 → Spotify 或 Netflix 會分析你的喜好,找出跟你相似的人,然後推薦你可能喜歡的歌曲或電影。 垃圾郵件過濾 📧 → 電郵服務會分析郵件內容,判斷哪些郵件「看起來像垃圾信」,即使沒有標記,它也能學會分類。 社群媒體標籤 📷 → Instagram 可能會自動將你的照片分組,例如「食物」、「風景」、「自拍」,幫助你更方便整理相冊。 小結 ...

February 2, 2025 · Allen Hsieh

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 網站。 ...

November 30, 2024 · Allen Hsieh