상세 컨텐츠

본문 제목

[텐서플로우 - TFIO] 텐서플로우 io 에러 (NotImplementedError)

머신러닝 이야기

by 리치윈드 - windFlex 2022. 9. 6. 10:35

본문

반응형

Tensorflow IO NotImplementedError : unable to open libtensorflow_io.so

Tensorflow IO (TFIO) 

 

Tensorflow_io는 GPU를 사용하여 파일 로드, 디코딩, 전처리 등을 빠르게 할 수 있어서 매우 유용한 툴이다. 필자 또한 다수의 파일을 읽고 전처리할 때 사용하고 있다. 처음에는, 각 파일별로 전처리한 결과를 저장해 놓고 그때 그때 저장해둔 전처리 결과물을 로딩하여 사용했으나, Tensorflow_io를 사용한 이후 부터는 실행하는 Runtime 시점에 파일로딩->전처리까지 실시간으로 처리하여도 속도 측면에서 뛰어남을 체감하고 있다. 

 

더욱이, 전처리하는 과정에서 일부 수정이 발생하면, 미리 저장해둔 전처리 결과물을 재 생성해야 한다. 이 때문에, 전처리 과정에서 파라미터 변경 등에 따른 실험이 필요하다면 필수적으로 Tensorflow_io를 사용하게 될 것 이다. 

 

그런데,
Tensorflow_io를 실행하자 마자 에러가 발생하는 경우가 있다. 
보통 tensorflow_io의 Audio 모듈을 사용할 경우이다.

 

Tensorflow_io NotimplementedError

문제의 원인 

 

아래와 같이 NotImplementedError가 발생하기도 한다. 특히 Tensorflow 최신버전을 사용하는 경우, 이러한 현상이 더욱 빈번하게 발생하는 듯 하다. 구글링을 통하여 검색해 보면, Conda repository에서 아직 지원을 하지 않는다는 등의 이야기가 있는데, 거두 절미하고 필자가 얻은 답은 "버전 문제" 때문이다. 버전 미스매칭 때문에 발생하는 일인데, 최근 Tesnorflow_io에서 라이브러리의 경로 등이 변경된것이 아닌가 추정하고 있다. 

NotImplementedError: in user code:
   (중략) 
    File "/home/svcapp/.local/lib/python3.9/site-packages/tensorflow_io/python/ops/__init__.py", line 69, in _load_library
        raise NotImplementedError(

    NotImplementedError: unable to open file: libtensorflow_io.so, from paths: ['/home/svcapp/.local/lib/python3.9/site-packages/tensorflow_io/python/ops/libtensorflow_io.so']
    caused by: ['/home/svcapp/.local/lib/python3.9/site-packages/tensorflow_io/python/ops/libtensorflow_io.so: undefined symbol: _ZNK10tensorflow4data11DatasetBase8FinalizeEPNS_15OpKernelContextESt8functionIFNS_8StatusOrISt10unique_ptrIS1_NS_4core15RefCountDeleterEEEEvEE']

 

해결 방안 

여러가지 시도를 해 보았으나, 필자가 해결한 방법은 특정 버전으로 다시 설치하는 방법이다. 필자는 아래와 같이 기존 tensorflow_io를 삭제하고 0.23.1 버전으로 재설치한 후 문제가 해결 되었다. 

!pip uninstall tensorflow_io -y
!pip install tensorflow_io==0.23.1

 

참고적으로, 구글링의 결과로 아래와 같이 "--no-deps" 옵션으로 재설치하라는 가이드도 존재하였으나, 필자의 경우 문제가 해결 되지 않았다. 경우에 따라서는 도움이 될 수 있으나, 추가로 첨부하고자 한다. 

pip uninstall tensorflow
pip uninstall tensorflow-io
pip install tensorflow-gpu
pip install --no-deps tensorflow-io

 

반응형

'머신러닝 이야기' 카테고리의 다른 글

머신러닝을 어떻게 시작할것인가?  (7) 2020.03.15
머신러닝 개념  (2) 2020.03.15

관련글 더보기

댓글 영역