레플리
글 수 222

seq2seq train과 test 분리에 대한 질문

조회 수 116 추천 수 0 2020.09.03 11:03:13


seq2seq모델을 이용해서

챗봇을 개발하려고 합니다.

그런데 서비스화하려고 생각해보니

보통 구현들이

train을 돌리고 test가 합쳐져있는데

저는 train코드와 test코드를 분리해서

train코드에서 생성된 모델을

teat코드를 이용해 서비스에서 사용하고 싶습니다.

 

하지만 이런식으로 train과 test분리된 자료가 없어

분리하는 방법을 모르겠습니다..

 

선형회귀 모델을 예로들면

train.py에서 학습을 진행하고 모델을 저장해서

test.py에서 모델을 로드에서 model.predict(x,y)하는 방식이 쉽게 적용되는데

seq2seq는 어떤식으로 분리하여 개발할 수 있을까요 ?

엮인글 :

깊은바다

2020.09.04 12:40:12
*.68.248.98

간단한 seq2seq 예제들은 훈련 모델을 그대로 사용해서 예측을 하기도 합니다. 예측시 입력을 [Start, Pad, Pad, ...] 이런 식으로 패딩을 넣어서 한 번에 모든 타임스텝을 돌립니다. 사실 이렇게 하면 안되고 훈련과 예측 모델을 별도로 구현해야 합니다. 

 

훈련시에는 LSTM에서 모든 타임스텝을 한 번에 자동으로 진행합니다. 반면에 예측시에는 LSTM을 타임스텝 1번씩만 돌립니다. 그리고 그 결과를 저장해서 새로 LSTM을 초기화하고 다음 타임스텝을 반복적으로 실행합니다. 이렇게 해야만 이전 타임스텝의 출력 단어를 다음 타임스텝의 입력으로 넣을 수 있습니다.

 

http://aidev.co.kr/chatbotdeeplearning/7921

 

위의 예제는 훈련과 예측 모델을 분리하여 구현했습니다. 참고하시기 바랍니다.

Nike

2020.09.04 13:26:13
*.133.55.106

조언 감사합니다.

하지만 알려주신 코드 또한

예측모델을 생성할때 이미 학습된 상태의 훈련모델을 이용해서 생성하는데

이 경우도 결국 .fit()이 진행된 코드 내부에 예측모델이 있어야 생성할 수 있는 것 아닌가요 ?

 

저는 train.py로 .h5 사전학습된 모델을 생성해서 test.py에서 .h5를 로드 후 질문 -> 답변 이라는 결과물을 얻고 싶습니다. 이는 불가능한 건가요 ?

Nike

2020.09.04 14:43:59
*.133.55.106

감사합니다 이것저것해보니 해결한것 같습니다 !!!!

냥냥

2021.11.14 19:15:58
*.7.24.187

혹시 어떤식으로 해결하셨는지 알 수 있을까요? 비슷한 문제로 고민중에 있습니다.
List of Articles
제목 글쓴이 날짜sort 조회 수
카톡 대화를 학습하는 AI 아바타 챗봇 - 레플리 file 깊은바다 2024-01-17 376
질문이 있습니다. [2] 빛똥빼숏 2017-11-16 170
RSS 기능을 활성화해주실 수 있을까요? [2] revirth 2017-11-28 80
깊은바다님께 깊은 자문을 구하고싶습니다. [2] wcchoi95 2017-11-29 199
챗봇회사인 플런티가 삼성전자에 인수되었습니다 file [2] 깊은바다 2017-11-30 313
뉴비의 자기 소개에요. [7] shark 2017-12-09 143
메리 크리스마스! [2] NeuroWhAI 2017-12-25 73
봉이 김선달의 대동강 비트워터 판매기 깊은바다 2018-01-13 117
외국인 노동자와 인공지능의 공통점 깊은바다 2018-01-21 182
개인 서버에서 딥러닝 코드를 돌리니 너무 느리네요. [1] NeuroWhAI 2018-01-29 155
사람들이 많지는 않네요 [3] 맛동산 2018-02-01 114
[질문] DCGAN을 시도해봤는데 잘 안되네요. [7] NeuroWhAI 2018-02-04 167
질문입니다 [1] 성공신화 2018-02-06 77
데이터 수집 어떻게 하나요? [1] 맛동산 2018-02-14 143
안녕하세요 좋은 아침 입니다. [1] 맛동산 2018-02-21 49
그래픽카드 질문 입니다. [1] 맛동산 2018-02-21 82