NTCU113-2 | Machine Learning | 賴冠州教授
- Submit your work as a Jupyter Notebook (.ipynb).
- File name format:
ClassNumber_CNN_Assignment.ipynb(e.g.,ACS109145_CNN_Assignment.ipynb). - Ensure the notebook includes all code, visualizations, and a report section answering Task 5.
- Upload to this repository via a pull request (PR).
- Fork this repo.
- Do Submission Requirements base on cnn_assignment.ipynb in colab.
- attach your file(.ipynb) to your github repo
- Commit and Create PR.
-
Task 1: Model Architecture Enhancement
- Modify the CNN model structure
- Must include
model = models.SequentialandConv2Dlayers - 要求:修改 CNN 模型架構
- 檢查點:模型必須包含至少一個
model = models.SequentialandConv2Dlayers - 提示:可以調整卷積層數量、濾波器數量、核大小等
-
Task 2: Hyperparameter Optimization
- Implement
model.compileandmodel.fit - Specify optimizer (SGD/RMSprop/Adam)
- 要求:修改模型編譯時的超參數
- 檢查點:必須指定優化器(如 SGD、RMSprop、Adam)
- 提示:可以調整學習率、損失函數、優化器類型等
- Implement
-
Task 3: Data Augmentation
- Add
ImageDataGeneratorwith augmentation parameters - Include: rotation_range, width_shift_range, height_shift_range, horizontal_flip
- 要求:實現數據增強技術
- 檢查點:使用
ImageDataGenerator並包含增強參數 - 提示:可以使用旋轉、平移、翻轉等增強技術
- Add
-
Task 4: Visualization
- Create plots using
plt.plot,plt.subplot, orplt.imshow - Generate
predictionsvariable for model predictions - 要求:添加可視化功能
- 檢查點:
- 包含繪圖代碼(
plt.plot、plt.imshow或plt.subplot) - 必須包含模型預測代碼
- 提示:可以可視化訓練曲線、預測結果、混淆矩陣等
- Create plots using
-
Task 5: Report Section
- Add Markdown cell with heading containing "Task 5:", "Report", or "Conclusion"
- Include meaningful analysis (more than 3 non-empty lines)
- 要求:撰寫實驗報告
- 檢查點:
- 添加 Markdown 單元格,標題包含 "# Task 5:"、"# Report" 或 "# Conclusion"
- 內容超過3行有意義的文字
- 提示:描述實驗過程、結果分析、改進建議等
- File name format validation
- Code execution without errors
- Presence of required code components
- Visualization outputs
- Report section completeness