이제라도 기록하기

[오류 해결] module 'tensorflow._api.v2.io' has no attribute 'tf_record_iterator' 본문

Error

[오류 해결] module 'tensorflow._api.v2.io' has no attribute 'tf_record_iterator'

sssky00 2024. 6. 3. 00:36

발생한 오류

TFRecord 파일을 읽어오는 코드를 실행 도중 다음과 같은 오류가 발생하였다. 

module 'tensorflow._api.v2.io' has no attribute 'tf_record_iterator'

 

기존 코드는 다음과 같다. 

for serialized_example in tf.python_io.tf_record_iterator(f):
            example = tf.train.Example()
            example.ParseFromString(serialized_example)

 

위 코드에서 tf_record_iterator를 지원하지 않아서 생기는 오류로 추측된다.

 

참고로 TFRecord는 TensorFlow에서 데이터 세트를 저장하고 읽기 위해 사용하는 바이너리 파일 형식이다. TFRecord 파일은 대용량 데이터 세트를 효율적으로 저장하고 처리할 수 있도록 설계되어 있다고 한다.

 

해결 방법

기존 코드를 아래와 같이 변경해주면 해결된다!

dataset = tf.data.TFRecordDataset(f)
        for serialized_example in dataset:
            example = tf.train.Example()
            example.ParseFromString(serialized_example.numpy())