Ubuntu20.24(WSL) tensorflow环境搭建

说明

30系显卡仅支持CUDA11以上的版本,目前最新的Tensorflow和PyTorch虽然都可以直接使用,然而谷歌不再维护的tensorflow1.x却无法安装在CUDA11环境下。好在NVIDIA一直在维护一个1.15版本的nvidia-tensorflow可以使用在30系显卡上。具体安装要求如下:

Ubuntu20.24(WSL) tensorflow环境搭建

如果WIN平台下安装了支持WSL2的显卡驱动,则WSL下的Ubuntu会自带驱动,不需要再次安装,同时nvidia-tensorflow 这个项目已经集成cuda和cudnn以支持最新的nvidai驱动,因此也不需要再安装cuda和cudnn, 查询 Ubuntu 是否已经安装了显卡驱动。

Ubuntu20.24(WSL) tensorflow环境搭建

经过测试此方案可以安装官方最新的显卡驱动。

安装 Miniconda

下载并安装最小集成版本的 anaconda ,这里选择python3.8版本

Ubuntu20.24(WSL) tensorflow环境搭建

bash Miniconda3-py38_23.1.0-1-Linux-x86_64.sh

添加环境变量

vim ~/.bashrc
# 最后一行添加
export PATH=/home/xxx/miniconda3/bin/:$PATH

source ~/.bashrc
conda --version

配置tensorflow1.x环境

创建环境

conda create --name nvidia-tf1.x
conda install python==3.8 -n "nvidia-tf1.x"
# 激活 conda
source activate
# 退出 conda 或 conda环境
conda deactivate
conda env list

配置环境

source activate
conda  activate nvidia-tf1.x
pip install --upgrade pip
pip install nvidia-pyindex
pip install nvidia-tensorflow[horovod]
pip install nvidia-tensorboard==1.15
vim ~/tensorflow1-gpu.py
python tensorflow1-gpu.py
# 退出nvidia-tf1.x环境
conda deactivate
# 退出conda环境
conda deactivate
# tensorflow1-gpu.py
import tensorflow as tf
import tensorboard

tf.enable_eager_execution()
a = tf.random.uniform([1000, 1000])
b = tf.random.uniform([1000, 1000])

print("tensorflow version:",tf.__version__)
print("gpu:",tf.test.is_gpu_available())
print("cuda:",tf.test.is_built_with_cuda())
print(tf.matmul(a, b))

Ubuntu20.24(WSL) tensorflow环境搭建

关于 TFLite 支持的问题

NVIDIA/tensorflow/issues/16

NVIDIA 为了兼容最新的显卡驱动,舍弃了对 TFLite 的支持。

Ubuntu20.24(WSL) tensorflow环境搭建
因此不得不安装 TF2 来提供模型转换功能的支持,而anaconda可以很方便的管理多个版本的python环境,这也是前面使用anaconda安装 TF1的原因。在此暂时不建议使用NVIDIA提供的Docker方式安装。

  1. 查阅版本要求

tensorflow查询支持的配置,以避免不必要的麻烦 。

Ubuntu20.24(WSL) tensorflow环境搭建

配置环境

conda create --name nvidia-tf2.x python=3.9
source activate
conda  activate nvidia-tf2.x
pip install --upgrade pip

# 查看可以用来安装的cudatoolkit的所有版本都有哪些
conda search cudatoolkit
# 查看所有列出来的cudatoolkit的详细信息,包括版本号version,文件网址url,依赖项dependencies
conda search cudatoolkit --info
conda install cudatoolkit=11.3

conda search cudnn --info
conda install cudnn=8.2

# conda search tensorflow-gpu --info# 只更新到了2.4版本,改用pip安装
pip install tensorflow-gpu==2.6
vim ~/tensorflow2-gpu.py
python tensorflow2-gpu.py

# 退出nvidia-tf1.x环境
conda deactivate
# 退出conda环境
conda deactivate
# tensorflow2-gpu.py
import tensorflow as tf
import tensorboard

#tf.enable_eager_execution()
a = tf.random.uniform([1000, 1000])
b = tf.random.uniform([1000, 1000])

print("tensorflow version:",tf.__version__)
print("gpu:",tf.test.is_gpu_available())
print("cuda:",tf.test.is_built_with_cuda())
print(tf.matmul(a, b))

Ubuntu20.24(WSL) tensorflow环境搭建

常见问题FAQ

下载速度巨慢,或因为超时问题而安装失败,可以尝试以下解决方案。

  1. 使用默认源,合理配置代理

Clash for Windows 规则模式代理配置

parsers: # array
  - url: https://linkuserssnk.xxyjx.cc/link/XmCwv00Wm03z5eup?clash=1
    yaml:
      prepend-rules:
        - DOMAIN-SUFFIX,nvidia.com,🔰国外流量
        - DOMAIN-SUFFIX,typingclub.com,🔰国外流量
        - DOMAIN-SUFFIX,pypi.org,🔰国外流量
        - DOMAIN-SUFFIX,pythonhosted.org,🔰国外流量
        - DOMAIN-SUFFIX,ubuntu.com,🔰国外流量
        - DOMAIN-SUFFIX,launchpad.net,🔰国外流量
        - DOMAIN-SUFFIX,readthedocs.io,🔰国外流量
        - DOMAIN-SUFFIX,pjreddie.com,🔰国外流量
        - DOMAIN-SUFFIX,bazel.build,🔰国外流量
        - DOMAIN-SUFFIX,googleapis.com,🔰国外流量
  1. 更改系统源,改到合适为止

@版权声明 1 本站名称:Liuwei's Blog
2 本站网址:https://www.liuwei.vin
3 本站的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,请联系站长进行删除处理。
4 本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报。
5 本站资源大多存储在云盘,如发现链接失效,请联系我们我们会第一时间更新。
6 本站所有内容,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

给TA打赏
共{{data.count}}人
人已打赏
Linux

Windows 安装WSL2 Linux 子系统

2023-2-15 15:18:23

Linux

Windows 安装WSL2 Linux 子系统

2023-2-15 15:18:23

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
有新私信 私信列表
搜索