TFRecord :: 대화형 AI - mindscale
Skip to content

TFRecord

import tensorflow as tf
'안녕하세요'.encode('utf8')
b'\xec\x95\x88\xeb\x85\x95\xed\x95\x98\xec\x84\xb8\xec\x9a\x94'
'안녕하세요'.encode('cp949')
b'\xbe\xc8\xb3\xe7\xc7\xcf\xbc\xbc\xbf\xe4'
writer = tf.io.TFRecordWriter('test.tfrecord')
writer.write(b'abcd')
writer.write(b'defg')
writer.close()
dataset = tf.data.TFRecordDataset('test.tfrecord')
for item in dataset:
    print(item)
tf.Tensor(b'abcd', shape=(), dtype=string)
tf.Tensor(b'defg', shape=(), dtype=string)
x = tf.convert_to_tensor([[1, 2], [3, 4]])
s = tf.io.serialize_tensor(x)
s.numpy()
b'\x08\x03\x12\x08\x12\x02\x08\x02\x12\x02\x08\x02"\x10\x01\x00\x00\x00\x02\x00\x00\x00\x03\x00\x00\x00\x04\x00\x00\x00'
tf.io.parse_tensor(s, tf.int32)
<tf.Tensor: shape=(2, 2), dtype=int32, numpy=
array([[1, 2],
       [3, 4]], dtype=int32)>
example = tf.train.Example(features=tf.train.Features(feature={
}))
s = example.SerializeToString()
s
b'\n\x00'
tf.train.Example.FromString(s)
features {
}
example = tf.train.Example(features=tf.train.Features(feature={
    'name': tf.train.Feature(bytes_list=tf.train.BytesList(value=[b'1234'])),
    'real_number': tf.train.Feature(float_list=tf.train.FloatList(value=[12.34])),
    'interger': tf.train.Feature(int64_list=tf.train.Int64List(value=[1234]))
}))
s = example.SerializeToString()
s
b'\n?\n\x10\n\x04name\x12\x08\n\x06\n\x041234\n\x17\n\x0breal_number\x12\x08\x12\x06\n\x04\xa4pEA\n\x12\n\x08interger\x12\x06\x1a\x04\n\x02\xd2\t'
tf.train.Example.FromString(s)
features {
  feature {
    key: "interger"
    value {
      int64_list {
        value: 1234
      }
    }
  }
  feature {
    key: "name"
    value {
      bytes_list {
        value: "1234"
      }
    }
  }
  feature {
    key: "real_number"
    value {
      float_list {
        value: 12.34000015258789
      }
    }
  }
}