基于tensorflow-gpu 2.10搭建sionna的anaconda环境

      sionna是NVIDIA开发的一款用于链路级仿真的GPU加速开源库,基于Tensorflow架构能够对复杂的通信系统进行快速的原型设计,验证信号处理算法在端到端系统中的性能,是世界上第一个能够在物理层使用神经网络的框架,并且不需要为数据生成、培训和性能评估使用单独的工具链,结合了R&S用于信号生成和分析的高端测试解决方案在2023年2月的世界移动通信大会(MWC)巴塞罗那世界移动通信(MWC)大会上,展示了业界首个神经接收机的硬件在环演示。

     为了使用sionna,需要基于tensorflow-gpu 2.10搭建环境,由于tensorflow-gpu 2.10是最后一个可以直接下载的支持GPU的版本,再往后需要使用WSL2进行下载,因此为简单起见,直接使用2.10版本。

       首先在anaconda中进行tensorflow-gpu 2.10的安装(我使用的python版本是3.8)

(建议先装sionna,再装tensorflow-gpu2.10不然在后续的降版本中操作中,可能破坏了tensorflow-gpu2.10的某些参数,导致无法调用)

conda install cudnn==8.2.1
pip install tensorflow-gpu==2.10.0

安装完后,使用conda list查看,如下图

接着安装sionna

pip install sionna

安装完后,会显示如下的结果

可以看见,sionna和tensorflow-gpu 2.10的依赖库发生了冲突,可以选择升级tensorflow-gpu的版本到2.13,但由于这个下载起来太麻烦了,我们选择直接降版本,根据提示,总共有四个库版本起冲突了,keras,protobuf,tensorboard和tensorflow-estimator。

pip install keras==2.10.0

得到下面的结果

继续降版本

pip install tensorboard==2.10

可以看见,这时出现一个tensorflow-intel的库和tensorflow-gpu 2.10起冲突了,先不管,先保证tensorflow-gpu2.10

pip install tensorflow-estimator==2.10.0

现在就只有tensorflow-intel 有问题,直接把它版本降了(O(∩_∩)O哈哈~)

pip install tensorflow-intel==2.10.1

降了之后发现它又出问题了,这是因为pip 安装的sionna是默认匹配tensorflow2.13的,所需要通通降版本

pip install tensorflow==2.10.1

好了,这下库冲突问题解决了,我们用python测试一下,在anaconda prompt 中输入 python

import sionna
print(sionna.__version__)

然后测试tensorflow-gpu2.10

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

一开始发现是false吓了一跳,后面想着可能是因为在安装sionna和降版本操作后,可能改变了tensorflow-gpu2.10的某些参数,导致无法调用,所以直接删了重装

pip uninstall tensorflow-gpu==2.10.0
pip install tensorflow-gpu==2.10.0

再测试一下,发现好了,sionna的调用也没问题。


如果在测试调用中出现,这样的protobuf的builder调用错误问题:

from google.protobuf.internal import builder as _builder
ImportError: cannot import name 'builder' from 'google.protobuf.internal' (C:\Users\bachir\PycharmProjects\pythonProject\venv\lib\site-packages\google\protobuf\internal\__init__.py)

这是由于protobuf的版本问题,由于tensorflow-gpu需要的是protobuf==3.19.6,但是 protobuf v3.20.0 以来,python 类得到了简化,生成的 python 代码现在引用一个build模块,如果不是最新版本的protobuf是找不到该模块的。


因此我们可以在安装完sionna后(此时protobuf是最新版),在anaconda环境下找到该文件将它复制下来,在安装完tensorflow-gpu2.10后(protobuf变成了3.19.6版本),在粘贴回去即可。就我而言使用的是anacond,build.py文件的位置在

C:\Users\ {userX} \anaconda3\envs\ {envname} \Lib\site-packages\google\protobuf\internal

之后测试就可以顺利进行了

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值