Linux——tensorflow新旧版本问题


默认安装2.0版本,但是跑别人的Tensorflow代码时,一直出现版本错误,基本可以用tf.X替换成tf.compat.v1.X解决。但是tf.contrib这个不行。

AttributeError: module ‘tensorflow.compat.v1’ has no attribute ‘contrib’ 因为tensorflow版本问题踩得坑:contrib没找到

方法一、直接卸载,更换版本

卸载2.0版本,重新安装1.X的版本。

1. 查看现在的版本:2.9.1。

在这里插入图片描述

2. 卸载:

在这里插入图片描述

3. 重新安装

1. 直接用命令

pip install tensorflow==1.14.0 -i https://mirrors.aliyun.com/pypi/simple/

报错:

ERROR: Could not find a version that satisfies the requirement tensorflow

2 问题分析

因为Pip版本对应的Python版本下没有这个版本的tensorflow。
当前指令下的Python版本没有选择对。通过执行命令

pip -V

可以查看到该pip对应的python版本是3.8。

3 解决办法

第一种情况(有pip3.6)

查看是否有pip3.6

pip3.6 -V

如果有直接使用pip3.6安装TensorFlow

pip3.6 install tensorflow-gpu==1.14.0
第二种情况(没有pip3.6)

如果有以上步骤执行成功,此步骤跳过
(1)第一步:下载安装Pip的脚本

curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
python get-pip.py

(2) 第二步:安装python3.6版本的pip

python3.6 get-pip.py

如果成功的话,直接第三步,但是这里我报错了:
(忘记截图了,大概就是不支持3.6版本的,让改用3.7版本,或者提供了一个3.6版本的链接。)
解决办法:
把第一步代码的链接改成提示给出的链接:

curl https://bootstrap.pypa.io/pip/3.6/get-pip.py -o get-pip.py

接着再重复执行后续代码。
在这里插入图片描述

(3) 第三步:查看是否安装成功

pip3.6 -V

成功输出

pip 21.3.1 from /usr/local/lib/python3.6/dist-packages/pip (python 3.6)

(4) 第四步:指定pip3.6 执行安装tensorflow

pip3.6 install tensorflow-gpu==1.14.0

验证是否安装成功

python
import tensorflow as tf
tf.__version__

在这里插入图片描述

注:安装好的tensorflow是在python3.6底下的,如果默认环境是python3.8的,需要切换环境。

方法二、不卸载

主要是针对tf.contribute.image.X()的函数。

1. 安装

参考tfa.image.translate/transform等image下的函数:python - What is the equivalent of tf.contrib.image.bipartite_match in Tensorflow 2? - Stack Overflow
先安装 tfa-nightly

pip install tfa-nightly

注意:要根据兼容性重新安装。参考链接:GitHub - tensorflow/addons: Useful extra functionality for TensorFlow 2.x maintained by SIG-addons。我的是py38+tf2.9,所以安装 tfa-nightly。

2. 使用

在代码中,引用

import tensorflow_addons as tfa

然后把涉及到

tf.contrib.image.transform()

都改成:

tfa.image.transform()

搞定。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值