본문 바로가기
무모한 도전-주식 인공지능 만들기

초기 테스터(initial tester)의 제작-48-

by 인터넷떠돌이 2020. 2. 3.
반응형

안녕하세요?

 

지난번 포스팅에서 어떻게 예상을 하였는 캔들 차트의 용량이 문제가 아니라는 것을 알 수 있었습니다. 그래서 다시한번 확인을 해 본다고 이번에는 60분봉을 한번 시도해 보고 나서, 다음으로 자료를 검색해서 겨우겨우 해결책을 확인할 수 있었습니다. 다만 이 시점에서 완료라고 하기에는 아직도 어디서 어떤 오류가 나올 지 모르기 때문에, 일단 완성 선언을 하는 것은 보류 하도록 했습니다.

먼저 그 동안 10분봉을 가지고서 작업을 해서 에러가 난 것이 아닌가 해서 다시한번 확인을 해볼 것을 겸해서 60분봉을 가지고서 한번 작업을 하였습니다.

그리고 나서 위 스크린샷에서 나오는 것처럼 역시나 이번에도 메모리 부족으로 보이는 에러로 인해서 중단이 된 것을 확인할 수 있었습니다.

그런데 확인을 해보면, 좀 더 많은 종목을 계산했다는 것 뿐이지, 위 스크린샷에서 보이는 것처럼 그 양이 적기는 하지만, 그래도 꾸준히 matplotlib에서 메모리 사용량이 증가하는 것을 확인할 수 있었습니다.

 

 

그리고 다시한번 확인을 해 보기 위해서 다시한번 디버그 모드로 돌려서 한번 알아보기는 알아보았습니다만, 문제는 이러고도 역시나 메모리 에러라는 것 외에는 알 수 없었습니다.

그래서 이 작업의 해결책이 없었냐 하면 그것도 아닌것이, 일단 위 스크린샷에서 보이는 것처럼 gc라고 가비지 콜렉터를 한번 가지고 오도록 합니다. 이 라이브러리는 사용하고 버려진 메모리를 다시 모아서 유용하게 사용할 수 있도록 만들어 주는 기능이 있습니다.

그리고 어디서 문제가 있었냐 하면, 바로 이 close()라는 명령어가 있는 줄은 몰랐는데, 이게 없어서 생긴 문제가 아닌가 하는 생각이 들었습니다.

그리고 나서 위 스크린샷처럼 Agg라는 것의 의미는 잘 모르겠습니다만, 일단 이것도 추가를 시켜 주도록 했습니다. 일단 이것도 찾아낸 해결책의 일부이기는 한데, 아무래도 지금은 깊이 들어가지는 않도록 했습니다.

 

이렇게 하였더니, 이번에는 성공적으로 작업이 끝나는 것을 확인할 수 있기는 있었습니다. 일단 이 작업에서 이번에는 메모리 누수 문제가 해결이 되었는지 아닌지 확인을 해볼 필요가 있습니다.

일단 확인을 해본 결과, 위 스크린샷에서 볼 수 있는 것처럼 메모리가 꾸준히 커지지 않아고 들쭉날쭉하는 것만 볼 수 있습니다. 아무래도 상황이 해결이 된 것으로 보입니다.

이렇게 해서 20개의 종목에 대해서 결과를 모두 얻고, 최종 결과본인 데이터 베이스 파일을 얻는데도 성공했습니다. 이렇게 해서 기존의 문제는 해결을 하는데 성공했습니다만, 그래도 아직 완성이라고 붙이기는 이른 것이, 일단 전체 코스피나 코스닥 종목에 대해서 한번 작업을 더 해보고 나서 작업을 더 이어가야 겠다는 생각이 듭니다.

반응형