본문 바로가기

주식 인공지능200

가장 힘들어 보이는 장애물을 넘기 위한 시도-11- 안녕하세요? 지난번 포스팅에서 어떻게 main.py라고 RLTrader와 연동이 되는 작업을 하기는 했는데, 문제는 제대로 결과가 출력되지 않았는 것을 볼 수 있었습니다. 그래서 이 문제를 해결하기 위해서 동분서주 하는 것이 이번 포스팅의 주요 내용이 될 것입니다. 그래서 먼저 agent.py에 가서, 위 스크린샷에서 보이는 것처럼 def __init__(self): 라는 초기화라고 해야 할까요? 처음 스크립트가 시작되지 마자 실행되는 파일에서 먼저 self.가 붙은 광역 변수가 실행되도록 만들어 줍니다. 그리고 나서 이 self가 붙은 global(광역) 변수를 위 스크린샷과 같이 각각의 행동이 결정되는 곳에다가 배치해서 그 결과를 저장하도록 만들어 줍니다. 그런데 이렇게 해서는 클래스 안에서는 자유롭.. 2019. 4. 19.
가장 힘들어 보이는 장애물을 넘기 위한 시도-10- 안녕하세요? 지난번 포스팅에서 입력한 데이터가 없으면 완전히 자식 프로세스가 얼어버리는 문제점이 나온다는 것을 알 수 있었습니다. 그런데 다음으로 어떻게 해서 결과를 얻는데 성공했으니, 이제는 이를 한번 실제 main.py까지 적용해 보고자 하는 것이 이번 포스팅에서 나오는 목표입니다. 일단 위 스크린샷에 보이는 것처럼 한번 QProcess에서도 input()이 적용이 될 수 있는지 부터 먼저 알아보기 위해서 기존에 빈 데이터가 있던 부분에서 새로운 데이터를 넣어서 한번 시험해 보도록 합니다. 물론 자식 프로세스는 gui가 나오는 test.py가 아니라 test2.py를 하도록 합니다. 그리고 나서 test2.py에서는 위 스크린샷에서 보이는 것처럼 한번 받아들인 데이터를 decode시키도록 합니다. 이.. 2019. 4. 19.
가장 힘들어 보이는 장애물을 넘기 위한 시도-9- 안녕하세요? 계속해서 하다하다 QProcess에서는 답이 없다는 생각이 들어서, 이번 포스팅에서 부터 어떻게 해서 답이 없던 상황을 타개하기 위한 작업을 하기 시작했는지에 대해서 다루어 보고자 합니다. 결국 QProcess에서 어떻게 자식 프로세스와 통신을 하는지에 대해서는 알 수는 없었습니다만, 이건 너무 시간이 걸리니까 지금 당장 사용가능한 방법을 사용해서 어떻게 문제를 타결하기는 했습니다. 일단 계속해서 QProcess에서 방법을 찾아보기 위해서, 이번에는 자식 프로세스에다가 state()함수를 사용해서 어떻게 Qprocess가 자식 프로세스에서는 어떤 상황인지 알아보고자 합니다. 일단 위 스크린샷을 보시면 자식 프로세스에서는 계속해서 0이라는 state를 보여주고 있는데, 이는 QProcess가 .. 2019. 4. 19.
가장 힘들어 보이는 장애물을 넘기 위한 시도-7- 안녕하세요? 지난번 시간에는 무언가 예상치 않은 에러가 발생해서 알아보기 힘들게 하는 문제가 발생을 하였습니다. 그래서 이번 포스팅에서는 이 문제를 해결하기 위한 작업에 먼저 들어가 보아야 합니다만, 그전에 이 QProcess의 제대로 된 상태를 알아보기 위한 작업에 들어가 보기 위해서 몇몇 작업을 먼저 하고 나서, 이 다음에 어떻게 해서 지난 시간에 나온 is_alive()가 없다는 문제를 해결했는지 들어가 보고자 합니다. 먼저 위 스크린샷처럼 not 뒤에다가 메소드명을 붙여서 한번 시험에 들어가 보고자 했습니다. 물론 이 작업은 어디까지나 시도만 하는 것 입니다. 다음으로는 만약에 프로세스의 상태가 제대로 시작이 된 것이 아니라고 하면, QProcess가 제대로 시작을 할 때 까지 한번 while문을.. 2019. 4. 17.