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

초기 테스트에 멀티 스레드를 적용해 보기 -1-

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

안녕하세요?

 

지난번에 120개 분봉을 이용해서 평균과 표준편차를 구해서 초기 테스트를 하였고, 그 결과를 분석해 보았습니다만, 문제는 끔찍하게 속도가 많이 느렸습니다. 그래서 하는 수 없이 이걸 멀티 스레드를 이용해서 한번에 여러개의 조건을 동시에 시도해 볼 수 없을까 해서 한번 시도해 보기로 했습니다. 먼저 하려고 하는 작업은 exe파일로 빌드가 가능한지 다시한번 더 작업을 해 보았습니다.

 

먼저 해야 하는 일은 새로운 이름으로 새로운 프로젝트를 생성하는 작업을 먼저 시도하기로 했습니다. 이 작업을 하기 위해서 새로 이름을 붙여야 했습니다.

 

그리고 나서 필요한 py파일과 ui파일들을 새로 생성된 프로젝트의 폴더에 복사해서 가지고 오도록 합니다. 일단 일련의 파일들을 위 스크린샷에서 보이는 대로 입니다.

 

그리고 나서 다른 컴퓨터이기 때문에, 여기서는 pyinstaller를 따로 설치해 주어야 했습니다. 설치까지는 아나콘다 프롬프트에서 별 어려움 없이 가능했습니다.

 

그리고 만에 하나를 위해서, 한번 위 스크린샷처럼 pharoh라는 식으로 파라오 황금 마스크로 아이콘을 만들어 주어서 설치해 줍니다.

 

 

그리고 이렇게 exe파일로 만들 때 가장 필요한 작업이 바로 위 스크린샷에서 보이는 작업이라고 할 수 있습니다. 일단 위스크린샷처럼 if문을 이용해서 exe파일로 생성이 될 경우를 대비해 보도록 합니다.

 

그리고 나서 pyi-makespec으로 파일 한개만 만들기 위한 조건만을 집어넣어 주는 것으로 스펙파일을 만들어 보도록 합니다.

 

그리고 나서 스펙파일을 제작해 주도록 하는데, 일단 위 스크린샷에서 보이는 것처럼 pyqt5의 bin폴더 경로를 추가해 주도록 하고, 그 다음으로 가지가지 필요한 것을 추가해 주도록 합니다.

 

일단 위 스크린샤에서 보이는 것처럼 먼저 exe파일로 하나 빌드하는 것 까지는 그렇게 어렵지 않았습니다. 그런데 문제가 발생했습니다.

 

어찌된 것인지 실행이 되지 않는 문제가 발생했습니다. 그래서 이 문제를 해결해 보고자, 다음으로 해야 할일은 한번 다음의 조치를 취해 보고자 합니다.

 

그리고 나서 다음으로 해야 할일은 위스크린샷에서 보이는 것처럼 cmd창에서 한번 실행을 시켜 보았습니다. 물론 그 이전에 windowed라는 옵션을 주는 식으로 해서 에러가 출력되도록 만들었는데, 위 스크린샷처럼 numpy의 일부 모듈을 가지고 오지 못해서 가지고 오는 에러라는 것을 알 수 있었습니다.

 

그래서 먼저 pandas라는 항목에 있는 부분이 먼저 에러를 일으켰기에 주석처리를 하는 것으로 시작을 하도록 하였습니다.

 

그리고 나서 다음으로 위 스크린샷에서 보이는 것처럼 random.common과 같은 방법으로 한번 작업을 해 보도록 합니다. 이 3종 세트까지 넣어 보았습니다.

 

이러한 작업을 해 주는 것으로 해서, 위 스크린샷에서 보이는 것처럼 제대로 된 결과를 이제서야 낼 수 있었습니다. 다만 이렇게 exe파일을 만드는 것이 목적이 아니라, 멀티 스레드를 이용해서 병렬처리를 하는 것이 목적이라면 목적이라고 할 수 있기에, 이제 겨우 시작을 할 수 있었습니다.

반응형