머신러닝 이미지 분류 플젝(5)-작업마무리
오늘 오전에 작업을 마무리하면서 한 작업
- /result로 접근하여 사진인식없이 Zafina 출력을 막기위한 예외처리
- 캐릭터별 승률을 출력함
예외 처리는 간단하게 이미지 파일이 있을경우에는
아래 구문을 통하여 파일이 있을경우에만 함수를 실행하고
아닐 경우에는 error.html로 넘겨주는식으로 처리를 하였다
tr = os.path.isfile("tekken/static/img/abc/input.jpg")
isfile을 사용하여 항상 저장하고 삭제하는 파일이름인 input.jpg 가있는지 없는지 확인하였다
다음 승률 출력부분은 팀원분이 맡아주신 상세페이지에서
vs 승률에있는 vs 대상 캐릭터의 이름을 전달하여 저장된 승률을 가지고오게 하는 방식인데
기본 전체 승률이고
카즈야를 선택시 js에서
$('#temp').html(temp_html)
기존에 append에 찌들어있어서 고민을 하다가
구글에 열심히 찾아보니 정말 아주 허무하고 간단하게도 html이라는 것이있었고
html을 이용하여 내부에있는 내용을 변경 시켜줌으로 업데이트 해줬다.
물론 여캐도있다
파이썬부분은 이렇게 구성하였고 POST로 전달받은
현재 페이지의 캐릭터, 승률 대상캐릭터 값을 전달받아서
현 캐릭터 db에있는 vs승률을 소수점 두자리까지 출력하여 전달해주었다.
@bp.route('/search_vs', methods=["POST"])
def search():
char = request.form['char_give']
vs_char = request.form['vs_char_give']
char = db.char.find_one({'name': char })
vs = char[vs_char]
vs_per = "{:.2f}".format(vs)
return jsonify({'result': vs_per})
그리고 조금 어제 개선한 코드를 쪼--금 더 개선해봤다
기존코드는 두가지 딕셔너리를 만들었는데 생각해보니 두가지를 한번에 저장할수있다고 생각했고
바로 실행에 옮겨서 좀더 쉽게 jinja로 넘겨줄수있었다.
all_rank = {}
tr = 0
while tr < 51:
try:
all_rank["rank{0}".format(tr)] = rank[tr][0] , "%.2f" % (rank[tr][1] * 100 / all_result)
tr = tr+1
except:
break
- 항상 개선하면서 성장하기
Author And Source
이 문제에 관하여(머신러닝 이미지 분류 플젝(5)-작업마무리), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@bae-code/머신러닝-이미지-분류-플젝5-작업마무리저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)