树莓派运行TensorFlow示例报错:AttributeError: 'module' object has no attribute 'feature_column'
问题原因分析
这个问题的核心是TensorFlow版本不兼容:你安装的v1.1.0是非常早期的版本,feature_column模块还没有被纳入TensorFlow的核心API。它直到TensorFlow 1.3.0版本才正式以tf.feature_column的形式推出,而在v1.1.0中,相关的特征列功能只能通过tf.contrib.layers.feature_column来访问。你运行的官网示例代码应该是基于更高版本的TensorFlow编写的,直接调用了tf.feature_column,所以才会触发"AttributeError"。
可行的解决办法
- 升级TensorFlow版本:将你的TensorFlow升级到至少1.3.0以上,更推荐直接升级到1.15.x版本(这是最后支持Python 2.7的TensorFlow版本)。不过要注意,Debian Jessie系统比较老旧,安装高版本TF可能需要处理依赖问题,或者寻找针对树莓派和Python2.7预编译的TF包。
- 修改代码适配旧版本:把示例代码中所有的
tf.feature_column替换为tf.contrib.layers.feature_column。需要注意的是,contrib模块里的API和后续正式版的tf.feature_column存在细节差异,部分功能可能需要微调才能正常运行。 - 使用对应版本的官方示例:去TensorFlow官方文档中找到v1.1.0版本的示例代码,避免使用高版本才引入的特性,这样就能直接适配你当前的环境。
内容的提问来源于stack exchange,提问作者Eva Habeeb
相关产品推荐
相关产品推荐

