2017-04-25 8 views
0

이 모델은 P2.xlarge 유형의 AWS 인스턴스에서 실행 중입니다. 1e.0의 3D 컨트롤러 : 엔비디아 GK210GL [테슬라 K80MemoryError tensorflow

Filesystem Size Used Avail Use% Mounted on 
udev 30G 0 30G 0% /dev 
tmpfs 6.0G 8.9M 6.0G 1% /run 
/dev/xvda1 30G 12G 18G 39%/
tmpfs 30G 0 30G 0% /dev/shm 
tmpfs 5.0M 0 5.0M 0% /run/lock 
tmpfs 30G 0 30G 0% /sys/fs/cgroup 
tmpfs 6.0G 0 6.0G 0% /run/user/1000 

NVIDIA 상태 -

[email protected]:~$ lspci | grep -i nvidia 

00 -

Exception in thread Thread-16: 
Traceback (most recent call last): 
File "/usr/lib/python2.7/threading.py", line 801, in __bootstrap_inner 
self.run() 
File "/usr/lib/python2.7/threading.py", line 754, in run 
self.__target(*self.__args, **self.__kwargs) 
File "/home/ubuntu/tensorflow/models/summarization/textsum/batch_reader.py" , line 136, in _FillInputQueue 
(article, abstract) = input_gen.next() 
File "/home/ubuntu/tensorflow/models/summarization/textsum/batch_reader.py", line 245, in _TextGenerator 
e = example_gen.next() 
File "/home/ubuntu/tensorflow/models/summarization/textsum/data.py", line 109, in ExampleGen 
example_str = struct.unpack('%ds' % str_len, reader.read(str_len))[0] 
MemoryError 

시스템 저장 정보는 다음과 같이 오류를주고있다 ] (rev a1)

이 해결책은 무엇입니까?

내가 str_len = struct.unpack('q', len_bytes)[0] str_len = struct.unpack('Bi', len_bytes)[0]로 교체 할 경우이 오류가 사라지고 새로운 오류로 올 : 나는 화면에 그 값이 표시 example_str를 인쇄 할 경우

Exception in thread Thread-15: 
Traceback (most recent call last): 
File "/usr/lib/python2.7/threading.py", line 801, in __bootstrap_inner 
self.run() 
File "/usr/lib/python2.7/threading.py", line 754, in run 
self.__target(*self.__args, **self.__kwargs) 
File "/home/mindstix/bazel/models/Summarizer/textsum/batch_reader.py", line 136, in _FillInputQueue 
(article, abstract) = input_gen.next() 
File "/home/mindstix/bazel/models/Summarizer/textsum/batch_reader.py", line 248, in _TextGenerator 
article_text = self._GetExFeatureText(e, self._article_key) 
File "/home/mindstix/bazel/models/Summarizer/textsum/batch_reader.py", line 265, in _GetExFeatureText 
return ex.features.feature[key].bytes_list.value[0] 
IndexError: list index (0) out of range 

. 그러나 ex.features.feature[key].bytes_list.value을 인쇄하려고하면 빈칸이됩니다.

이 모든 문제를 해결하려면 어떻게해야합니까?

이것은 내가 다음하고 코드 단계입니다 :

>>> import tensorflow as tf 
>>> import struct 
>>>from tensorflow.core.example import example_pb2 
>>> reader = open('data/training-1', 'rb') 
>>> len_bytes = reader.read(8) 
>>> str_len = struct.unpack('q', len_bytes)[0] 
>>> str_len 
2335523720558635124 
>>> example_str = struct.unpack('%ds' % str_len, reader.read(str_len))[0] 
Traceback (most recent call last): 
File "<stdin>", line 1, in <module> 
MemoryError 

>>> str_len = struct.unpack('Bi', len_bytes)[0] 
>>> str_len 
116 

>>> example_str = struct.unpack('%ds' % str_len, reader.read(str_len))[0] 
>>>e = example_pb2.Example.FromString(example_str) 
>>> e.features.feature['article'].bytes_list.value 
<google.protobuf.pyext._message.RepeatedScalarContainer object at 0x7fc25c9325a8> 

>>> e.features.feature['article'].bytes_list.value[0] 
Traceback (most recent call last): 
File "<stdin>", line 1, in <module> 
IndexError: list index (0) out of range 
+0

컨텍스트로 나머지 코드가 없으면 아무 말도하지 않습니다. 최소의 실행 가능한 예제로 압축 할 수 있습니까? –

+0

@AllenLavoie 나는 tensorflow를 사용하여 실행하려고하는 샘플 코드로 질문을 업데이트했습니다. –

+0

그래서 기사 기능이 비어 있습니까? 그것이 없어야한다고 생각하는 이유가 있습니까? 전체 예제 ('print (e)')를 출력하여 구문 분석 결과를 확인하는 것이 유용 할 수 있습니다. 또한'struct' 사용법으로 어떤 일이 벌어지고 있는지 확실하지 않습니다 : 아마도 [TFRecord] (https://www.tensorflow.org/api_guides/python/python_io) 형식이 더 안정적인 저장 형식이 될까요? –

답변

0

저도 같은 문제에 쌓여있어. 하지만 그 이유는 테스트 용 원시 텍스트 파일을 사용하기 때문입니다. 전송 된 이진 파일을 사용해야합니다. 나는 당신의 상황이 저와 같은지 확신하지 못합니다.

+0

내 오류가 해결되었습니다. 그 오류는 텐서 플로/텍스트에 대한 입력 파일의 바이너리 형식의 부정확성 때문이었습니다. 'example_str = struct.unpack ('% ds'% str_len, reader.read (str_len)) [0]' read() 함수는 해당 데이터 바이트를 읽어야합니다. 나는 잘못된 크기를 넘겨 줬다. 따라서 결과적으로 e.features.feature [ 'article']. bytes_list.value'는 아무 것도 가지고 있지 않습니다. 그 당시에는 물건이 공백이었습니다. 텍스트 형식을 tensorflow 허용 형식으로 변환하려고했습니다. [https://github.com/surmenok/TextSum/blob/master/textsum_data_convert.py]을 사용하십시오. –