배경
나는 Keras로 훈련했고 지금은 배치하려는 RNN 256 개의 숨겨진 유닛 인 단일 계층을 가지고 있습니다. 이상적으로이 RNN의 여러 인스턴스를 GPU에 배포하고 싶습니다. 그러나이 시점에서 모델을 keras.models.load_model()
으로로드하면 사용 가능한 12Gb GPU 메모리의 11Gb가 사용 된 것 같습니다.훈련 된 신경망 메모리 사용의 이해
질문
는 는-
를 차지 ? 나는 단지 훈련하기보다는 예측하기를 원한다. 모델을 잘못된 방향으로로드합니까?
- 일반적으로 사용하는 GPU 메모리의 양에 내 RNN 구조를 매핑 할 수있는 방법이 있습니까?
- 이렇게 이해하면 내 RNN에서 소비하는 메모리 양을 어떻게 줄일 수 있습니까?
현재 이해
이 사용이 하이퍼 매개 변수의 수에서 부여한다 얼마나 많은 메모리 내 네트워크의 나의 현재 추정 :
- 256 입력 무게
- 256 출력 무게
- 256x256 반복 가중치
- 256 숨겨진 단위 의
- 256 숨겨진 장치는
총 바이어스 : 32 bits/parameter x (4 x 256 + 256 x 256) parameters = 260e6 bits
이 내가 현재보고있는 무슨 다음 현저하게 적습니다. 그래서 내 가설은 Keras가 여전히 내 모델을 교육 중이라서 일괄 오류 크기를 캐싱하려고한다는 것입니다. 하지만 어떻게하면 내 모델을로드해야합니까?