vmtmxmf5 / Pytorch-

pytorch로 머신러닝~딥러닝 구현
3 stars 0 forks source link

Multi-processing #12

Open vmtmxmf5 opened 3 years ago

vmtmxmf5 commented 3 years ago
vmtmxmf5 commented 3 years ago

함수 argument에 pid를 받고

if __name__ == '__main__':
    pid = ['1번째' , '2번째', '3번째']
    Process(f, args=(pid[3],))

이런식으로 pid를 넣어줘서 프로세스별 결과물을 식별할 수 있다.

그러면 sort할 필요가 없다 프로세스 내 실행은 순차적 (Sequential)이므로 이미 sorting되어 있다

vmtmxmf5 commented 3 years ago

미세먼지 팁

함수 바로 리턴하면 process 간에 데이터를 전달하지 못한다

따라서 여러 프로세스간에 멀티프로세싱으로 함수를 처리하려면 데이터 메모리 영역에 전역 변수를 만들어서, 거기에 queue 구조로 프로세스간 함수 처리 결과를 이어줘야 한다

(원래는 함수 결과는 stack에 저장된다. 근데 그 stack은 프로세스간 공유되지 않는다) (그러므로 stack에 있는 것을 data 메모리 영역에 복사 해야 한다)