Pytorch的安装与基础知识和前置知识

简介: Pytorch的安装与基础知识和前置知识

一、环境简介


PyTorch是由Facebook人工智能研究小组开发的一种基于Lua编写的Torch库的Python实现的深度学习库,目前被广泛应用于学术界和工业界,而随着Caffe2项目并入Pytorch, Pytorch开始影响到TensorFlow在深度学习应用框架领域的地位。


二、miniconda下pytorch相关环境配置


1.pytorch安装


直接参考课件即可,离线安装较好。.condarc配置

channels:
  - defaults
show_channel_urls: true
default_channels:
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2
custom_channels:
  conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  msys2: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  bioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  menpo: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  pytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  pytorch-lts: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  simpleitk: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
ssl_verify: true


2.jupyter-lab安装


pip install jupyterlab


3.启用


pip install ipykernel 
python -m ipykernel install --user --name pytorch # pytorch 为需要安装jupyter-lab虚拟环境的名称

执行上述命令后,即可安装kernel,在jupyter页面可以选择你需要的kernel。


4.启动


jupyter-lab


5.win下默认环境设置


原先参考: 如何修改 Conda 默认启动的 Python 环境 | MakeOptim 工具 - 如何修改 Conda 默认启动的 Python 环境 | MakeOptim https://makeoptim.com/tool/conda-default-python-env ,结果发现这个什么都好,win下的配置是错误的。

正确的做法是修改文档下 WindowsPowerShell 的 profile.ps1

例如我的路径: D:\我的资料库\Documents\WindowsPowerShell\profile.ps1

#region conda initialize
# !! Contents within this block are managed by 'conda init' !!
(& "C:\miniconda3\Scripts\conda.exe" "shell.powershell" "hook"  ) | Out-String | Invoke-Expression
#endregion
conda activate pytorch

在最末尾添加activate命令即可。


三、PyTorch基础知识


1.张量


几何代数中定义的张量是基于向量和矩阵的推广,比如我们可以将标量视为零阶张量,矢量可以视为一阶张量,矩阵就是二阶张量。


2.操作


2.1 加法


import torch
# 方式1
y = torch.rand(4, 3) 
print(x + y)
# 方式2
print(torch.add(x, y))
# 方式3 in-place,原值修改
y.add_(x) 
print(y)

切记 add_ 有下划线,去掉效果不同。。。。。。


2.2 索引


  • 索引出来的结果与原数据共享内存,修改一个,另一个会跟着修改。如果不想修改,可以考虑使用copy()等方法
  • torch.view() 返回的新tensor与源tensor共享内存(其实是同一个tensor),更改其中的一个,另外一个也会跟着改变。(顾名思义,view()仅仅是改变了对这个张量的观察角度)
  • 为为了使创建的张量和原始张量不共享内存,我们需要使用第二种方法torch.reshape(), 同样可以改变张量的形状,但是此函数并不能保证返回的是其拷贝值,所以官方不推荐使用。推荐的方法是我们先用 clone() 创造一个张量副本然后再使用 torch.view()进行函数维度变换 。
  • . 取值操作 如果我们有一个元素 tensor ,我们可以使用 .item() 来获得这个 value,而不获得其他性质。


2.3 广播机制


  • 当对两个形状不同的 Tensor 按元素运算时,可能会触发广播(broadcasting)机制:先适当复制元素使这两个 Tensor 形状相同后再按元素运算。


3.自动求导


3.1 Autograd简介


  • PyTorch 中,所有神经网络的核心是 autograd包。autograd包为张量上的所有操作提供了自动求导机制。它是一个在运行时定义 ( define-by-run )的框架,这意味着反向传播是根据代码如何运行来决定的,并且每次迭代可以是不同的。
  • torch.Tensor是这个包的核心类。如果设置它的属性.requires_gradTrue,那么它将会追踪对于该张量的所有操作。当完成计算后可以通过调用.backward(),来自动计算所有的梯度。这个张量的所有梯度将会自动累加到.grad属性。
  • 在 y.backward() 时,如果 y 是标量,则不需要为 backward() 传入任何参数;否则,需要传入一个与 y 同形的Tensor。
  • 要阻止一个张量被跟踪历史,可以调用.detach()方法将其与计算历史分离,并阻止它未来的计算记录被跟踪。为了防止跟踪历史记录(和使用内存),可以将代码块包装在 with torch.no_grad():中。在评估模型时特别有用,因为模型可能具有 requires_grad = True 的可训练的参数,但是我们不需要在此过程中对他们进行梯度计算。
  • Tensor Function互相连接生成了一个无环图 (acyclic graph),它编码了完整的计算历史。每个张量都有一个.grad_fn属性,该属性引用了创建Tensor 自身的Function。


3.2 梯度


现在开始进行反向传播,因为out 是一个标量,因此out.backward()out.backward(torch.tensor(1.)) 等价。


目录
相关文章
|
4月前
|
机器学习/深度学习 缓存 PyTorch
pytorch学习一(扩展篇):miniconda下载、安装、配置环境变量。miniconda创建多版本python环境。整理常用命令(亲测ok)
这篇文章是关于如何下载、安装和配置Miniconda,以及如何使用Miniconda创建和管理Python环境的详细指南。
865 0
pytorch学习一(扩展篇):miniconda下载、安装、配置环境变量。miniconda创建多版本python环境。整理常用命令(亲测ok)
|
4月前
|
PyTorch Linux 算法框架/工具
pytorch学习一:Anaconda下载、安装、配置环境变量。anaconda创建多版本python环境。安装 pytorch。
这篇文章是关于如何使用Anaconda进行Python环境管理,包括下载、安装、配置环境变量、创建多版本Python环境、安装PyTorch以及使用Jupyter Notebook的详细指南。
523 1
pytorch学习一:Anaconda下载、安装、配置环境变量。anaconda创建多版本python环境。安装 pytorch。
|
4月前
|
并行计算 PyTorch TensorFlow
Ubuntu安装笔记(一):安装显卡驱动、cuda/cudnn、Anaconda、Pytorch、Tensorflow、Opencv、Visdom、FFMPEG、卸载一些不必要的预装软件
这篇文章是关于如何在Ubuntu操作系统上安装显卡驱动、CUDA、CUDNN、Anaconda、PyTorch、TensorFlow、OpenCV、FFMPEG以及卸载不必要的预装软件的详细指南。
6553 3
|
4月前
|
PyTorch TensorFlow 算法框架/工具
Jetson环境安装(一):Ubuntu18.04安装pytorch、opencv、onnx、tensorflow、setuptools、pycuda....
本文提供了在Ubuntu 18.04操作系统的NVIDIA Jetson平台上安装深度学习和计算机视觉相关库的详细步骤,包括PyTorch、OpenCV、ONNX、TensorFlow等。
263 1
Jetson环境安装(一):Ubuntu18.04安装pytorch、opencv、onnx、tensorflow、setuptools、pycuda....
|
4月前
|
并行计算 PyTorch 编译器
|
4月前
|
并行计算 开发工具 异构计算
在Windows平台使用源码编译和安装PyTorch3D指定版本
【10月更文挑战第6天】在 Windows 平台上,编译和安装指定版本的 PyTorch3D 需要先安装 Python、Visual Studio Build Tools 和 CUDA(如有需要),然后通过 Git 获取源码。建议创建虚拟环境以隔离依赖,并使用 `pip` 安装所需库。最后,在源码目录下运行 `python setup.py install` 进行编译和安装。完成后即可在 Python 中导入 PyTorch3D 使用。
478 0
|
6月前
|
PyTorch 算法框架/工具 Python
安装anaconda配置pytorch虚拟环境遇到的问题及解决办法
本文介绍了在配置Anaconda时遇到`PackagesNotFoundError`的问题,并提供了通过添加`conda-forge`通道和创建指定Python版本的PyTorch虚拟环境来解决这个问题的方法。
|
6月前
|
PyTorch 算法框架/工具
Pytorch 安装
Pytorch 安装
54 0
|
6月前
|
机器学习/深度学习 人工智能 PyTorch
【Deepin 20深度探索】一键解锁Linux深度学习潜能:从零开始安装Pytorch,驾驭AI未来从Deepin出发!
【8月更文挑战第2天】随着人工智能的迅猛发展,深度学习框架Pytorch已成为科研与工业界的必备工具。Deepin 20作为优秀的国产Linux发行版,凭借其流畅的用户体验和丰富的软件生态,为深度学习爱好者提供理想开发平台。本文引导您在Deepin 20上安装Pytorch,享受Linux下的深度学习之旅。
139 12
|
6月前
|
并行计算 Ubuntu PyTorch
【Deepin 20系统】Linux系统Anaconda安装Pytorch
本文提供了在Deepin 20系统上使用Anaconda安装Pytorch的详细步骤,包括创建一个新的conda环境、检查系统Cuda版本、选择对应Cuda版本的Pytorch安装命令、添加镜像源以加速下载,以及执行安装命令。
194 1

推荐镜像

更多