# Ray Example code整體架構 ### 概要 這個程式範例旨在演示如何使用Ray Tune庫進行超參數調整,以最佳化卷積神經網絡模型的性能,並提升對CIFAR-10數據集的分類準確度。 我們使用PyTorch來建立卷積神經網絡,Ray Tune用於自動搜索最佳的超參數配置。 ### 流程 load_data 函式:載入CIFAR-10數據集,進行數據預處理和標準化等 Net 類別:定義CNN神經網絡的架構。 train_cifar 函式:定義訓練過程,包括數據加載、模型訓練、計算損失、更新參數、驗證和保存checkpoint。 test_best_model函式:測試最佳模型的性能。 main 函式:主函式,用於執行超參數調整配置,包括採樣數量、最大回合數、使用GPU或CPU等... ### 流程圖 ```flow st=>start: 定義超參數空間(config)和超參數資源分配的方式(scheduler) :> e=>end: 輸出最佳超參數 op1=>operation: 建立一個調整器(你的訓練函式、需要的資源和其他超參數會在這裡設定目標和配置) op2=>operation: 超參數優化 op3=>operation: 訓練和評估模型 op4=>operation: 保存檢查點 op5=>inputoutput: 回報結果給RAY cond=>condition: 是否達到num_samples st->op1->op2->cond->op3 op3->op4->op5(left)->op2 cond(yes)->e cond(no)->op3 ```