iT邦幫忙

2025 iThome 鐵人賽

DAY 18
0

今天要做的是針對昨天做出的推論模組,做實際測試

主要目標:
• 驗證 Rust .so 模組輸出與 PyTorch 一致
• 實測多次推論在 Rust 是否比 Python 快
• 量化比較結果(平均延遲、總耗時、吞吐量)

Task 1:準備 PyTorch 輸出基準資料
• 編寫 Python 腳本:
• 隨機產生 N 筆輸入資料 X(torch.randn(N, input_dim))
• 用 PyTorch 模型跑出對應的 Y = model(X)
• 儲存為 .npy 或 .json:方便 Rust 載入驗證

Task 2:撰寫 Rust 推論測試程式
• 載入 model.npz(用 .so 或直接函式)
• 載入 input.npy
• 逐筆做推論,並與 output_ref.npy 比較誤差
• 計算平均誤差 / 最大誤差(精度驗證)

Task 3:效能測試 - 多筆推論速度
• 使用 std::time::Instant 計算推論時間
• 支援兩種測試:
• 單執行緒
• 多執行緒(使用 rayon::par_iter())

指標要列印:
• 總推論筆數
• 總耗時(秒)
• 平均每筆推論延遲(µs)
• 每秒推論次數(吞吐量 QPS)

Task 4:撰寫 Python 版效能對照程式
• 使用 PyTorch 載入模型
• 對相同 input.npy 資料執行推論
• 測量總時間 / QPS

Task 5:統一輸出報告
• 寫一個測試報告腳本或表格,輸出

這幾天身體不舒服,先放上tasks,之後補齊.


上一篇
【Day17】- 轉換模型為Rust可讀
下一篇
【Day19】- 整合推論模型進入主系統
系列文
NautilusTrader 架構解析:Rust 在高效能量化交易平台中的角色與優勢22
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言