배포된 모델 확인

<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

(참고) NAS로부터 Image url 가져오는 코드

<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))

Python으로 추론 서버에 Request해보기

<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"