Skip to main content

在kaggle的notebook 执行 import tensorflow-io 报错 undefined symbol

BigBookAbout 2 minKaggletensorflow-ioPython

最近尝试在kaggle的ipython notebook搞事情,在尝试一个新方案的时候,被动执行了import tensorflow-io,代码如下:

import tensorflow-io 

这时提示一个错误,核心内容主要是这段:

libtensorflow_io.so undefined symbol:
_ZN10tensorflow0pKernel11TraceStringEPNS_150pKernelContextEb'

对tensorflow-io不是很熟,直接google,一个简单的error,搜出来一堆看上去不那么靠谱的答案,

例如这个问题下面:unable-to-open-file-libtensorflow-io-so-caused-by-undefined-symbolopen in new window

好几个答案让卸掉tensorflow和tensorflow-io,重新安装tensorflow-gpu和tensorflow-io。

But WHY??

真正的错误原因很简单,就是tensorflow-io和tensorflow版本要适配,或者说兼容。tensorflow-io官方的git repo提供了版本号对应关系的表格。我按照表格检查了一下,kaggle笔记本环境提供的默认tensorflow版本是2.12,但是安装的tensorflow-io是0.31.0。根据表格信息,我应该安装tensorflow-io 0.32.0版本。笔记本中执行安装命令

!pip install tensorflow-io==0.32.0

错误消失。

看来官方的笔记本也不是那么靠谱的喔。

表格链接tensorflow-version-compatibilityopen in new window

TensorFlow I/O VersionTensorFlow CompatibilityRelease Date
0.32.02.12.xMar 28, 2023
0.31.02.11.xFeb 25, 2023
0.30.02.11.xJan 20, 2023
0.29.02.11.xDec 18, 2022
0.28.02.11.xNov 21, 2022
0.27.02.10.xSep 08, 2022
0.26.02.9.xMay 17, 2022
0.25.02.8.xApr 19, 2022
0.24.02.8.xFeb 04, 2022
0.23.12.7.xDec 15, 2021
0.23.02.7.xDec 14, 2021
0.22.02.7.xNov 10, 2021
0.21.02.6.xSep 12, 2021
0.20.02.6.xAug 11, 2021
0.19.12.5.xJul 25, 2021
0.19.02.5.xJun 25, 2021
0.18.02.5.xMay 13, 2021
0.17.12.4.xApr 16, 2021
0.17.02.4.xDec 14, 2020
0.16.02.3.xOct 23, 2020
0.15.02.3.xAug 03, 2020
0.14.02.2.xJul 08, 2020
0.13.02.2.xMay 10, 2020
0.12.02.1.xFeb 28, 2020
0.11.02.1.xJan 10, 2020
0.10.02.0.xDec 05, 2019
0.9.12.0.xNov 15, 2019
0.9.02.0.xOct 18, 2019
0.8.11.15.xNov 15, 2019
0.8.01.15.xOct 17, 2019
0.7.21.14.xNov 15, 2019
0.7.11.14.xOct 18, 2019
0.7.01.14.xJul 14, 2019
0.6.01.13.xMay 29, 2019
0.5.01.13.xApr 12, 2019
0.4.01.13.xMar 01, 2019
0.3.01.12.0Feb 15, 2019
0.2.01.12.0Jan 29, 2019
0.1.01.12.0Dec 16, 2018
Last update:
Contributors: Xuling Chang