Skip to content

엣지장비에 모델 추론요청을 보내는 스케줄러와 모델에서 실행되는 모델추론서버 #68

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 96 commits into
base: main
Choose a base branch
from
Open
Changes from 1 commit
Commits
Show all changes
96 commits
Select commit Hold shift + click to select a range
eb5fe53
각 쓰레드 시간 측정 디버깅
workdd Feb 14, 2023
d02715b
각 쓰레드 시간 측정 디버깅
workdd Feb 14, 2023
9292100
요청 줄여 디버깅
workdd Feb 14, 2023
bcbe536
sleep 늘려 실험
workdd Feb 14, 2023
5de2cb4
디버깅
workdd Feb 14, 2023
c043140
디버깅
workdd Feb 14, 2023
b8bfec0
디버깅
workdd Feb 14, 2023
d2d2b7d
edge 장비에 추론을 요청하는 모듈
kh3654po Feb 16, 2023
c5cfc1c
gpu 메모리 사용량 증가
kh3654po Feb 16, 2023
708587f
Rename raw_image_classification_inference.py to cnn_raw_image_classif…
jungae-park Feb 16, 2023
7c7db74
Create coral-edgetpu-tflite-aw_image_classification_inference.py
jungae-park Feb 16, 2023
88846be
Rename coral-edgetpu-tflite-aw_image_classification_inference.py to c…
jungae-park Feb 16, 2023
a7f436b
Create object_detect_raw_image_classification_inference.py
jungae-park Feb 16, 2023
643aa76
메모리사이즈 증가
kh3654po Feb 16, 2023
b0d8484
mobilenet만 로드하도록 수정
kh3654po Feb 16, 2023
370bc31
model save 되어있으면 save pass
workdd Feb 17, 2023
c1c0bb7
result debugging
workdd Feb 17, 2023
eb8c6da
세개의 모델 서버 배포 진행
workdd Feb 17, 2023
21af7d4
function name 변경
workdd Feb 17, 2023
d15e9eb
function name 변경
workdd Feb 17, 2023
9a1adc1
주석 제거
workdd Feb 17, 2023
c434731
불필요한 코드제거
kh3654po Feb 17, 2023
b93da0b
Update dataset_download.sh
jungae-park Feb 17, 2023
9f80e8f
Update dataset_download.sh
jungae-park Feb 17, 2023
060951e
코드 오류 수정
kh3654po Feb 17, 2023
6442875
코드 오류 수정
kh3654po Feb 17, 2023
1b8b496
추론 시간 측정을 위한 코드 추가
kh3654po Feb 17, 2023
117a623
tf record 사용
kh3654po Feb 20, 2023
ea74c17
코드오류수정
kh3654po Feb 20, 2023
aab49ed
코드오류수정
kh3654po Feb 20, 2023
90f3c00
모델 로드위치 변경 테스트
kh3654po Feb 20, 2023
1a57e3b
불필요한 코드 제거
kh3654po Feb 20, 2023
e6efc36
edge 추론 서버 실행시 로드할 모델을 인자로 받을수 있도록 수정
kh3654po Feb 21, 2023
91756c5
코드 리펙토링
kh3654po Feb 21, 2023
cd00348
서버 실행시 호스트이름과 포트번호를 입력 받을 수 있게 변경
kh3654po Feb 23, 2023
6cfc9b5
edge_inferece_reqest를 edge_inference_server로변경
kh3654po Feb 23, 2023
9f085e4
엣지 추론서버에 추론을 요청하는 간단한 스케줄러 구현
kh3654po Feb 23, 2023
73b9b43
요청할때 post 대신 get 사용
kh3654po Feb 23, 2023
4797ec2
poisson을 이용하여 request를 보내도록 변경
kh3654po Feb 24, 2023
60a88f8
서버의 현재 진행상황을 출력하도록 변경하고 에러를 수정함
kh3654po Feb 24, 2023
b5bc69e
error 수정
kh3654po Feb 24, 2023
1d802b6
추론 요청을 병렬로 보낼 수 있게 쓰레드 사용
kh3654po Feb 24, 2023
86a3455
error fix
kh3654po Feb 24, 2023
4a4f892
error fix
kh3654po Feb 24, 2023
77d4766
쓰레드가 정상 작동하는지 확인하기 위한 코드 추가
kh3654po Feb 24, 2023
4ad33ad
출력 메시지 변경
kh3654po Feb 24, 2023
b2d8bf0
flask 서버가 요청을 병렬적으로 실행하는지 확인하는 코드 추가
kh3654po Feb 24, 2023
140ff0a
출력메시지 변경
kh3654po Feb 24, 2023
9432e10
서버에서 요청결과 출력시 완료시간도 출력하도록 수정
kh3654po Feb 24, 2023
c5ff1fb
여러 장비에 요청을 보낼 수 있는 구조로 변경
kh3654po Feb 24, 2023
9294b92
세 엣지장비에 라운드로빈으로 추론을 요청하는 스케줄러 구현
kh3654po Feb 26, 2023
12ec1ea
모델요청 증가
kh3654po Feb 26, 2023
1a07c3f
error fix
kh3654po Feb 26, 2023
d2f440f
스케줄러 실행시 요청을 전달할 장비들을 인자로 받을 수 있게 수정, 주석추가
kh3654po Feb 27, 2023
20c1a05
버그 수정
kh3654po Feb 27, 2023
b6cb068
버그 수정
kh3654po Feb 27, 2023
d2216ca
버그 수정
kh3654po Feb 27, 2023
f63b4c3
error fix
kh3654po Feb 27, 2023
f9cf110
edges, models log 출력 코드 추가
kh3654po Feb 27, 2023
9296861
버그 수정
kh3654po Feb 27, 2023
44f576a
error fix
kh3654po Feb 27, 2023
01baf73
추론 요청시 요청할 모델들을 명령행인자로 받을 수 있도록 수정
kh3654po Feb 28, 2023
710c431
error fix
kh3654po Feb 28, 2023
b470621
error fix
kh3654po Feb 28, 2023
7472776
error fix
kh3654po Feb 28, 2023
95d5b06
error fix
kh3654po Feb 28, 2023
ab03054
error fix
kh3654po Feb 28, 2023
842450f
error fix
kh3654po Feb 28, 2023
89b5679
sleep add
kh3654po Mar 2, 2023
3e39b50
불필요한 코드 주석처리
kh3654po Mar 2, 2023
f7147bf
두개의 서버에 요청을 전달할 수 있는 테스트 코드
kh3654po Mar 3, 2023
757bf64
테스트코드 제거
kh3654po Mar 3, 2023
0c42f60
엣지장비의 여러 서버로 요청을 전달 할 수있는 구조로 변경
kh3654po Mar 6, 2023
b509c37
결과값을 출력할 때 결과가 온 서버의 포트번호도 출력하도록 변경
kh3654po Mar 6, 2023
7d68658
추론이 완료되면 결과를 출력하도록 추가
kh3654po Mar 7, 2023
a55fe58
출력 결과 수정
kh3654po Mar 7, 2023
fc66abb
각 장비의 ip 정보수정
kh3654po Mar 7, 2023
4f5621a
서버 동작시 싱글 쓰레드로 동작하도록 변경
kh3654po Mar 8, 2023
ae18e85
요청을 보낼때 1초에 걸쳐 보내도록 수정
kh3654po Mar 8, 2023
f295a68
Update object_detect_raw_image_classification_inference.py
jungae-park Mar 9, 2023
0a8a78c
yolo v5 테스트트
kh3654po Mar 12, 2023
ab97901
yolo v5 falsk 서버에 올림
kh3654po Mar 12, 2023
c540dd6
error fix
kh3654po Mar 12, 2023
8367730
error fix
kh3654po Mar 12, 2023
232b7ce
yolo v5 test
kh3654po Mar 14, 2023
b314e3f
yolo v5 test
kh3654po Mar 14, 2023
bb14eeb
yolo v5 test
kh3654po Mar 14, 2023
5eaf308
yolo v5 test
kh3654po Mar 14, 2023
7dd040d
yolo v5 추가완료
kh3654po Mar 14, 2023
f4207ec
스케줄러에 yolo v5 추가
kh3654po Mar 14, 2023
a75fbbb
yolo v5를 torch 대신 tf를 이용하도록 병경
kh3654po Mar 16, 2023
4e2a452
edge_inference_request_server.py refactoring
kh3654po Mar 21, 2023
773bbae
추론 결과로 응답시간을 볼 수 있게 변경
kh3654po Mar 23, 2023
2b111e0
edge 장비에서 tf serving을 위한 Dockerfile, model_config_list file, docker_r…
kh3654po Mar 30, 2023
75ea232
edge 장비에서 tf serving을 위한 이미지 빌드 shell script
kh3654po Mar 30, 2023
6ca0c8c
tf serving를 위한 docker build/run bash script
kh3654po Mar 31, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
추론이 완료되면 결과를 출력하도록 추가
  • Loading branch information
kh3654po committed Mar 7, 2023
commit 7d686586ed9810676074d43f7b3a84fe2376a32d
25 changes: 25 additions & 0 deletions CNN/edge_inference_request_scheduler.py
Original file line number Diff line number Diff line change
Expand Up @@ -141,6 +141,10 @@ def model_request(edge, model, order):
res = requests.get(url)
processing_time = time.time() - req_processing_start_time

inference_time = res.text.split(':')[1]
inference_time = inference_time.split('\n')[0]
inference_time_results[order-1] = float(inference_time)

print(f'[{order}:{edge}({port})/{model}] total request time: {processing_time}\n{res.text}')
return

Expand All @@ -163,6 +167,8 @@ def model_request(edge, model, order):
threads = []
order = 0

inference_time_results = [0 for _ in range(len(requests_list))]

for req in requests_list:
edge_to_inference = get_edge_by_model_rr(req)
if edge_to_inference is None:
Expand All @@ -176,3 +182,22 @@ def model_request(edge, model, order):

for th in threads:
th.join()


# 추론요청 결과 출력 (최소, 최대, 총, 평균)
inference_time_results.sort()
len_inference_time_results = len(inference_time_results)

total_inference_time = sum(inference_time_results)
avg_inference_time = total_inference_time / len_inference_time_results
min_inference_time = inference_time_results[0]
mid_inference_time = inference_time_results[int(len_inference_time_results / 2)]
max_inference_time = inference_time_results[-1]

print(f'\n총 추론 시간: {total_inference_time}')
print(f'평균 추론 시간: {avg_inference_time}')
print(f'최소 추론 시간: {min_inference_time}')
print(f'중간 추론 시간: {mid_inference_time}')
print(f'최대 추론 시간: {max_inference_time}\n')