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

ray를 사용한 우회로를 개척해 보기 -1-

by 인터넷떠돌이 2020. 7. 25.
반응형

안녕하세요?

 

일단 지금 12시간씩 걸리는 방식으로 메인이 되는 데스크톱에서는 데이터를 계산하고 있는 중이고, 이런 와중에 한번 파이썬에서 ray를 사용하는 방식이 잘못 사용하고 있는 것이 아닌가 하는 생각이 들어서, 이걸 일단 한개의 multiprocess든 이렇게 만든 다음에, 여기서 주식 종목별로 계산을 하나하나 나누어서 하는 것으로 하나의 프로세스를 처리해 보고자 합니다.

 

이 작업을 하기 위해서, 일단 위 스크린샷처럼 자식 프로세스로 사용이 되는 child process의 py파일을 3번째로 만들어 주도록 합니다.

 

그리고 나서 다음으로 일단 인스턴스화를 시키는 py파일을 2에서 3으로 변경을 시켜 주도록 해서, 새로운 시도를 한번 해 보도록 합니다.

 

일단 init에서 ray를 시작하라는 명령을 일단 내려 주도록 합니다. 이렇게 하는 것으로 하나의 작업이 완료가 되기는 되었습니다.

 

 

그리고 나서 다음으로 한 것은, 일단 기존의 while loop 등을 이용하는 구문이 있는데, 이 구문을 잘라내고, 여기서 부터는 일단 remote()라는 방식을 사용해서 일단 새로운 메서드로 독립시켜서, 하나의 주식 종목 코드마다 연산을 시키도록 합니다.

 

그리고 나서 나머지 내용물에 대해서는 위 스크린샷에서 볼 수 있는 것처럼, 일단 하나의 @ray.remote라는 데코레이션이 그려진 상태로 하나하나 만들어 주도록 합니다.

 

그리고 나서 다음으로 해 보아야 하는 것으로는 일단, 위 스크린샷에서 볼 수 있는 것처럼 for loop 밖에 break가 있기 때문에, 이걸 어떻게 해서든 for loop안으로 집어넣는다고 해야 할까요? 어떻게 해서든 break가 떨어지도록 만들어 주도록 합니다.

 

그리고 나서 마지막에 결과를 그림으로 저장하는 메서드까지 만들어 주도록 합니다. 이렇게 하는 것으로 일단 작업을 하나 마치기는 마쳤습니다.

 

이렇게 해서 일단 새로운 작업을 해 주기 위해서 결과를 저장하기 위한 폴더를 새로 만들어 보도록 했습니다. 이렇게 하는 것으로 일단 폴더까지 만들었는데........

 

문제는 위 스크린샷과 같은 오류가 나오는 것을 확인할 수 있었습니다. 이 오류는 무엇이냐고 하면, 우선 어떻게 된 것인지 ray.init()를 한번만 해야 하는데, 여러번 해서 나오는 오류라고 합니다. 이 문제를 어떻게 해결해야 할지 벌써부터 머리가 아파오기는 합니다만, 아무튼 어떻게 해서든 해 보기는 봐야 합니다.

반응형