GPU REST Engine 설정 및 동작 확인
전체 흐름
GPU REST Engine 설치
GPU REST Engine 동작 확인
0. 전제 조건
1. Download GRE (GPU REST Engine)
Downloadgit clone https://github.com/NVIDIA/gpu-rest-engine ${HOME}
2. 추론 서버 구축/시작
2.1 추론 서버 구축
build에 15분 정도 필요합니다.
다운로드한 디렉토리로 이동cd ${HOME}/gpu-rest-engine
추론 서버 구축sudo docker build -t inference_server -f Dockerfile.inference_server .
2.2 추론 서버 시작
추론 서버 시작sudo nvidia-docker run --name=server --net=host --rm inference_server
result-example2016/05/06 04:30:51 Initializing Caffe classifiers
2016/05/06 04:30:54 Adding REST endpoint /api/classify
2016/05/06 04:30:54 Starting server listening on :8000
3. 동작 확인
여기서의 동작 확인은 추론 서버와 같은 머신으로부터, 이미지를 업로드해, 그 이미지에 찍혀 있다
동물을 추측합니다.
샘플 이미지 images/1.jpg의 동물 추론
이미지 이미지의 PATH 결정IMAGE="${HOME}/gpu-rest-engine/images/1.jpg"
endpoint 지정ENDPOINT="http://127.0.0.1:8000/api/classify"
변수 확인cat << ETX
IMAGE_NAME : ${IMAGE}
END_POINT : ${ENDPOINT}
ETX
추론 서버 API를 킥curl -XPOST --data-binary @${IMAGE} ${ENDPOINT} | jq .
결과[
{
"label": "n02328150 Angora, Angora rabbit",
"confidence": 0.9998
},
{
"label": "n02325366 wood rabbit, cottontail, cottontail rabbit",
"confidence": 0.0001
},
{
"label": "n02326432 hare",
"confidence": 0.0001
},
{
"label": "n02085936 Maltese dog, Maltese terrier, Maltese",
"confidence": 0
},
{
"label": "n02342885 hamster",
"confidence": 0
}
]
인터넷상의 이미지를 추론
이미지 다운로드wget http://sozaing.com/wp-content/uploads/IMG_29451-540x360.jpg -P ${HOME}/gpu-rest-engine/images
이미지 이미지의 PATH 결정IMAGE="${HOME}/gpu-rest-engine/images/IMG_29451-540x360.jpg"
변수 확인cat << ETX
IMAGE_NAME : ${IMAGE}
END_POINT : ${ENDPOINT}
ETX
추론 서버 API를 킥curl -XPOST --data-binary @${IMAGE} ${ENDPOINT} | jq .
결과[
{
"label": "n02325366 wood rabbit, cottontail, cottontail rabbit",
"confidence": 0.6424
},
{
"label": "n02326432 hare",
"confidence": 0.1461
},
{
"label": "n02095889 Sealyham terrier, Sealyham",
"confidence": 0.0929
},
{
"label": "n02437616 llama",
"confidence": 0.0161
},
{
"label": "n02328150 Angora, Angora rabbit",
"confidence": 0.0149
}
]
4. Benchmarking
4.1 테스트용 docker container 구축
다운로드한 디렉토리로 이동cd ${HOME}/gpu-rest-engine
commandsudo docker build -t inference_client -f Dockerfile.inference_client .
4.2 테스트 실행
benchmark-testsudo docker run -e CONCURRENCY=8 -e REQUESTS=20000 --net=host inference_client
result-exampleSummary:
Total: 153.6530 secs
Slowest: 0.0992 secs
Fastest: 0.0198 secs
Average: 0.0614 secs
Requests/sec: 130.1634
Total data: 6880000 bytes
Size/request: 344 bytes
Status code distribution:
[200] 20000 responses
Response time histogram:
0.020 [1] |
0.028 [0] |
0.036 [2] |
0.044 [5] |
0.052 [2] |
0.060 [548] |∎
0.067 [19139] |∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎
0.075 [297] |
0.083 [3] |
0.091 [2] |
0.099 [1] |
Latency distribution:
10% in 0.0610 secs
25% in 0.0612 secs
50% in 0.0614 secs
75% in 0.0616 secs
90% in 0.0619 secs
95% in 0.0623 secs
99% in 0.0691 secs
이 Qiita의 정보는, 어이가 프라이빗으로 만들고 있는 것으로, NVIDIA와는 무관합니다. 개인 책임으로 시도하십시오. 인스턴스 등의 지우는 것을 잊는 등 주의해 주십시오.
Reference
이 문제에 관하여(GPU REST Engine 설정 및 동작 확인), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/daikumatan/items/2758ebd12209622772ab
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
git clone https://github.com/NVIDIA/gpu-rest-engine ${HOME}
2.1 추론 서버 구축
build에 15분 정도 필요합니다.
다운로드한 디렉토리로 이동
cd ${HOME}/gpu-rest-engine
추론 서버 구축
sudo docker build -t inference_server -f Dockerfile.inference_server .
2.2 추론 서버 시작
추론 서버 시작
sudo nvidia-docker run --name=server --net=host --rm inference_server
result-example
2016/05/06 04:30:51 Initializing Caffe classifiers
2016/05/06 04:30:54 Adding REST endpoint /api/classify
2016/05/06 04:30:54 Starting server listening on :8000
3. 동작 확인
여기서의 동작 확인은 추론 서버와 같은 머신으로부터, 이미지를 업로드해, 그 이미지에 찍혀 있다
동물을 추측합니다.
샘플 이미지 images/1.jpg의 동물 추론
이미지 이미지의 PATH 결정IMAGE="${HOME}/gpu-rest-engine/images/1.jpg"
endpoint 지정ENDPOINT="http://127.0.0.1:8000/api/classify"
변수 확인cat << ETX
IMAGE_NAME : ${IMAGE}
END_POINT : ${ENDPOINT}
ETX
추론 서버 API를 킥curl -XPOST --data-binary @${IMAGE} ${ENDPOINT} | jq .
결과[
{
"label": "n02328150 Angora, Angora rabbit",
"confidence": 0.9998
},
{
"label": "n02325366 wood rabbit, cottontail, cottontail rabbit",
"confidence": 0.0001
},
{
"label": "n02326432 hare",
"confidence": 0.0001
},
{
"label": "n02085936 Maltese dog, Maltese terrier, Maltese",
"confidence": 0
},
{
"label": "n02342885 hamster",
"confidence": 0
}
]
인터넷상의 이미지를 추론
이미지 다운로드wget http://sozaing.com/wp-content/uploads/IMG_29451-540x360.jpg -P ${HOME}/gpu-rest-engine/images
이미지 이미지의 PATH 결정IMAGE="${HOME}/gpu-rest-engine/images/IMG_29451-540x360.jpg"
변수 확인cat << ETX
IMAGE_NAME : ${IMAGE}
END_POINT : ${ENDPOINT}
ETX
추론 서버 API를 킥curl -XPOST --data-binary @${IMAGE} ${ENDPOINT} | jq .
결과[
{
"label": "n02325366 wood rabbit, cottontail, cottontail rabbit",
"confidence": 0.6424
},
{
"label": "n02326432 hare",
"confidence": 0.1461
},
{
"label": "n02095889 Sealyham terrier, Sealyham",
"confidence": 0.0929
},
{
"label": "n02437616 llama",
"confidence": 0.0161
},
{
"label": "n02328150 Angora, Angora rabbit",
"confidence": 0.0149
}
]
4. Benchmarking
4.1 테스트용 docker container 구축
다운로드한 디렉토리로 이동cd ${HOME}/gpu-rest-engine
commandsudo docker build -t inference_client -f Dockerfile.inference_client .
4.2 테스트 실행
benchmark-testsudo docker run -e CONCURRENCY=8 -e REQUESTS=20000 --net=host inference_client
result-exampleSummary:
Total: 153.6530 secs
Slowest: 0.0992 secs
Fastest: 0.0198 secs
Average: 0.0614 secs
Requests/sec: 130.1634
Total data: 6880000 bytes
Size/request: 344 bytes
Status code distribution:
[200] 20000 responses
Response time histogram:
0.020 [1] |
0.028 [0] |
0.036 [2] |
0.044 [5] |
0.052 [2] |
0.060 [548] |∎
0.067 [19139] |∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎
0.075 [297] |
0.083 [3] |
0.091 [2] |
0.099 [1] |
Latency distribution:
10% in 0.0610 secs
25% in 0.0612 secs
50% in 0.0614 secs
75% in 0.0616 secs
90% in 0.0619 secs
95% in 0.0623 secs
99% in 0.0691 secs
이 Qiita의 정보는, 어이가 프라이빗으로 만들고 있는 것으로, NVIDIA와는 무관합니다. 개인 책임으로 시도하십시오. 인스턴스 등의 지우는 것을 잊는 등 주의해 주십시오.
Reference
이 문제에 관하여(GPU REST Engine 설정 및 동작 확인), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/daikumatan/items/2758ebd12209622772ab
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
IMAGE="${HOME}/gpu-rest-engine/images/1.jpg"
ENDPOINT="http://127.0.0.1:8000/api/classify"
cat << ETX
IMAGE_NAME : ${IMAGE}
END_POINT : ${ENDPOINT}
ETX
curl -XPOST --data-binary @${IMAGE} ${ENDPOINT} | jq .
[
{
"label": "n02328150 Angora, Angora rabbit",
"confidence": 0.9998
},
{
"label": "n02325366 wood rabbit, cottontail, cottontail rabbit",
"confidence": 0.0001
},
{
"label": "n02326432 hare",
"confidence": 0.0001
},
{
"label": "n02085936 Maltese dog, Maltese terrier, Maltese",
"confidence": 0
},
{
"label": "n02342885 hamster",
"confidence": 0
}
]
wget http://sozaing.com/wp-content/uploads/IMG_29451-540x360.jpg -P ${HOME}/gpu-rest-engine/images
IMAGE="${HOME}/gpu-rest-engine/images/IMG_29451-540x360.jpg"
cat << ETX
IMAGE_NAME : ${IMAGE}
END_POINT : ${ENDPOINT}
ETX
curl -XPOST --data-binary @${IMAGE} ${ENDPOINT} | jq .
[
{
"label": "n02325366 wood rabbit, cottontail, cottontail rabbit",
"confidence": 0.6424
},
{
"label": "n02326432 hare",
"confidence": 0.1461
},
{
"label": "n02095889 Sealyham terrier, Sealyham",
"confidence": 0.0929
},
{
"label": "n02437616 llama",
"confidence": 0.0161
},
{
"label": "n02328150 Angora, Angora rabbit",
"confidence": 0.0149
}
]
4.1 테스트용 docker container 구축
다운로드한 디렉토리로 이동
cd ${HOME}/gpu-rest-engine
command
sudo docker build -t inference_client -f Dockerfile.inference_client .
4.2 테스트 실행
benchmark-test
sudo docker run -e CONCURRENCY=8 -e REQUESTS=20000 --net=host inference_client
result-example
Summary:
Total: 153.6530 secs
Slowest: 0.0992 secs
Fastest: 0.0198 secs
Average: 0.0614 secs
Requests/sec: 130.1634
Total data: 6880000 bytes
Size/request: 344 bytes
Status code distribution:
[200] 20000 responses
Response time histogram:
0.020 [1] |
0.028 [0] |
0.036 [2] |
0.044 [5] |
0.052 [2] |
0.060 [548] |∎
0.067 [19139] |∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎
0.075 [297] |
0.083 [3] |
0.091 [2] |
0.099 [1] |
Latency distribution:
10% in 0.0610 secs
25% in 0.0612 secs
50% in 0.0614 secs
75% in 0.0616 secs
90% in 0.0619 secs
95% in 0.0623 secs
99% in 0.0691 secs
이 Qiita의 정보는, 어이가 프라이빗으로 만들고 있는 것으로, NVIDIA와는 무관합니다. 개인 책임으로 시도하십시오. 인스턴스 등의 지우는 것을 잊는 등 주의해 주십시오.
Reference
이 문제에 관하여(GPU REST Engine 설정 및 동작 확인), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/daikumatan/items/2758ebd12209622772ab텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)