从Split .tfrecords file into many .tfrecords files实施解决方案时遇到问题。
import tensorflow as tf
def split_tfrecord(tfrecord_path, split_size):
with tf.Graph().as_default(), tf.Session() as sess:
ds = tf.data.TFRecordDataset(tfrecord_path).batch(split_size)
batch = ds.make_one_shot_iterator().get_next()
part_num = 0
while True:
try:
records = sess.run(batch)
part_path = tfrecord_path + '.{:03d}'.format(part_num)
with tf.python_io.TFRecordWriter(part_path) as writer:
for record in records:
writer.write(record)
part_num += 1
except tf.errors.OutOfRangeError: break
split_tfrecord("tf.examples.tfrecord", 20)
tf_records
,名字很奇怪tf_examples.tfrecord.37040,tf_examples.tfrecord.9984 > tf_examples.tfrecord.37041 tf_examples.tfrecord.99840 > tf_examples.tfrecord.37042 tf_examples.tfrecord.99841 > tf_examples.tfrecord.37043 tf_examples.tfrecord.99842 > tf_examples.tfrecord.37044 tf_examples.tfrecord.99843 > tf_examples.tfrecord.37045 tf_examples.tfrecord.99844 > tf_examples.tfrecord.37046 tf_examples.tfrecord.99845 > tf_examples.tfrecord.37047 tf_examples.tfrecord.99846 > tf_examples.tfrecord.37048 tf_examples.tfrecord.99847 > tf_examples.tfrecord.37049 tf_examples.tfrecord.99848 > tf_examples.tfrecord.3705 tf_examples.tfrecord.99849 > tf_examples.tfrecord.37050 tf_examples.tfrecord.9985 > tf_examples.tfrecord.37051 tf_examples.tfrecord.99850 > tf_examples.tfrecord.37052 tf_examples.tfrecord.99851 > tf_examples.tfrecord.37053 tf_examples.tfrecord.99852 > tf_examples.tfrecord.37054 tf_examples.tfrecord.99853 > tf_examples.tfrecord.37055 tf_examples.tfrecord.99854 > tf_examples.tfrecord.37056 tf_examples.tfrecord.99855 > tf_examples.tfrecord.37057 tf_examples.tfrecord.99856 > tf_examples.tfrecord.37058 tf_examples.tfrecord.99857 > tf_examples.tfrecord.37059 tf_examples.tfrecord.99858 > tf_examples.tfrecord.3706 tf_examples.tfrecord.99859 > tf_examples.tfrecord.37060 tf_examples.tfrecord.9986 > tf_examples.tfrecord.37061 tf_examples.tfrecord.99860 > tf_examples.tfrecord.37062 tf_examples.tfrecord.99861 > tf_examples.tfrecord.37063 tf_examples.tfrecord.99862 > tf_examples.tfrecord.37064 tf_examples.tfrecord.99863 > tf_examples.tfrecord.37065 tf_examples.tfrecord.99864 > tf_examples.tfrecord.37066 tf_examples.tfrecord.99865 > tf_examples.tfrecord.37067 tf_examples.tfrecord.99866 > tf_examples.tfrecord.37068 tf_examples.tfrecord.99867 > tf_examples.tfrecord.37069 tf_examples.tfrecord.99868 > tf_examples.tfrecord.3707 tf_examples.tfrecord.99869 > tf_examples.tfrecord.37070 tf_examples.tfrecord.9987 > tf_examples.tfrecord.37071 tf_examples.tfrecord.99870 > tf_examples.tfrecord.37072 tf_examples.tfrecord.99871 > tf_examples.tfrecord.37073 tf_examples.tfrecord.99872 > tf_examples.tfrecord.37074 tf_examples.tfrecord.99873 > tf_examples.tfrecord.37075 tf_examples.tfrecord.99874 > tf_examples.tfrecord.37076 tf_examples.tfrecord.99875 > tf_examples.tfrecord.37077 tf_examples.tfrecord.99876 > tf_examples.tfrecord.37078 tf_examples.tfrecord.99877 > tf_examples.tfrecord.37079 tf_examples.tfrecord.99878 > tf_examples.tfrecord.3708 tf_examples.tfrecord.99879 > tf_examples.tfrecord.37080 tf_examples.tfrecord.9988 > tf_examples.tfrecord.37081 tf_examples.tfrecord.99880 > tf_examples.tfrecord.37082 tf_examples.tfrecord.99881 > tf_examples.tfrecord.37083 tf_examples.tfrecord.99882 > tf_examples.tfrecord.37084 tf_examples.tfrecord.99883 > tf_examples.tfrecord.37085 tf_examples.tfrecord.99884