林子翔

@hahaB7

Joined on May 14, 2024

  • contributed by < hahaB7 > 2025q1 quiz1 測驗 1 要快速理解整份程式碼的運作邏輯,首先應該掌握其資料結構及組成。以本題為例,程式中定義了兩種結構體:list_item_t 和 list_t。 #include <stddef.h> typedef struct list_item { int value; struct list_item *next;
     Like  Bookmark
  • 1. Model Architecture (15%) 下圖顯示了我所使用的模型架構圖,該架構圖是利用神經網絡架構可視化工具 PlotNeuralNet 所實現。PlotNeuralNet 主要基於 LaTeX(TikZ)來繪製網絡結構,使用者可以透過 pycore.tikzeng 提供的簡單 API 來描述模型的各層結構,並將其轉換為 .tex 文件,最終生成對應的圖像格式(如 .png)。這種方法適合用於產生高品質的可視化圖表,特別是在學術論文或報告中表達網絡架構時能夠提供清晰直觀的呈現。 在本次實作中,我利用 PlotNeuralNet 來手動定義卷積層(Conv)、池化層(MaxPool)、全連接層(FC)等基本組件,並調整圖像排版,使其更符合模型的實際結構。此外,透過適當調整 LaTeX 參數(如圖層間距、顏色、標籤等),可以進一步提升可讀性,確保不同層之間的關係能夠清楚呈現。 模型的各層參數均依照作業需求進行設計。在網絡的前端,我使用了連續兩次 MaxPool 層來快速降低特徵圖的尺度,從而減少計算量。除了計算上的優化外,MaxPool 層本身還能提高模型對平移變換的魯棒性,對於前層特徵圖所提取的低層次特徵進行池化,更有助於強化模型對基本特徵的識別能力。 由於 CIFAR-10 資料集的分類難度相對較低,且根據作業規範的要求,我的模型在結構上並未過度加深。只使用作業規範中所要求的各層一次,即可達到不錯的表現。此外,考慮到模型經過量化後的大小需控制在 4MB 以下,儘管增加網絡深度有助於進一步提升模型性能,但在實作上並未選擇這種方案。 model_architecture
     Like  Bookmark
  • contributed by <hahaB7> 開發環境 $ gcc --version gcc (Ubuntu 13.3.0-6ubuntu2~24.04) 13.3.0 $ lscpu Architecture: x86_64 CPU op-mode(s): 32-bit, 64-bit Address sizes: 39 bits physical, 48 bits virtual
     Like  Bookmark
  • jlak;sdfjsdafjlkasdfdjslakjaslk;dfdsa saf sadf s df asdfs adf asdf sadf
     Like  Bookmark