【问题标题】:How to use tf.python_io.TFRecordWriter in Tensorflow 2.0如何在 TensorFlow 2.0 中使用 tf.python_io.TFRecordWriter
【发布时间】:2019-05-16 20:29:13
【问题描述】:

我想将 .csv 文件转换为 TF 记录。我现在的问题是,Tensorflow 2.0 中不存在 python_io。

     writer=tf.python_io.TFRecordWriter(FLAGS.output_path)
     path = os.path.join(FLAGS.image_dir)
     examples = pd.read_csv(FLAGS.csv_input)
     grouped = split(examples, 'filename')
     for group in grouped:
        tf_example = create_tf_example(group, path)
        writer.write(tf_example.SerializeToString())
     writer.close()
     output_path = os.path.join(os.getcwd(), FLAGS.output_path)
I get this error:
File "generate_tfrecord.py", line 102, in <module>
main()
File "generate_tfrecord.py", line 89, in main
writer = tf.python_io.TFRecordWriter(FLAGS.output_path)
AttributeError: module 'tensorflow' has no attribute 'python_io'

我必须改用什么?

【问题讨论】:

    标签: python-3.x tensorflow2.0


    【解决方案1】:

    根据官方documentation 的说法,python.io 包已移至名为io 的新包中。只需交换它们即可。

    writer = tf.io.TFRecordWriter(FLAGS.output_path)
    # ...
    

    【讨论】:

      【解决方案2】:

      在 TF 2.0 中,tf.python_io.TFRecordWriter() 已更改为 tf.io.TFRecordWriter()

      【讨论】:

        【解决方案3】:

        Tf.io.TFRecordWriter 是为小型数据集编写 tfrecords 的官方方式。您还可以尝试使用 apache Beam 并行化从 CSV 到 tfrecord 到更大 CSV 的转换。

        import tensorflow as tf
        import numpy as np
        tf.debugging.set_log_device_placement(True)
        
        with tf.io.TFRecordWriter('data.tfrecords') as file_writer:
        
            x = tf.random.normal([100, 1])
            y = tf.random.normal([100, 1])
        
            feature = {
            "x": tf.train.Feature(float_list=tf.train.FloatList(value=x.numpy().astype(np.float))),
            "y": tf.train.Feature(float_list=tf.train.FloatList(value=y.numpy().astype(np.float)))
            }
        
            example = tf.train.Example(features=tf.train.Features(feature=feature))
            record_bytes = example.SerializeToString()
            file_writer.write(record_bytes)
            print(record_bytes)
        

        【讨论】:

          猜你喜欢
          • 2019-09-09
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2020-02-02
          • 2023-04-05
          相关资源
          最近更新 更多