Pytorch_1_基础

Pytorch基础

1 PyTorch简介

PyTorch是一个使用PyTorch语言的神经网络库,PyTorch 在神经网络领域可替换numpy的模块 。常用的两个神经网络库是Pytorch和Tensorflow,两者各有优劣。
PytorchTensorflow
优势动态神经网络
如RNN变化时间长度的输出
分布式训练
劣势静态神经网络

1.1 Pytorch安装

前往官网Start Locally | PyTorch,使用pip命令行安装。

在这里插入图片描述

2 Torch中的基本运算

2.1 Torch或Numpy

​ Torch 自称为神经网络界的 Numpy, 因为他能将 torch 产生的 tensor(张量) 放在 GPU 中加速运算 ,就像 Numpy 会把 array 放在 CPU 中加速运算。numpy与torch具有很好的兼容性,numpy array 和torch tensor可以自由转换。

2.2 Torch API

Torch的基本用法:

import torch
data = [[1,2], [3,4]]
tensor = torch.FloatTensor(data)  # 转换成32位浮点 tensor  数据生成

函数:
torch.f(tensor)     ##类比numpy:np.f(nparray)
torch.mm(tensor,tensor)

要学会阅读API!!!

API:torch — PyTorch 2.1 documentation

2.3 Variable与Tensor

Pytorch 0.4以后,Variable被弃用,合并为Tensor

  • Variable 变量

​ 存储Tensor的地理位置,如果使用Variable 进行计算,返回的也是同类型的Variable。Variable也可以像Tensor一样进行计算,但是使用Variable计算时,背后有一张计算图(computational graph)计算图将计算步骤 (节点) 都连接起来, 最后进行误差反向传递的时候, 可一次性计算所有 variable 里的修改幅度 (梯度) 。 而Tensor运算时没有这种运算能力。【Variable包含Tensor数据和其他信息】

  • Tensor 张量

​ 张量可以理解为矩阵数据

在这里插入图片描述

定义变量和张量:

import torch
from torch.autograd import Variable # torch 中 Variable 模块

# 先生鸡蛋
tensor = torch.FloatTensor([[1,2],[3,4]])
# 把鸡蛋放到篮子里, requires_grad是参不参与误差反向传播, 要不要计算梯度
variable = Variable(tensor, requires_grad=True)

读取Variable中的Tensor数据:

variable.grad  #data.grad Variable变量的梯度
variable  #Variable变量
variable.data  #Variable变量中的Tensor数据
variable.data.numpy()  #Variable变量中的Tensor数据 的numpy形式
<think>我们面对的任务是在CUDA 12.8环境下创建一个conda虚拟环境,并安装指定的库(numpy, pandas, matplotlib, torch, pytorch_lightning, pytorch_forecasting)。由于PyTorch对CUDA版本有特定要求,我们需要选择与CUDA 12.8兼容的PyTorch版本。 步骤: 1. 确认CUDA版本:用户已经明确是CUDA 12.8,但需要注意的是,PyTorch官方可能尚未发布直接支持CUDA 12.8的版本(截至2024年7月,PyTorch最新稳定版支持CUDA12.1)。因此,我们可能需要使用支持CUDA12的PyTorch版本,因为CUDA12.8通常向下兼容CUDA12.x。 2. 创建conda虚拟环境:使用conda创建一个新的环境,并指定Python版本(建议使用PyTorch支持的Python版本,如3.9、3.10或3.11)。 3. 安装PyTorch:根据PyTorch官方网站的安装命令,选择与CUDA12.1或CUDA12.x兼容的版本(因为目前PyTorch稳定版最高支持到CUDA12.1)。CUDA12.8可以兼容运行,因为CUDA的次要版本通常是向前兼容的。 4. 安装其他库:安装numpy, pandas, matplotlib, pytorch_lightning, pytorch_forecasting等。 5. 验证安装:特别是验证PyTorch是否能使用GPU。 参考引用[2]和[5]中提到了一些安装PyTorch的经验,但注意它们的环境(如CUDA9.0、10.0)已经较旧。我们需要根据当前情况选择。 根据PyTorch官网(https://pytorch.org/),截至2024年7月,PyTorch最新稳定版本是2.3.0,支持CUDA12.1。因此,我们可以使用这个版本,它应该能在CUDA12.8上运行(因为CUDA12.112.8同属12.x系列,具有兼容性)。 具体步骤: 步骤1:创建conda虚拟环境 打开终端(Linux/macOS)或Anaconda Prompt(Windows),执行: ```bash conda create -n torch_env python=3.10 # 这里使用Python3.10,也可以选择3.9或3.11 conda activate torch_env ``` 步骤2:安装PyTorch(CUDA12.1版本) 根据PyTorch官网,安装命令为: ```bash pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121 ``` 或者使用conda(但官网推荐pip): ```bash conda install pytorch torchvision torchaudio pytorch-cuda=12.1 -c pytorch -c nvidia ``` 注意:我们这里使用CUDA12.1PyTorch,但系统安装的是CUDA12.8,由于CUDA的向前兼容性,这通常是可行的。 步骤3:安装其他库 ```bash pip install numpy pandas matplotlib pip install pytorch_lightning pip install pytorch_forecasting ``` 步骤4:验证 启动Python,运行以下代码: ```python import torch print(torch.__version__) # 应该显示2.3.0或类似 print(torch.cuda.is_available()) # 应该为True print(torch.version.cuda) # 应该显示12.112.3(取决于PyTorch构建时使用的CUDA版本,但实际驱动是12.8,只要兼容即可) ``` 注意:如果遇到pytorch_forecasting安装问题,可能需要安装一些依赖,如tensorboard。另外,pytorch_forecasting可能对PyTorch版本有要求,如果遇到不兼容,可以尝试指定版本。 引用说明: 我们参考了引用[2]和[5]中关于conda安装PyTorch的经验,但根据当前PyTorch官网的推荐命令进行了调整[^2][^5]。 注意事项: 1. 确保系统上已经正确安装了CUDA 12.8的驱动(通过`nvidia-smi`可查看CUDA版本)。 2. 如果安装过程中出现依赖冲突,可以尝试先安装一个库再安装另一个,或者使用conda来管理依赖。 如果安装pytorch_forecasting出现问题,可以尝试: ```bash pip install pytorch_forecasting==0.10.2 # 指定一个版本,具体版本需查看其文档 ``` 由于环境差异,如果遇到问题,可能需要调整版本。 生成相关问题: 1. 如何验证PyTorch是否正确使用了GPU? 2. 如果安装过程中出现版本冲突,应该如何解决? 3. 如何在conda环境中更新CUDA驱动? 4. PyTorch Lightning和PyTorch Forecasting有哪些主要功能?</think>### 在CUDA 12.8环境下创建深度学习虚拟环境 以下是详细步骤,使用conda创建支持PyTorch及相关库的虚拟环境: #### 1. **创建conda虚拟环境** ```bash conda create -n torch_gpu python=3.10 # 推荐Python 3.10(兼容性最佳) conda activate torch_gpu ``` #### 2. **安装PyTorch(CUDA 12.1兼容版)** *当前PyTorch官方稳定版最高支持CUDA 12.1,但CUDA 12.8向下兼容12.1* ```bash pip install --pre torch torchvision torchaudio --index-url https://download.pytorch.org/whl/nightly/cu121 ``` > 💡 **说明**:使用`--pre`安装nightly版确保CUDA 12.8兼容性[^3][^4] #### 3. **安装基础科学计算库** ```bash conda install numpy pandas matplotlib scikit-learn jupyter ``` #### 4. **安装深度学习扩展库** ```bash pip install pytorch_lightning pytorch_forecasting pip install tensorboard # 可视化工具 ``` #### 5. **验证安装** 创建测试脚本`test_gpu.py`: ```python import torch print(f"PyTorch版本: {torch.__version__}") print(f"CUDA可用: {torch.cuda.is_available()}") print(f"CUDA版本: {torch.version.cuda}") print(f"设备: {torch.cuda.get_device_name(0)}") ``` 运行结果应类似: ``` PyTorch版本: 2.4.1 CUDA可用: True CUDA版本: 12.1 设备: NVIDIA GeForce RTX 4090 ``` #### 6. **环境管理技巧** ```bash # 导出环境配置 conda env export > environment.yml # 安装特定版本库(示例) pip install pytorch_lightning==2.2.0 pytorch_forecasting==0.10.4 ``` > ⚠️ **注意事项**: > 1. 确保系统已安装[NVIDIA CUDA 12.8驱动](https://developer.nvidia.com/cuda-downloads) > 2. 若遇numpy冲突,运行`pip install --upgrade numpy` > 3. Windows用户需安装[Visual C++ Redistributable](https://aka.ms/vs/17/release/vc_redist.x64.exe)[^5] --- ### 环境配置原理说明 | 组件 | 作用 | 兼容性要点 | |------|------|------------| | **CUDA 12.8** | GPU计算基础 | PyTorch12.1+兼容版本[^4] | | **PyTorch** | 深度学习框架 | 必须匹配CUDA主版本(12.x) | | **PyTorch Lightning** | 训练流程封装 | 依赖torch>=1.10 | | **PyTorch Forecasting** | 时序预测库 | 需pytorch_lightning>=1.5.0 | --- ### 验证CUDA与cuDNN协同工作 ```python import torch assert torch.cuda.device_count() > 0 from torch.backends import cudnn print(f"cuDNN启用: {cudnn.is_available()}") # 应返回True ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值