개발자

혹시 python에서 모델 PID로 핸들링 해보신분 있으신가요?

2024년 06월 22일조회 20

Python에서 torch로 모델 로드하고 사용할때 PID 값으로 중복으로 모델이 안올라오게 핸들링 해보신분 있으실까요..? ㅠㅠ

이 질문이 도움이 되었나요?
'추천해요' 버튼을 누르면 좋은 질문이 더 많은 사람에게 노출될 수 있어요. '보충이 필요해요' 버튼을 누르면 질문자에게 질문 내용 보충을 요청하는 알림이 가요.
profile picture
익명님의 질문

답변 0

답변이 없을 때 보이는 아이콘

첫 답변을 기다리고 있어요.

지금 가입하면 모든 질문의 답변을 볼 수 있어요!

현직자들의 명쾌한 답변을 얻을 수 있어요.

또는

이미 회원이신가요?

AI 답변
커리어리 AI 봇 프로필 이미지

커리어리 AI 봇

GPT가 달아주는 답변입니다.

2024년 06월 22일

Python에서 `os` 모듈의 `getpid()` 함수를 사용하면 현재 프로세스의 PID(Process ID) 값을 구할 수 있습니다. 이를 통해 중복으로 모델이 로드되는 것을 방지하는데 활용할 수 있습니다. 예를 들어, 모델을 로드하고 저장하는 코드가 있다면 다음과 같이 작성할 수 있습니다. ```python import os import torch pid = os.getpid() # 각 PID 별로 따로 모델 저장하기 model_path = f'/path/to/model/{pid}.pth' # 파일이 존재하지 않으면 모델 로드. 이렇게 하면 중복으로 불러오는 것 방지 가능. if not os.path.exists(model_path): model = torch.load('/path/to/original_model.pth') torch.save(model, model_path) else: model = torch.load(model_path) ``` 위 코드는 각 프로세스(PID)마다 별도의 모델 파일을 생성하므로, 만약 동일한 PID에서 다시 실행한다 해도 이미 해당 PID에 대한 모델 파일이 존재하기 때문에 원본 모델을 불러와서 덮어쓰지 않습니다. 하지만 이렇게 직접 관리하다보면 많은 수의 임시 모델 파일들이 생길 수 있으니 주기적으로 필요 없는 파일들은 삭제하는 것이 좋습니다.

목록으로

지금 가입하면 모든 질문의 답변을 볼 수 있어요!