訓練進度測試
This commit is contained in:
42
test.sh
42
test.sh
@@ -1,5 +1,7 @@
|
||||
#!/bin/bash
|
||||
|
||||
# 記錄開始時間戳
|
||||
start_time=$(date +%s)
|
||||
|
||||
# 流程測試, 啓動服務, 設定進程名 go_test
|
||||
go run main.go -procname go_test &
|
||||
@@ -50,4 +52,42 @@ response=$(curl -X PATCH -H "Content-Type: application/json" -d '{"images":["htt
|
||||
[[ ${response: -3} -eq 200 ]] && { echo "修改數據集成功: ${response%???}"; } || exit_service "修改數據集失敗: ${response%???}"
|
||||
|
||||
|
||||
exit_service "測試結束, 全部通過"
|
||||
# 訓練模型 (POST /api/models)
|
||||
response=$(curl -X POST -H "Content-Type: application/json" -d '{"name":"test","type":"lora","trigger_words":"miao~","base_model":"sd1.5","epochs":20,"description":"test","dataset_id":'$dataset_id'}' -b "session_id=$session_id" -s -w "%{http_code}" http://localhost:8080/api/models)
|
||||
[[ ${response: -3} -eq 200 ]] && { echo "訓練模型任務已創建: ${response%???}"; } || exit_service "訓練模型任務創建失敗: ${response%???}"
|
||||
|
||||
|
||||
# 取模型id的值, 值爲 int
|
||||
model_id=$(echo "${response%???}" | grep -o '"id": [0-9]*' | awk '{print $2}')
|
||||
echo "model_id: $model_id"
|
||||
|
||||
|
||||
## 模型列表 (GET /api/models)
|
||||
# response=$(curl -X GET -H "Content-Type: application/json" -b "session_id=$session_id" -s -w "%{http_code}" http://localhost:8080/api/models)
|
||||
# [[ ${response: -3} -eq 200 ]] && { echo "獲取模型列表成功: ${response%???}"; } || exit_service "獲取模型列表失敗: ${response%???}"
|
||||
|
||||
|
||||
## 獲取模型訓練進度 (GET /api/models/:id)
|
||||
#response=$(curl -X GET -b "session_id=$session_id" -s -w "%{http_code}" http://localhost:8080/api/models/$model_id)
|
||||
#[[ ${response: -3} -eq 200 ]] && { echo "獲取模型訓練進度成功: ${response%???}"; } || exit_service "獲取模型訓練進度失敗: ${response%???}"
|
||||
|
||||
|
||||
# 循環獲取模型訓練進度, 直到訓練完成
|
||||
while true; do
|
||||
# 獲取模型訓練進度 (GET /api/models/:id)
|
||||
response=$(curl -X GET -b "session_id=$session_id" -s -w "%{http_code}" http://localhost:8080/api/models/$model_id)
|
||||
[[ ${response: -3} -eq 200 ]] && { echo "獲取模型訓練進度成功: ${response%???}"; } || exit_service "獲取模型訓練進度失敗: ${response%???}"
|
||||
|
||||
# 取出進度字段的值, 值爲 int
|
||||
progress=$(echo "${response%???}" | grep -o '"progress": [0-9]*' | awk '{print $2}')
|
||||
echo "progress: $progress"
|
||||
|
||||
# 如果進度爲 100, 訓練完成, 跳出循環
|
||||
[[ $progress -eq 100 ]] && { echo "訓練完成"; break; }
|
||||
|
||||
# 休眠 5 秒
|
||||
sleep 5
|
||||
done
|
||||
|
||||
|
||||
exit_service "測試結束, 全部通過, 用費時間: $(($(date +%s) - $start_time)) 秒"
|
||||
|
Reference in New Issue
Block a user