Pytorch学习总结

1.1基本概念

学习目标:

1.【了解】AI发展史

2.【了解】AI、机器学习、深度学习的关系

1.2拓展

1 使用场景

  • 图像识别和处理

  • 自然语言处理(NLP)

  • 音频处理

  • 视频分析

  • 游戏和仿真

  • 自动驾驶汽车

  • 推荐系统

  • 金融领域

  • 医疗领域

2.1Pytorch

1 什么是Pytorch

  1. PyTorch是一个开源机器学习和深度学习框架。PyTorch允许您使用Python代码操作和处理数据并编写深度学习算法,能够在强大的GPU加速基础上实现张量和动态神经网络。

  2. PyTorch是一个基于Python的科学计算包,使用Tensor作为其核心数据结构,类似于Numpy数组。不同的是,PyTorch可以用GPU来处理数据,提供许多深度学习的算法。

  3. PyTorch提供了完整的使用文档、循序渐进的用户指南,作者亲自维护PyTorch论坛,方便用户交流和解决问题。

  4. Meta(前Facebook)人工智能研究院FAIR对PyTorch的推广提供了大力支持。作为当今排名前三的深度学习研究机构,FAIR的支持足以确保PyTorch获得持续开发、更新的保障,不至于像一些个人开发的框架那样昙花一现。如有需要,我们也可以使用Python软件包(如NumPy、SciPy和Cython)来扩展PyTorch。

  5. 相对于TensorFlow,PyTorch的一大优点是它的图是动态的,而TensorFlow框架是静态图,不利于扩展。同时,PyTorch非常简洁,方便使用。6.如果说TensorFlow的设计是“Make it complicated”,Keras的设计是“Make it complicated and hide it”,那么PyTorch的设计则真正做到了“Keep it simple,stupid”

2 为什么使用Pytorch

  1. PyTorch是一个开源机器学习和深度学习框架。PyTorch允许您使用Python代码操作和处理数据并编写深度学习算法,能够在强大的GPU加速基础上实现张量和动态神经网络。

  2. PyTorch是一个基于Python的科学计算包,使用Tensor作为其核心数据结构,类似于Numpy数组。不同的是,PyTorch可以用GPU来处理数据,提供许多深度学习的算法。

  3. PyTorch提供了完整的使用文档、循序渐进的用户指南,作者亲自维护PyTorch论坛,方便用户交流和解决问题。

  4. Meta(前Facebook)人工智能研究院FAIR对PyTorch的推广提供了大力支持。作为当今排名前三的深度学习研究机构,FAIR的支持足以确保PyTorch获得持续开发、更新的保障,不至于像一些个人开发的框架那样昙花一现。如有需要,我们也可以使用Python软件包(如NumPy、SciPy和Cython)来扩展PyTorch。

  5. 相对于TensorFlow,PyTorch的一大优点是它的图是动态的,而TensorFlow框架是静态图,不利于扩展。同时,PyTorch非常简洁,方便使用。6.如果说TensorFlow的设计是“Make it complicated”,Keras的设计是“Make it complicated and hide it”,那么PyTorch的设计则真正做到了“Keep it simple,stupid”

2_2环境安装

1 新创建一个虚拟python环境

  • 创建一个虚拟python环境

conda create -n dlpy39 python=3.9
​
conda activate dlpy39 
  • 查看虚拟环境列表:

conda info --envs
​
conda info --e
​
conda env list
  • 激活虚拟环境:

source activate dlpy39
​
conda activate dlpy39
  • 删除虚拟环境:

conda remove -n dlpy39 --all

2 镜像源

如果安装Pytorch时安装速度太慢,可以使用使用清华大学开源软件镜像站下载,该镜像站提供了pytorch的GPU版本下载,速度较快。具体链接为:Index of /anaconda/cloud/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirrorpytorch/

3 Pytorch-cpu 版本

  • 安装:

pip install torch==2.1.0 -i https://pypi.tuna.tsinghua.edu.cn/simple
  • 验证:

import torch
torch._version_

2_3张量的基本使用

1 什么是张量

张量,英文为Tensor,是机器学习的基本构建模块,是以数字方式表示数据的形式。PyTorch就是将数据封装成张量(Tensor)来进行运算的。PyTorch中的张量就是元素为同一种数据类型的多维数组。在PyTorch中,张量以"类"的形式封装起来,对张量的一些运算、处理的方法被封装在类中。

  • 0维张量:将标量转化为张量得到的就是0维张量

  • 1维张量:将向量转化为张量得到的就是1维张量

  • 2维张量:将矩阵转化为张量得到的就是2维张量

  • 多维张量:将多维数组转化为张量得到的就是多维张量

import torch
​
scalar=torch.tensor(7)
print(scalar.ndim)
​
vector=torch.tensor([7,7])
print(vector.ndim)
​
matrix=torch.tensor([[7,8],[9,10]])
print(matrix.ndim)
​
tensor=torch.tensor([[[1,2,3],
                      [3,6,9],
                      [2,4,5]]])
print(tensor.ndim)

2 张量的创建

2.1张量的基本创建方式

  • torch.tensor根据已有数据创建张量

  • torch.Tensor根据形状创建张量,其也可用来创建指定数据的张量

  • torch.IntTensor、torch.FloatTensor、torch.DoubleTensor创建指定类型的张量

import torch
import numpy as np
​
#1.根据已有数据创建张量
def test01():
    #1.1创建标量张量
    data=torch.tensor(10)
    print(data)
    #1.2numpy数组,由于data为float64,下面代码也使用该类型
    data=np.random.randn(2,3)#2行3列
    data=torch.tensor(data)
    print(data)
​
    #1.3列表,下面代码使用默认元素类型float32
    data=[[10.,20.,30.],[40.,50.,60.]]
    data=torch.tensor(data)
    print(data)
​
#2.创建指定形状的张量
def test02():
    #2.1创建2行3列的张量,默认dtype为float32
    data=torch.Tensor(2,3)
    print(data)
    
    #2.2注意:如果传递列表,则创建包含指定元素的张量
    data=torch.Tensor([10])
    print(data)
    data=torch.Tensor([10,20])
    print(data)
    
def test03():
    #3.1创建2行3列,dtype为int32的张量
    data=torch.IntTensor(2,3)
    print(data)
    
    #3.2注意:如果传递的元素类型不正确,则会进行类型转换
    data=torch.IntTensor([2.5,3.3])
    print(data)
    #3.3其他的类型
    data=torch.ShortTensor()#int16
    data=torch.LongTensor()#int64
    data=torch.FloatTensor()#float32
    data=torch.DoubleTensor()#float64
if __name__=='__main__':
    test01()
    test02()
    test03()

2.2创建线性和随机张量

  • torch.arange和torch.linspace创建线性张量

  • torch .random .manual_seed随机种子

  • 设置torch.randn创建随机张量

2.3创建01张量

  • torch.ones和torch.ones_like创建全1张量

  • torch.zeros和torch.zeros_like创建全0张量

  • torch.full和torch.full_like创建全为指定值张量

  • 15
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值