2017-10-10 1 views
0

크기가 (29000,200,1024) (7Go) 인 내 numpy 배열에 문제가 있습니다. 내 데이터 세트의 이미지 기능.Tensorflow : tf.gather가 큰 배열에서 작동하지 않습니다.

일단로드되면, my 함수는 현재 배치를 텐서로 만들기 위해 인덱스를받습니다. 불행히도 다음을 사용 :

tf.gather(array, indices) 

동결. 예를 들어 배열 [0] 인쇄는 즉시 작동하지만. array_tensor (indice)를 직접 사용할 수 있도록 convert_to_tensor으로 숫자가 작은 배열을 변환하려고 시도했지만 다시 convert_to_tensor은 메모리 제한 오류를 발생시킵니다.

주위에 어떤 문제 해결?

는 2GB의 GraphDef 제한에 따라 GraphDef에 모든 것을, 인라인되도록, 연산 정의에 데이터를 포함 tf.constant 연산으로 변환 TF 연산 건설 API에 직접 NumPy와 배열을 전달하면

답변

1

대단히 감사합니다.

이렇게하려면 var=tf.Variable(my_placeholder)을 만들고 var.initializer, feed_dict={my_placeholder: np_array}을 실행하여이 변수를 초기화하십시오. 이것은 numpy 배열 데이터를 변수 저장소에 직접 저장합니다.

+0

전체 도움말에 감사드립니다. 불행히도 아직 세션 처리기가 없습니다. 일단 내 sess가 있으면 그래프에서 나중에 변수를 가져올 수 있지만 피드 dict에 대해서는 더 이상 자리 표시자를 갖지 않습니다. 어떤 생각입니까? 미리 tyvm을 사용하십시오 – Mickey

+0

자리 표시자를 전역 변수에 저장 하시겠습니까? –

+0

고마워요. 불행히도 numpy 배열을 열어 + 텐서에 넣으면 OOM 오류가 발생합니다. 다른 방법으로 배치를 만들어야합니다. – Mickey

관련 문제