torchvision 的自動下載功能。由於各開源數據集的原始伺服器不同,偶爾會遇到連結失效或伺服器維護的情況。搭建 CNN 架構時,我們通常不會從最基礎的 算子 一個個疊加,而是設計或挑選幾種不同用途的 Block,再透過堆疊組合來完成整體架構。
這些 Block 依據功能,大致可分為兩類:
自己從頭設計一個 Block,往往比堆疊現成的 Block 困難許多——需要同時考量 算子 的各種參數設置、性質差異、特徵尺度變換,以及 Block 彼此之間的搭配效果等……
因此,這裡整理了各種經典 Block,讓你能夠快速組建模型,而無需重頭煩惱 Block 內部的交互搭配。
每個 Block 旁邊都有 圖示,點擊後可取得更詳細的說明。
建議你嘗試替換不同的 Block 組合,親身感受各種 Block 的特性與效果差異。多數情況下,重頭搭建 CNN 時所選用的 Block,也都會從這些經典組合中挑選,因此花時間實際搭配、比較,是學習 CNN 非常重要的一環。
訓練完成後,系統會在 run_output 資料夾下生成一份 JSON 日誌。你可以在 CNNLego 主頁面選擇「日誌分析」,上傳該日誌後即可查看本次訓練的詳細數據,幫助你更具體地掌握訓練狀態。
本工具生成的代碼默認採用 AdamW 優化器 搭配 OneCycleLR 學習率排程。這是目前深度學習中最受推崇的訓練黃金組合之一。
AdamW 修復了傳統 Adam 在「權重衰減」上的計算瑕疵。它非常適合初學者,因為它收斂速度快,且對超參數不如 SGD 那樣敏感,通常不需要極度精細地調參就能獲得不錯的結果。
打破了「學習率只能越來越小」的傳統觀念。它讓學習率呈現「低 ➔ 高 ➔ 極低」的變化。前期較低的學習率讓模型暖身(Warmup),接著拉高學習率幫助模型快速逃離局部最優解,最後再降到極低進行精細收斂。這被稱為「超級收斂 (Super-Convergence)」。