chore: Update MLXFilter model deployment and logging with new training results and ONNX file management
- Added new training log entries for lgbm backend with AUC, precision, and recall metrics. - Enhanced deploy_model.sh to manage ONNX and lgbm model files based on the selected backend. - Adjusted output shape in mlx_filter.py for ONNX export to support dynamic batch sizes.
This commit is contained in:
Binary file not shown.
@@ -240,5 +240,29 @@
|
|||||||
"train_sec": 0.2,
|
"train_sec": 0.2,
|
||||||
"time_weight_decay": 2.0,
|
"time_weight_decay": 2.0,
|
||||||
"model_path": "models/mlx_filter.weights"
|
"model_path": "models/mlx_filter.weights"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"date": "2026-03-02T00:54:32.264425",
|
||||||
|
"backend": "lgbm",
|
||||||
|
"auc": 0.5607,
|
||||||
|
"best_threshold": 0.6532,
|
||||||
|
"best_precision": 0.467,
|
||||||
|
"best_recall": 0.2,
|
||||||
|
"samples": 533,
|
||||||
|
"features": 23,
|
||||||
|
"time_weight_decay": 2.0,
|
||||||
|
"model_path": "models/lgbm_filter.pkl"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"date": "2026-03-02T01:07:30.690959",
|
||||||
|
"backend": "lgbm",
|
||||||
|
"auc": 0.5579,
|
||||||
|
"best_threshold": 0.6511,
|
||||||
|
"best_precision": 0.4,
|
||||||
|
"best_recall": 0.171,
|
||||||
|
"samples": 533,
|
||||||
|
"features": 23,
|
||||||
|
"time_weight_decay": 2.0,
|
||||||
|
"model_path": "models/lgbm_filter.pkl"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@@ -33,13 +33,26 @@ done
|
|||||||
echo "=== 모델 전송 시작 (백엔드: ${BACKEND}) ==="
|
echo "=== 모델 전송 시작 (백엔드: ${BACKEND}) ==="
|
||||||
echo " 대상: ${LXC_HOST}:${LXC_MODELS_PATH}"
|
echo " 대상: ${LXC_HOST}:${LXC_MODELS_PATH}"
|
||||||
|
|
||||||
# ── 원격 디렉터리 생성 + lgbm 기존 모델 백업 ─────────────────────────────────
|
# ── 원격 디렉터리 생성 + 백업 + 상대 백엔드 파일 제거 ───────────────────────
|
||||||
|
# lgbm 배포 시: 기존 lgbm 백업 후 ONNX 파일 삭제 (ONNX 우선순위 때문에 lgbm이 무시되는 것 방지)
|
||||||
|
# mlx 배포 시: lgbm 파일 삭제 (명시적으로 mlx만 사용)
|
||||||
ssh "${LXC_HOST}" "
|
ssh "${LXC_HOST}" "
|
||||||
mkdir -p '${LXC_MODELS_PATH}'
|
mkdir -p '${LXC_MODELS_PATH}'
|
||||||
if [ '$BACKEND' = 'lgbm' ] && [ -f '${LXC_MODELS_PATH}/lgbm_filter.pkl' ]; then
|
if [ '$BACKEND' = 'lgbm' ]; then
|
||||||
|
if [ -f '${LXC_MODELS_PATH}/lgbm_filter.pkl' ]; then
|
||||||
cp '${LXC_MODELS_PATH}/lgbm_filter.pkl' '${LXC_MODELS_PATH}/lgbm_filter_prev.pkl'
|
cp '${LXC_MODELS_PATH}/lgbm_filter.pkl' '${LXC_MODELS_PATH}/lgbm_filter_prev.pkl'
|
||||||
echo ' 기존 lgbm 모델 백업 완료'
|
echo ' 기존 lgbm 모델 백업 완료'
|
||||||
fi
|
fi
|
||||||
|
if [ -f '${LXC_MODELS_PATH}/mlx_filter.weights.onnx' ]; then
|
||||||
|
rm '${LXC_MODELS_PATH}/mlx_filter.weights.onnx'
|
||||||
|
echo ' ONNX 파일 제거 완료 (lgbm 우선 적용)'
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
if [ -f '${LXC_MODELS_PATH}/lgbm_filter.pkl' ]; then
|
||||||
|
rm '${LXC_MODELS_PATH}/lgbm_filter.pkl'
|
||||||
|
echo ' lgbm 파일 제거 완료 (mlx 우선 적용)'
|
||||||
|
fi
|
||||||
|
fi
|
||||||
"
|
"
|
||||||
|
|
||||||
# ── 파일 전송 헬퍼 (rsync 우선, scp 폴백) ────────────────────────────────────
|
# ── 파일 전송 헬퍼 (rsync 우선, scp 폴백) ────────────────────────────────────
|
||||||
|
|||||||
@@ -84,7 +84,7 @@ def _export_onnx(
|
|||||||
nodes,
|
nodes,
|
||||||
"mlx_filter",
|
"mlx_filter",
|
||||||
inputs=[helper.make_tensor_value_info("X", TensorProto.FLOAT, [None, input_dim])],
|
inputs=[helper.make_tensor_value_info("X", TensorProto.FLOAT, [None, input_dim])],
|
||||||
outputs=[helper.make_tensor_value_info("proba", TensorProto.FLOAT, [None])],
|
outputs=[helper.make_tensor_value_info("proba", TensorProto.FLOAT, [-1])],
|
||||||
initializer=initializers,
|
initializer=initializers,
|
||||||
)
|
)
|
||||||
model_proto = helper.make_model(graph, opset_imports=[helper.make_opsetid("", 17)])
|
model_proto = helper.make_model(graph, opset_imports=[helper.make_opsetid("", 17)])
|
||||||
|
|||||||
Reference in New Issue
Block a user