2017-11-09 4 views
0

이미지 처리 분류자를 만들고 있는데이 코드는 내 코드의 작은 부분입니다. 문제는 1 행째가 정수 배열 img_data_list임을 나타냅니다. 나는 이것을 float로 바꾸고 있는데, 이것은 나에게 Memory Error을주고있다.기계 학습 이미지 처리에서의 메모리 오류

데이터 세트가 7GB 및 12GB RAM입니다.

img_data = np.array(img_data_list) 
img_data = img_data.astype('float32') 
img_data /= 255 
print (img_data.shape) 
+0

'np.divide (..out = img_data)'를 사용하면 도움이되는지 확인하십시오. 문서 - https://docs.scipy.org/doc/numpy-1.13.0/reference/generated/numpy.divide.html 복사를 피하기 위해'np.asarray (img_data_list)'를 사용할 수는 있지만, 어쨌든 float 변환으로 복사본을 만들고있는 것 같습니다. 그래서, 그냥 결합 :'np.asarray (img_data_list) .astype ('float32')'. – Divakar

+0

링크를 따라 내가 설명한 다른 기능 문서를 검색해야한다고 생각하십시오. 여기에는 내가 컴파일 할 수있는 것보다 훨씬 많은 정보가 있습니다. – Divakar

+1

Divakar np.asarray (img_data_list) .astype ('float32')에 대한 메모가 작동하지 않습니다. 다른 해결책을 제공해주세요. –

답변

2

어디서 혼란스러워합니까? 7G 데이터 세트가 있습니다. 코드에는 원본 데이터 세트, NumPy 배열 및 의 부동 소수점 변환의 세 가지 복사본이 필요합니다. 두 번째 사본까지도 충분한 메모리가 없습니다.

분명한 해결책은 컴퓨터에 RAM을 추가하는 것입니다. 가지고있는 구성으로는 해결하려는 문제 클래스에 충분하지 않습니다. 또 다른 가능성은 입력시 데이터를 float32으로 변환하여 RAM에 데이터 복사본이 하나만 존재하도록하는 것입니다.

+0

어떤 제안을 어떻게 피할 수 있을까? –

+1

자두를위한 노트 나는 이미지를 만들고있다. 클래스 분류기가 66 개가있어서 클래스 당 얼마나 많은 이미지가 필요하다고 생각하십니까? –

+1

(1) 별개의 질문입니다. (2) 통계 그룹에 더 적합합니다. (3) 권장 사항을 작성하는 데 필요한 정보가 충분하지 않습니다. 이미지의 복잡성, 유사점 및 유사점, 모델의 복잡성에 따라 다릅니다. – Prune