ModuleNotFoundError: No module named ‘tensorflow.contrib’

问题描述:

import tensorflow.contrib.metrics as contrib_metrics
import tensorflow.contrib.slim as contrib_slim

代码如上,在tensorflow2.0版本中contrib 这个包是已经没有了,其中有些功能被集成到tensorflow新版中去了,有的没有人维护的功能模块就直接被删除了,当然还有些有人维护的模块被转移至别的包里面了,详细的可以查看这里:https://github.com/tensorflow/community/blob/master/rfcs/20180907-contrib-sunset.mdicon-default.png?t=LA92https://github.com/tensorflow/community/blob/master/rfcs/20180907-contrib-sunset.md

降低版本的方法这里不作讨论,如能接受降低版本的方法看到这里就可以退出了,毕竟降低版本真的来的快一些(好像也不一定)。 

这里先解决引入 slim 的问题:

查看前面提到的地方可以看到这里说slim是还在的,但是!这个move to 打了个问号,实际上我在查找是也是没有这么个包;只能确认没有被删除,这个表格好像是18年更新的,可能有点跟不上新的板块情况了。

进一步百度,参考链接:不降级解决ModuleNotFoundError: No module named ‘tensorflow.contrib‘_Rex__404的博客-CSDN博客问题在TensorFlow2.x版本已经不能使用contrib包import tensorflow.contrib.slim as slim使用该包时报错如下 ModuleNotFoundError: No module named ‘tensorflow.contrib’解决参考链接用如下语句下载镜像包pip install --upgrade tf_slim将import tensorflow.contrib.slim as slim改为import tf_slim as slhttps://blog.csdn.net/Rex__404/article/details/112798943?utm_medium=distribute.pc_aggpage_search_result.none-task-blog-2~aggregatepage~first_rank_ecpm_v1~rank_v31_ecpm-3-112798943.pc_agg_new_rank&utm_term=tensorflow.contrib&spm=1000.2123.3001.4430

可以通过安装tf_slim包来解决这个引入问题;

pip install --upgrade tf_slim

 安装成功:

ModuleNotFoundError: No module named ‘tensorflow.contrib’_第1张图片

 此时我们引入语句改为:

import tf_slim as contrib_slim

 这时候我们把镜头转回第一句引入,这个问题稍稍麻烦一点,(咳咳,主要是没人直接写):

这里看下问题所在:

import tensorflow.contrib.metrics as contrib_metrics
# import tensorflow.contrib.slim as contrib_slim
import tf_slim as contrib_slim

 扎心的地方在于这个metric 虽然没被删除,但这个走向我也是看不懂,百度自然是没结果的;

 于是我只好从后文引入的metric的函数 aggregate_metric_map () 入手;

ModuleNotFoundError: No module named ‘tensorflow.contrib’_第2张图片

 这里通过别人的代码我发现这个模块在slim包下面,下面尝试进行解决:

 验证可行(不报错):

ModuleNotFoundError: No module named ‘tensorflow.contrib’_第3张图片

 后续产生的连锁反应这里还米有发现,有问题会续更,解决方案不正确勿喷~

欢迎高手指教。

你可能感兴趣的:(深度学习,人工智能,tensorflow)