2017-04-25 5 views
0

私はこのモデルをP2.xlarge型のAWSインスタンスから実行しています。 1e.0の3Dコントローラ:NVIDIAコーポレーションGK210GL [テスラK80 -MemoryErrorテンソルフロー

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 
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

私のエラーは解決されました。このエラーは、テンソルフロー/テキストの入力ファイルのバイナリ形式の誤りのために発生しました。 '(%ds '%str_len、reader.read(str_len))[0]' read()関数は、そのバイトのデータを読み取るために値を必要とします。私は無効なサイズを渡していた。結果として 'e.features.feature ['article']。bytes_list.value'は何も持っていません。その時、オブジェクトは空白でした。 テキスト形式をテンソルフロー可能な形式に変換しようとしました。 [https://github.com/surmenok/TextSum/blob/master/textsum_data_convert.py]を使用してください。 –