虚拟环境安装sionna
sionna是Nvidia推出的专用于通信领域的SDK,简单介绍windows中如何在虚拟环境中安装sionna
安装步骤-CPU
以下是CPU版的sionna安装步骤
sionna基于tensorflow,在虚拟环境中使用pip
安装sionna时,会自动安装与其适配的最新版本tensorflow,因此不用事先安装tf
pip install sionna |
安装完成后import sionna
会报错,无法找到LLVM-C.dll,这是因为sionna中部分内容需要LLVM编译框架,缺少该动态链接库,报错信息如下
AttributeError: jit_init_thread_state(): the LLVM backend is inactive because the LLVM shared library ("LLVM-C.dll") could not be found! Set the DRJIT_LIBLLVM_PATH environment variable to specify its path. |
LLVM是什么可以自行了解,简单说它是一个编译框架,以此为基础衍生出很多编译工具
解决方案:Windows: run one of the official installers (many files can be downloaded from this page, look for ones with the pattern LLVM-<version>-win64.exe
). It is important that you let the installer adjust the %PATH%
variable so that the file LLVM-C.dll
can be found by Dr.Jit.
这是LLVM手册提供的安装LLVM教程,我们进入网页,寻找满足版本要求(大于等于8)的LLVM-<version>-win64.exe
文件,下载后以管理员身份运行,在安装过程中勾选添加至环境变量中
安装完成后import sionna
仍然会报同样的错,这是因为虚拟环境并不会去系统环境变量中查找需要的文件,因此找到LLVM的安装路径,找到LLVM-C.dll
文件,复制粘贴至虚拟环境的目录下即可
安装步骤-GPU
以下是GPU版的sionna安装步骤。上述pip install sionna
默认安装tensorflow 2.13-CPU
。sionna
支持的tensorflow
为2.10-2.15
。
截止2024年5月17日通过conda
安装的tf-GPU
版本最高为2.10
,更高版本可从源码编译安装。
conda create -n sionna python=3.9 |
安装完后进入python
编程环境,import tensorflow as tf
报错缺少cuda
,exit()
退出python
conda install cuda # 自动寻找符合tf-2.10-GPU的cudatoolkit |
此时再进入python
测试tf.test.is_gpu_available()
显示True
,则tf-GPU
安装成功
pip install sionna |
安装过程中,安装脚本会自动下载tf-2.13
及其依赖库,安装完成后报错,红色报错提示四个依赖库的版本冲突,分别为keras,protobuf,tensorboard
和tensorflow-estimator
。
依次降低版本,优先满足tensorflow-gpu-2.10
:
pip install keras==2.10.0 # 安装完成后红色报错数量不会减少,但keras版本变成满足tensorflow-gpu而不满足tensorflow-intel |
上述四个版本降完后,仍然报tensorflow 2.13.0
需要tensorflow-intel 2.13.0
,这是因为sionna
默认安装tensorflow2.13
,因此降低版本
pip install tensorflow==2.10.1 |
此时不再报错,进行测试
python |
如果返回False,则
pip uninstall tensorflow-gpu==2.10.0 |
如果在使用sionna
过程中报错,
from google.protobuf.internal import builder as _builder |
这是因为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
版本),在粘贴回去即可。就我而言使用的是anaconda
,build.py
文件的位置在D:Programs\anaconda3\envs\envname\Lib\site-packages\google\protobuf\internal