<aside> 💡 서버에 모델이 배포 되어 있다고 가정
</aside>
[필요시] local에서 수동으로 돌려보기
azmlinfsrv --entry_script score.py --model_dir [serving model 경로] --worker_count 1
request를 보내 현재 endpoint에 특정 모델이 serving 중인지 확인
curl -X POST [endpoint]/score \
-H "Authorization: Bearer [Azureml 토큰]" \
-H "Content-Type: application/json" \
-d '{
"model_id": "yolov4-csp-driving:1",
"threshold": 0.5,
"image_urls": {
"5aaaa000001": "<https://imagescdn.gettyimagesbank.com/500/201902/jv11341010.jpg>",
"5aaaa000002": "<https://imagescdn.gettyimagesbank.com/500/201902/jv11341012.jpg>",
"5aaaa000003": "<https://imagescdn.gettyimagesbank.com/500/201902/jv11341026.jpg>"
},
"include_classes": ["car", "bus", "pedestrian", "cycle", "truck", "motorcycle", "train", "rider", "traffic sign", "traffic signal"],
"point_density": 1.0
}' --silent | jq
score_eval.py 에 포함되어 있음<aside> 💡 Github에 NAS managing 코드들(utils/*)가 있다고 가정
</aside>
NAS 환경 설정
with nas_context_manager('nas-10') as nas_manager:
image_dir = "/home/preset_ai_val_imgs/val"
image_list = nas_manager.listdir(image_dir)
image_urls = {}
for file in image_list:
image_urls[file] = nas_manager.get_file_url(os.path.join(image_dir, file))
<aside> 💡 Github에 Request 코드(score_eval.py)가 있다고 가정
</aside>
예시(mlops-onboarding-shelley/yolov4-csp-driving 경로에서 실행)
python3 score_eval.py \
--serving_url "<http://127.0.0.1:5001/score>" \
--key [Azure Secret key] \
--host_id "nas-10" \
--image_dir "/home/preset_ai_val_imgs/val" \
--confidence 0.5 \
--iou_threshold 0.5 \
--classes '["car", "bus", "pedestrian", "cycle", "truck", "motorcycle"]' \
--output "./result.csv"