草庐IT

不降级解决No module named ‘tensorflow.contrib‘

data-master 2023-08-23 原文

首先这是一个tensorflow1.x和tensorflow2.x的一个冲突,很多tensorflow1.x的包都被删除和移动到别的地方,网上面最多的做法就是降级,降级了不是可能会引发更多的冲突吗,我不是很理解,也有可能是我技术不到家,还没法领悟。

下面我将演示自己的改python额外安装包源码的过程。这是在tf2.x的状态:

from tensorflow.contrib.crf import viterbi_decode

Traceback (most recent call last):
  File "C:\Users\csdn\.conda\envs\lastner\Lib\site-packages\fool\predictor.py", line 7, in <module>
    from tensorflow.contrib.crf import viterbi_decode
ModuleNotFoundError: No module named 'tensorflow.contrib'

可以看到报错了跑不动,下面开始操作:你可先百度你需要的模块在不在额外的装包里动动小手查查在哪,我就不赘述了当然你也可以使用官网的搜索功能:比如我想要导入viterbi_decode

TensorFlow (google.cn),动动小手去点击一下:

看到你需要的位置了吗,那就接着下一步,把我们需要的模块的路径重新修改导入。顺便再介绍一下tensorflow2.x已经将tf.contrib移除,许多功能转移到了第三方库,现在绍其中的我需要的一个库tensorflow_addons(tfa)的安装与使用方法:可与去github看看版本对应,或者直接,安装出错再说,反正是探索。

tfa安装:pip install tensorflow_addons==版本号

Module: tfa  |  TensorFlow Addons

打开这个链接,你将看到下面的情况:找到Fliter过滤搜索你需要的tfa的模块

from tensorflow_addons.text import viterbi_decode##(自行修改源码)

安装完成后,再改python封装包的源码的导入过程:跑一下看看

C:\Users\csdn\.conda\envs\lastner\lib\site-packages\tensorflow_addons\utils\ensure_tf_install.py:67: UserWarning: Tensorflow Addons supports using Python ops for all Tensorflow versions above or equal to 2.9.0 and strictly below 2.12.0 (nightly versions are not supported). 
 The versions of TensorFlow you are currently using is 2.6.2 and is not supported. 
Some things might work, some things might not.
If you were to encounter a bug, do not file an issue.
If you want to make sure you're using a tested and supported configuration, either change the TensorFlow version or the TensorFlow Addons's version. 
You can find the compatibility matrix in TensorFlow Addon's readme:
https://github.com/tensorflow/addons
  UserWarning,

出现了一个小警告,没事看看我自己写的小程序能不能跑通这个被修改源码的包,然后又出现了小bug,重复上面的操作,去搜索:GFile

AttributeError: module 'tensorflow' has no attribute 'GFile'

with tf.io.gfile.GFile(path, "rb") as f:#修改

 module 'tensorflow' has no attribute 'GraphDef'

又出来bug了,再去搜索一下GraphDef再次修改:我们可以看到我们需要的模块GraphDef 在tensorflow.compat.v1里可以使用暴力手法把tf.compat.v1.GraphDef直接导入。这可能会导致其他包报错,但是你可以先这样笼统的试一下,如果可以跑就ok了,不可以再去查。

import tensorflow.compat.v1 as tf

 然后再去跑一下总的程序,看看能不能跑:答案是完美解决,可以跑通了。

 我想说的是,我的方法虽然很笨拙,已经到了修改第三方库的源码的地步了,但是这是一种方法,一种不需要去乱降级,瞎搞一通要好的多,希望对大家有用。

看完要点赞,不要白嫖。

有关不降级解决No module named ‘tensorflow.contrib‘的更多相关文章

  1. 屏幕录制为什么没声音?检查这2项,轻松解决 - 2

    相信很多人在录制视频的时候都会遇到各种各样的问题,比如录制的视频没有声音。屏幕录制为什么没声音?今天小编就和大家分享一下如何录制音画同步视频的具体操作方法。如果你有录制的视频没有声音,你可以试试这个方法。 一、检查是否打开电脑系统声音相信很多小伙伴在录制视频后会发现录制的视频没有声音,屏幕录制为什么没声音?如果当时没有打开音频录制,则录制好的视频是没有声音的。因此,建议在录制前进行检查。屏幕上没有声音,很可能是因为你的电脑系统的声音被禁止了。您只需打开电脑系统的声音,即可录制音频和图画同步视频。操作方法:步骤1:点击电脑屏幕右下侧的“小喇叭”图案,在上方的选项中,选择“声音”。 步骤2:在“声

  2. 【高数】用拉格朗日中值定理解决极限问题 - 2

    首先回顾一下拉格朗日定理的内容:函数f(x)是在闭区间[a,b]上连续、开区间(a,b)上可导的函数,那么至少存在一个,使得:通过这个表达式我们可以知道,f(x)是函数的主体,a和b可以看作是主体函数f(x)中所取的两个值。那么可以有,  也就意味着我们可以用来替换 这种替换可以用在求某些多项式差的极限中。方法: 外层函数f(x)是一致的,并且h(x)和g(x)是等价无穷小。此时,利用拉格朗日定理,将原式替换为 ,再进行求解,往往会省去复合函数求极限的很多麻烦。使用要注意:1.要先找到主体函数f(x),即外层函数必须相同。2.f(x)找到后,复合部分是等价无穷小。3.要满足作差的形式。如果是加

  3. 深度学习部署:Windows安装pycocotools报错解决方法 - 2

    深度学习部署:Windows安装pycocotools报错解决方法1.pycocotools库的简介2.pycocotools安装的坑3.解决办法更多Ai资讯:公主号AiCharm本系列是作者在跑一些深度学习实例时,遇到的各种各样的问题及解决办法,希望能够帮助到大家。ERROR:Commanderroredoutwithexitstatus1:'D:\Anaconda3\python.exe'-u-c'importsys,setuptools,tokenize;sys.argv[0]='"'"'C:\\Users\\46653\\AppData\\Local\\Temp\\pip-instal

  4. ruby - 如何更快地解决 project euler #21? - 2

    原始问题Letd(n)bedefinedasthesumofproperdivisorsofn(numberslessthannwhichdivideevenlyinton).Ifd(a)=bandd(b)=a,whereab,thenaandbareanamicablepairandeachofaandbarecalledamicablenumbers.Forexample,theproperdivisorsof220are1,2,4,5,10,11,20,22,44,55and110;therefored(220)=284.Theproperdivisorsof284are1,2,

  5. ruby - 为什么这些方法没有解决? - 2

    这个问题在这里已经有了答案:WhydoRubysettersneed"self."qualificationwithintheclass?(3个答案)关闭29天前。给定这段代码:classSomethingattr_accessor:my_variabledefinitialize@my_variable=0enddeffoomy_variable=my_variable+3endends=Something.news.foo我收到这个错误:test.rb:9:in`foo':undefinedmethod`+'fornil:NilClass(NoMethodError)fromtes

  6. 电脑启动后显示器黑屏怎么办?排查下面4个问题,快速解决 - 2

    电脑启动出现显示器黑屏是一个相当常见的问题。如果您遇到了这个问题,不要惊慌,因为它有很多可能的原因,可以采取一些简单的措施来解决它。在本文中,小编将介绍下面4种常见的电脑启动后显示器黑屏的原因,排查这些原因,快速解决! 演示机型:联想Ideapad700-15ISK-ISE系统版本:Windows10一、显示器问题如果出现电脑启动后显示器黑屏的情况。那么首先您需要检查一下显示器是否正常工作。您可以通过更换另一个显示器或将当前显示器连接到另一台计算机来检查显示器是否存在问题。如果问题仍然存在,那么您可以排除显示器故障的可能性。 二、显卡问题如果您的电脑配备了独立显卡,那么显卡故障也可能是导致电脑

  7. 关于Qt程序打包后运行库依赖的常见问题分析及解决方法 - 2

    目录一.大致如下常见问题:(1)找不到程序所依赖的Qt库version`Qt_5'notfound(requiredby(2)CouldnotLoadtheQtplatformplugin"xcb"in""eventhoughitwasfound(3)打包到在不同的linux系统下,或者打包到高版本的相同系统下,运行程序时,直接提示段错误即segmentationfault,或者Illegalinstruction(coredumped)非法指令(4)ldd应用程序或者库,查看运行所依赖的库时,直接报段错误二.问题逐个分析,得出解决方法:(1)找不到程序所依赖的Qt库version`Qt_5'

  8. 【RuntimeError: CUDA error: device-side assert triggered】问题与解决 - 2

    RuntimeError:CUDAerror:device-sideasserttriggered问题描述解决思路发现问题:总结问题描述当我在调试模型的时候,出现了如下的问题/opt/conda/conda-bld/pytorch_1656352465323/work/aten/src/ATen/native/cuda/IndexKernel.cu:91:operator():block:[5,0,0],thread:[63,0,0]Assertion`index>=-sizes[i]&&index通过提示信息可以知道是个数组越界的问题。但是如图一中第二行话所说这个问题可能并不出在提示的代码段

  9. ruby-on-rails - 如何解决#<Book::ActiveRecord_Relation:0x007fb709a6a8c0> 的未定义方法 `to_key'? - 2

    我遇到了未定义方法`to_key'的问题这是我的books_controller.rbclassBooksController和我的索引页如下。index.html.erb......现在当我要访问索引页面时出现如下错误。undefinedmethod`to_key'for# 最佳答案 index通常返回一个集合。事实上,您的Controller符合要求。但是,您的View试图为其定义一个表单。正如您所发现的,这不会成功。表单适用于实体,而不适用于集合。该错误在您看来以及您希望如何处理index。

  10. ruby - 在 tensorflow.rb 上运行保存的模型 - 2

    我使用高级EstimatorAPI(DNNClassifier)在Python中构建并保存了一个非常简单的模型。它需要2个float并输出两个类之一。我正在尝试使用tensorflow.rbgem在Ruby中加载它,并用它做出预测。这应该很相似totheCAPTCHAexampleprovidedbytensorflow.rb.我使用export_saved_model保存了它。这是训练模型的Python代码。它可以正确地预测类别。将numpy导入为np将Pandas导入为pd将tensorflow导入为tfdataframe=pd.read_csv("remediations_imp

随机推荐