【OS安装与使用】part5-ubuntu22.04基于conda安装pytorch+tensorflow


一、待解决问题

1.1 问题描述

为了最终运行MARL算法代码,在安装好anaconda环境后,进行pytorch框架的安装。

1.2 解决方法

操作系统:ubuntu 22.04 LTS
显卡型号:Geforce RTX 4060 Mobile
显卡驱动:nvidia-550.120
CUDA版本:CUDA 12.4
预装软件:Anaconda

(1)明确pytorch安装依赖。
(2)conda创建虚拟环境。
(3)安装pytorch。
(4)验证pytorch安装。
(5)安装tensorflow。
(6)验证tensorflow安装。

二、方法详述

2.1 必要说明

❓ GPU、Nvidia显卡驱动、CUDA Toolkit、pytorch框架是什么关系呢?
简单来说就是图示中的关系,层层调用。

  • 硬件设备:GPU 是一种专门用于进行图形计算和并行计算的硬件设备
  • 硬件驱动:Nvidia 显卡驱动是运行在操作系统上的软件,用于让操作系统和应用程序能够与 Nvidia GPU 进行通信和交互。它提供了对 GPU 硬件的底层控制和管理,确保 GPU 能够正常工作,并将来自应用程序的指令正确地传递给 GPU。
  • GPU应用工具包:CUDA Toolkit 是用于开发基于 CUDA 应用程序的工具包,它包含了编译器、库、运行时环境等组件,使开发者能够利用 GPU 的强大计算能力进行通用计算。它依赖于 Nvidia 显卡驱动来与 GPU 进行交互。
  • 深度学习框架:PyTorch 是一个流行的开源深度学习框架。它支持使用 GPU 来加速计算,当 PyTorch 运行在安装了 CUDA Toolkit 和 Nvidia 显卡驱动的环境中时,它可以通过 CUDA Toolkit 调用 GPU 的计算资源,从而实现对深度学习模型的快速训练和推理。

在这里插入图片描述

2.2 应用步骤

2.2.1 明确pytorch安装依赖

目标导向,首先查看pytorch官网,了解官网安装依赖。
链接:pytorch Get Start

总结如下:

python版本要求:3.9或更新
ubuntu版本要求:13.04或更新
包管理工具:Anaconda 或 pip3

(1)python版本要求:
在这里插入图片描述

(2)操作系统版本要求
在这里插入图片描述
(3)包管理工具要求
在这里插入图片描述

2.2.2 conda创建虚拟环境

依据pytorch中对python版本的要求,创建一个python 3.11的环境。

#查看已创建的虚拟环境
conda info --envs
#创建python 3.11的虚拟环境
conda create -n marl_onpolicy python=3.11
#激活刚创建的虚拟环境
conda activate marl_onpolicy
#安装pip3
sudo apt install python3-pip
#查看当前虚拟环境下已安装的包
conda list

在这里插入图片描述
❓ 这里为什么要安装pip3 ?
因为pytorch官网安装命令提示,已不支持conda安装。
在这里插入图片描述

2.2.3 安装pytorch

确认已安装的CUDA版本。

nvcc -V

在这里插入图片描述
在pytorch官网选择对应选项,并在虚拟环境下运行命令
在这里插入图片描述

pip3 install torch torchvision torchaudio

安装过程无报错,最后提示安装了如下组件:

Installing collected packages: triton, nvidia-cusparselt-cu12, mpmath, typing-extensions, sympy, pillow, nvidia-nvtx-cu12, nvidia-nvjitlink-cu12, nvidia-nccl-cu12, nvidia-curand-cu12, nvidia-cufft-cu12, nvidia-cuda-runtime-cu12, nvidia-cuda-nvrtc-cu12, nvidia-cuda-cupti-cu12, nvidia-cublas-cu12, numpy, networkx, MarkupSafe, fsspec, filelock, nvidia-cusparse-cu12, nvidia-cudnn-cu12, jinja2, nvidia-cusolver-cu12, torch, torchvision, torchaudio
Successfully installed MarkupSafe-3.0.2 filelock-3.17.0 fsspec-2025.2.0 jinja2-3.1.5 mpmath-1.3.0 networkx-3.4.2 numpy-2.2.3 nvidia-cublas-cu12-12.4.5.8 nvidia-cuda-cupti-cu12-12.4.127 nvidia-cuda-nvrtc-cu12-12.4.127 nvidia-cuda-runtime-cu12-12.4.127 nvidia-cudnn-cu12-9.1.0.70 nvidia-cufft-cu12-11.2.1.3 nvidia-curand-cu12-10.3.5.147 nvidia-cusolver-cu12-11.6.1.9 nvidia-cusparse-cu12-12.3.1.170 nvidia-cusparselt-cu12-0.6.2 nvidia-nccl-cu12-2.21.5 nvidia-nvjitlink-cu12-12.4.127 nvidia-nvtx-cu12-12.4.127 pillow-11.1.0 sympy-1.13.1 torch-2.6.0 torchaudio-2.6.0 torchvision-0.21.0 triton-3.2.0 typing-extensions-4.12.2

2.2.4 验证pytorch安装

(有pycharm、vscode等IDE的可跳过这一步)
首先安装spyder IDE

conda install spyder
#启动spyder
spyder

官方提供了验证方式,在IDE中python编译以下代码,能够正确输出即表示pytorch安装成功。

import torch
x = torch.rand(5, 3)
print(x)
if torch.cuda.is_available():
    print("cuda available_flag: yes")
else:
    print("cuda available_flag: no")

输出矩阵,并且表明CUDA可使用,即安装成功。
在这里插入图片描述

2.2.5 安装Tensorflow

在虚拟环境下,开始安装。
(!需要主要的是,tensorflow 版本对python版本是有需求的,先自动安装,不能运行再调整版本)

conda install tensorflow-gpu
#查看tensorflow版本
conda list | grep tensor

在这里插入图片描述

2.2.6 验证Tensorflow安装

打开spyder,输入以下代码,看是否有输出。

import tensorflow as tf

# 检查 TensorFlow 是否使用 GPU
print("TensorFlow version:", tf.__version__)
print("GPU Available:", tf.config.list_physical_devices('GPU'))

# 创建一个简单的矩阵乘法
a = tf.constant([[1.0, 2.0], [3.0, 4.0]])
b = tf.constant([[1.0, 1.0], [0.0, 1.0]])
c = tf.matmul(a, b)

# 打印结果
print("Result of matrix multiplication:")
print(c.numpy())

警告:oneDNN 自定义操作已开启

I tensorflow/core/util/port.cc:153] oneDNN custom operations are on. You may see slightly different numerical results due to floating-point round-off errors from different computation orders. To turn them off, set the environment variable

大模型给出的回答如下:

oneDNN 是 Intel 提供的一个跨平台的高性能数学函数库,用于优化深度学习中的计算性能。
TensorFlow 默认启用了 oneDNN 优化,以提高某些操作(如卷积、池化等)的性能。
由于 oneDNN 优化可能会改变计算顺序,因此可能会导致浮点数舍入误差,从而产生略微不同的数值结果。
如果你对数值结果的精确性有严格要求,或者希望避免这种差异,可以选择禁用 oneDNN 优化。

可以设置环境变量,禁止oneDNN,gedit打开 .bashrc

sudo gedit ~/.bashrc

将下面代码添加到 .bashrc 中保存

#ban oneDNN
export TF_ENABLE_ONEDNN_OPTS=0

应用环境变量

source ~/.bashrc

或者,在代码开头加上以下语句,手动禁用oneDNN

import os
os.environ['TF_ENABLE_ONEDNN_OPTS'] = '0'

还有一些,注册信息的警告,如下:

2025-02-21 11:02:27.637298: E external/local_xla/xla/stream_executor/cuda/cuda_fft.cc:485] Unable to register cuFFT factory: Attempting to register factory for plugin cuFFT when one has already been registered
2025-02-21 11:02:27.657790: E external/local_xla/xla/stream_executor/cuda/cuda_dnn.cc:8454] Unable to register cuDNN factory: Attempting to register factory for plugin cuDNN when one has already been registered
2025-02-21 11:02:27.664602: E external/local_xla/xla/stream_executor/cuda/cuda_blas.cc:1452] Unable to register cuBLAS factory: Attempting to register factory for plugin cuBLAS when one has already been registered

网友回答:

这些警告信息表明在你的环境中,cuDNN、cuFFT和cuBLAS插件已经被注册过一次,而在你导入pytorch_lightning时,它尝试再次注册。通常情况下,这不会影响程序的正常运行。

因此,这个不用管,最后看到代码成功运行并输出GPU型号,至此,tensorflow-gpu安装成功!!!

在这里插入图片描述

💐💐💐 完结撒花 💐💐💐

三、疑问

暂无

四、总结

  • GPU、显卡驱动、CUDA Toolkit都是nvidia官方提供的。
  • pytorch 作为深度学习框架提供了许多模型,用户可以基于这些模型开发自己应用。
  • anaconda 作为包管理工具可以很好地控制各开发代码的环境,编写新代码时建议创建新环境,以更好控制代码版本。
要在Ubuntu 22.04安装TensorFlow,您可以按照以下步骤进行操作: 1. 确保您的系统已更新并安装了Python 3和pip。您可以使用以下命令来进行更新: ``` sudo apt update sudo apt upgrade sudo apt install python3-pip ``` 2. 安装TensorFlow之前,您需要安装一些依赖项。请使用以下命令来安装它们: ``` sudo apt install libblas-dev liblapack-dev libatlas-base-dev gfortran ``` 3. 确保您已安装NVIDIA驱动程序(如果您的系统使用NVIDIA显卡)。您可以按照所引用的说明来安装NVIDIA驱动程序。 4. 接下来,使用pip来安装TensorFlow。您可以使用以下命令来安装最新版的TensorFlow: ``` sudo python3 -m pip install tensorflow ``` 此命令将下载并安装TensorFlow5. 安装完成后,您可以使用以下命令来验证TensorFlow是否安装成功: ``` sudo python3 -c 'import tensorflow as tf; print("The version of TensorFlow is", tf.__version__)' ``` 这将打印出已安装TensorFlow版本号。 请注意,安装TensorFlow可能需要一定的时间,具体取决于您的系统和网络速度。确保您的系统满足TensorFlow的要求,并遵循上述步骤进行安装。 <span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [Ubuntu22.04/Ubuntu20.04安装最新版tensorflow](https://blog.csdn.net/u012011079/article/details/126325146)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [安装Ubuntu20.04安装NVIDIA驱动的教程](https://download.csdn.net/download/weixin_38601215/14048747)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值