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

文章目录

  • 一、待解决问题
    • 1.1 问题描述
    • 1.2 解决方法
  • 二、方法详述
    • 2.1 必要说明
    • 2.2 应用步骤
      • 2.2.1 明确pytorch安装依赖
      • 2.2.2 conda创建虚拟环境
      • 2.2.3 安装pytorch
      • 2.2.4 验证pytorch安装
      • 2.2.5 安装Tensorflow
      • 2.2.6 验证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
tf.add(1, 2).numpy()
hello = tf.constant('Hello, TensorFlow!')
hello.numpy()
from tensorflow.python.client import device_lib
print(device_lib.list_local_devices())

💐💐💐 完结撒花 💐💐💐

三、疑问

暂无

四、总结

  • GPU、显卡驱动、CUDA Toolkit都是nvidia官方提供的。
  • pytorch 作为深度学习框架提供了许多模型,用户可以基于这些模型开发自己应用。
  • anaconda 作为包管理工具可以很好地控制各开发代码的环境,编写新代码时建议创建新环境,以更好控制代码版本。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/71497.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

马拉车算法

Manacher算法 ,用于处理最长回文字符串的问题,可以在O(n)的情况下,求出一个字符串的最长回文字符串 回文串的基础解法: 以每个点为中心对称点,看左右两边的点是否相同。这种算法的时间复杂度为O&#xff0…

气象学中的CDO插值(多方法+多分辨率)

文章目录 说明CDO代码 说明 需要新建.sh脚本文件,将下面的CDO代码复制到.sh脚本中,然后运行插值程序。 CDO代码 #!/bin/bash # # 用户配置区(按实际需求修改) # input_directory"2m_temperature" # 自定义路径 gr…

计算机网络:应用层 —— 动态主机配置协议 DHCP

文章目录 什么是 DHCP?DHCP 的产生背景DHCP 的工作过程工作流程地址分配机制 DHCP 中继代理总结 什么是 DHCP? 动态主机配置协议(DHCP,Dynamic Host Configuration Protocol)是一种网络管理协议,用于自动分…

【OS安装与使用】part3-ubuntu安装Nvidia显卡驱动+CUDA 12.4

文章目录 一、待解决问题1.1 问题描述1.2 解决方法 二、方法详述2.1 必要说明2.2 应用步骤2.2.1 更改镜像源2.2.2 安装NVIDIA显卡驱动:nvidia-550(1)查询显卡ID(2)PCI ID Repository查询显卡型号(3&#xf…

数据导入AI训练步骤——人工智能训练

一、人工操作转化 数据导入过程 整理excel表格,通过数据库管理工具导入数据,补充数据格式,调整sql语句 复制数据到目标数据 二、整理表格 三、导入数据 通过数据库导入数据 四、合并 五、验证更新数据 六、 更新数据 update temp_cus_hmz…

我国首条大型无人机城际低空物流航线成功首航

首航震撼开场:羊肉 “飞” 越 540 公里 在夜色的笼罩下,榆阳马合通用机场的跑道上,一架大型固定翼无人机蓄势待发,机身被灯光照亮,宛如一只即将展翅翱翔的钢铁巨鸟。它的货舱里,满满装载着新鲜的榆林羊肉&a…

《跟李沐学 AI》AlexNet论文逐段精读学习心得 | PyTorch 深度学习实战

前一篇文章,使用 AlexNet 实现图片分类 | PyTorch 深度学习实战 本系列文章 GitHub Repo: https://github.com/hailiang-wang/pytorch-get-started 本篇文章内容来自于学习 9年后重读深度学习奠基作之一:AlexNet【下】【论文精读】】的心得。 《跟李沐…

微软Win11新动态:官方“换机助手”曝光,PC数据迁移或迎全新体验

目录 微软入局数据迁移领域,第三方工具或面临挑战 无缝迁移体验:近距离传输与OTP验证 模拟图仅为概念设计,最终功能或存变数 发布时间未定,Insider用户或率先体验 总结 微软在近期发布了Windows 11 Insider Beta频道的最新版本Build 22635.4945。尽管此次更新并未引入重…

Could not initialize class io.netty.util.internal.Platfor...

异常信息: Exception in thread "main" java.lang.NoClassDefFoundError: Could not initialize class io.netty.util.internal.PlatformDependent0 Caused by: java.lang.ExceptionInInitializerError: Exception java.lang.reflect.InaccessibleObjec…

java练习(34)

ps:题目来自力扣 寻找两个正序数组的中位数 给定两个大小分别为 m 和 n 的正序(从小到大)数组 nums1 和 nums2。请你找出并返回这两个正序数组的 中位数 。 算法的时间复杂度应该为 O(log (mn)) 。 class Solution {public double findMedianSortedA…

用Java创建一个验证码的工具类

在Java中创建一个验证码工具类,可以通过以下代码实现。该工具类支持生成包含字母和数字的随机验证码图片,并添加干扰线和噪点以提高安全性。以下是详细实现: 完整代码实现 import javax.imageio.ImageIO; import java.awt.*; import java.aw…

提升信息检索准确性和效率的搜索技巧

一、基础技巧 精准关键词 避免长句子,提取核心关键词(如用“光合作用 步骤”代替“请告诉我光合作用的具体过程”)。 同义词替换:尝试不同表达(如“AI 发展史” vs “人工智能 历史”)。 排除干扰词 使用…

设计模式 之 工厂模式(简单工厂模式、工厂方法模式、抽象工厂模式)(C++)

文章目录 C 工厂模式引言一、简单工厂模式概念实现步骤示例代码优缺点 二、工厂方法模式概念实现步骤示例代码优缺点 三、抽象工厂模式概念实现步骤示例代码优缺点 C 工厂模式 引言 在 C 编程中,对象的创建是一个常见且基础的操作。然而,当项目规模逐渐…

DAY12 Tensorflow 六步法搭建神经网络

六步法: 一.import 导入各种库,比如: import tensorflow as tf from tensorflow.keras.layers import Dense, Flatten from tensorflow.keras import Model import numpy as np import pandas as pd # 可能还会根据需求导入其他库&…

Zookeeper分布式锁实现

zookeeper最初设计的初衷就是为了保证分布式系统的一致性。本文将讲解如何利用zookeeper的临时顺序结点,实现分布式锁。 目录 1. 理论分析 1.1 结点类型 1.2 监听器 1.3 实现原理 2. 手写实现简易zookeeper分布式锁 1.1 依赖 1.2 常量定义 1.3 实现zookeeper分布式…

Git是什么

简单介绍: Git是一个分布式版本控制系统,用于跟踪文件的更改,特别是在多人协作开发的环境中。 Key: 分布式 版本控制 系统 最常用于软件开发,但也可以用于管理任何类型的文件和文件夹。 Git帮助团队跟踪和管理文件的历史版本&a…

Pycharm 2024在解释器提供的python控制台中运行py文件

2024版的界面发生了变化, run with python console搬到了这里:

【分布式理论12】事务协调者高可用:分布式选举算法

文章目录 一、分布式系统中事务协调的问题二、分布式选举算法1. Bully算法2. Raft算法3. ZAB算法 三、小结与比较 一、分布式系统中事务协调的问题 在分布式系统中,常常有多个节点(应用)共同处理不同的事务和资源。前文 【分布式理论9】分布式…

免费deepseek的API获取教程及将API接入word或WPS中

免费deepseek的API获取教程: 1 https://cloud.siliconflow.cn/中注册时填写邀请码:GAejkK6X即可获取2000 万 Tokens; 2 按照图中步骤进行操作 将API接入word或WPS中 1 打开一个word,文件-选项-自定义功能区-勾选开发工具-左侧的信任中心-信任中心设置…

【SFRA】笔记

GK_SFRA_INJECT(x) SFRA小信号注入函数,向控制环路注入一个小信号。如下图所示,当前程序,小信号注入是在固定占空比的基础叠加小信号,得到新的占空比,使用该占空比控制环路。 1.2 GK_SFRA_COLLECT(x, y) SFRA数据收集函数,将小信号注入环路后,该函数收集环路的数据,以…