2017-11-13 16 views
0

はシングルタイプ、uint8のかint32型の値で構成さなどTensorflow:それはRAWファイルを読み込むのは簡単だUINT8でRAWファイルを読み込むとのfloat32

record = tf.reshape(tf.decode_raw(data, tf.uint8), [record_bytes]) 

今、各レコードはuint8のデータとのfloat32ラベルで構成されている場合は、それを正しく読むには?

例:各レコードの形式は次のとおりです。

data   label 
2048 uint8 8 floats 
total bytes of each record = 2048 + 8*4 = 2072 

答えて

0

あなたは、異なるタイプで二回tf.decode_raw()を使用し、その後、レコードからバイトの適切な範囲を選択するために、tf.substr()操作を使用することができます。たとえば、あなたの生のデータを仮定するとdataと呼ばtf.stringテンソルである:あなたの助けのための

features = tf.decode_raw(tf.substr(data, 0, 2048), tf.uint8) 
label = tf.decode_raw(tf.substr(data, 2048, 32), tf.float32) 
+0

感謝。このように複数のレコードをデコードして、バッチとしてRandomShuffleQueueに送り込んでトレーニングすることは可能ですか? –

+0

はい。パイプラインを構築するには 'tf.data.Dataset'を使うことをお勧めします。 'tf.data.FixedLengthRecordDataset'はあなたの場合に最も役立ちます。 – mrry

関連する問題