No module named ‘tensorflow.contrib‘问题解析以及tensorflow的卸载安装和向下兼容

您所在的位置:网站首页 anaconda安装keras-preprocessing No module named ‘tensorflow.contrib‘问题解析以及tensorflow的卸载安装和向下兼容

No module named ‘tensorflow.contrib‘问题解析以及tensorflow的卸载安装和向下兼容

2024-01-01 20:01| 来源: 网络整理| 查看: 265

0、问题原因

TensorFlow 2.0中contrib被弃用

1、卸载原Tensorflow,重新安装

卸载 在开始安装前,如果你的电脑装过tensorflow,请先把他们卸载干净,包括依赖的包(tensorflow-estimator、tensorboard、tensorflow、keras-applications、keras-preprocessing),不然后续安装了tensorflow-gpu可能会出现找不到cuda的问题。 使用pip卸载的命令如下:

pip uninstall tesnsorflow pip uninstall tensorboard ...

重装 (1)激活自己的donda环境 (2)查看当前已有的TensorFlow版本

conda search tensorflow-gpu

在这里插入图片描述

(3)使用conda命令进行安装

conda install tensorflow-gpu==1.14.0

在这里插入图片描述 (4)查看是否可以使用 首先进入自己的donda虚拟环境,在激活python

import tensorflow as tf tf.__version__ tf.test.is_gpu_available()

在这里插入图片描述 在这里插入图片描述 在这里插入图片描述

安装完成!过程比较顺利····

2、不降级,向下兼容

通过Python执行具体的代码,依次达到TF2.0下的对TF1.0适配,当出现No module named 'tensorflow.xxx’类似错误时,先检查代码文件开头import语句,如果是import tensorflow as tf,则修改为:

import tensorflow.compat.v1 as tf tf.compat.v1.disable_eager_execution()

然后继续通过代码执行检查错误,大部分的包都会被解决,一部分包被改名了,但也有一小部分包、库在TF2.0中被移除,只能求助于其他包,部分如下: tensorflow.contrib.layers.fully_connected 该包在2.0中被删除,通过安装tf_slim包解决,如下:

pip install tf-slim

安装后,在代码中导入该包即可:

import tf_slim

可能原处使用的代码为:

import tensorflow.contrib.layers as tf_layers tf_layers.fully_connected(xxxx)

可以替换为:

import tf_slim as tf_layers

tf.random_normal tf.random_normal报错,替换为tf.random.normal即可。 注:将下划线_变成了.

其他包有待发现,可以参考Tensorflow2.0的迁移说明: 链接: Tensorflow



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3