0
点赞
收藏
分享

微信扫一扫

1.26 pytorch学习

朱小落 2022-01-26 阅读 45

pytorch(introduction)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ASZYRZZL-1643209337710)(image/1.png)]

应用:

图片分类

物体检测与分割(检测具体像素点)

样式迁移(背景变换)

人脸合成

文字生成图片

文字生成

无人驾驶(计算机视觉)

安装pytorch

首先进行anaconda的安装

然后安装pytorch会比较卡,转化为清华镜像源

然后莫名其妙的不行了

有个.condarc的文件中

加入如下代码:

注意,是http,不是https(被折磨了好久)

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

跟着知乎上李沐(26 封私信 / 6 条消息) Windows下安装CUDA和Pytorch跑深度学习 - 知乎 (zhihu.com)进行安装

前面都非常顺利,到了运行实例的时候出现了:CUDA out of memory

网上搜索教程知道:明明显示free的空间比较大,但是就是无法运行

在命令行中输入navidia-smi

惊喜的发现,不是内部或者外部命令

需要在环境变量的path中加入C:\Program Files\NVIDIA Corporation\NVSMI

重新打开即可

手动输入

taskkill -PID 进程号 -F 

显示:已终止ID为“进程号”的进程

再重新查看GPU的情况

发现已经可以,换了一个报错:RuntimeError: DataLoader worker

batch_size改小一点貌似就ok,但是电脑带不动,直接反手死机了

数据操作与数据预处理

N维数组

0-d(标量):一个类别

1-d(向量):一个特征向量

2-d(矩阵):一个样本-特征矩阵

3-d(RGB图片):宽*高*通道

4-d(RGB图片批量)3-d*批量

5-d(一个视频批量)

创建数组:形状,数据类型,数据的值

访问元素:一个元素[1,2],一行[1,:],一列[:,1],子区域[1:3,1:],子区域

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ahp3ZQmo-1643209337712)(image/2.png)]

注意
  • 导入的时候是torch
  • shape访问张量的形状和元素总数(numl)
  • 改变形状而不改变元素数量和元素值,用reshape
  • zeros,ones全0全1
  • 通过python列表来决定有几层
  • 常见的算术运算符(+,-,*,/,**)升级为元素运算,可以exp运算
  • 张量之间连接(cat),参数dim按照哪一维堆叠起来
  • X==Y,构造M*N的布尔张量
  • X.sum()对所有张量求和
  • 广播机制:形状不同 维度一样(直接两个维度取max相加)
  • 指定索引来将元素写入矩阵
  • numpy可以与tensor相互转化

线性代数

∣ ∣ a ∣ ∣ 2 = [ ∑ i = 1 m a i 2 ] 1 2 ||a||_2=[\sum\limits_{i=1}^ma_i^2]^{\frac{1}{2}} a2=[i=1mai2]21

点乘 a T b = ∑ i a i b i a^Tb=\sum_ia_ib_i aTb=iaibi

矩阵乘法:对空间进行扭曲

范数: c = A b h e n c e ∣ ∣ c ∣ ∣ ≤ ∣ ∣ A ∣ ∣ ∣ ∣ b ∣ ∣ c=Abhence||c||\le||A|| ||b|| c=AbhencecAb

矩阵范数:最小的满足的上面公式的值

Frobenius范数: ∣ ∣ A ∣ ∣ F r o b = [ ∑ i j A i j 2 ] 1 2 ||A||_{Frob}=[\sum\limits_{ij}A_{ij}^2]^\frac{1}{2} AFrob=[ijAij2]21

对称矩阵,反对称( A i j = − A j i A_{ij}=-A_{ji} Aij=Aji

正定 ∣ ∣ x ∣ ∣ 2 = x T x ≥ 0   g e n e r a l i z e s    t o   x T A x ≥ 0 ||x||^2=x^Tx\ge0 \ generalizes\ \ to \ x^TAx \ge 0 x2=xTx0 generalizes  to xTAx0

正交矩阵,置换矩阵:所有行相互正交,满足 U U T = I UU^T=I UUT=I

特征向量,特征值: A x = λ x Ax=\lambda x Ax=λx 不被矩阵改变方向的向量 对称矩阵总是可以找到特征向量

A i j = − A j i A_{ij}=-A_{ji} Aij=Aji

正定 ∣ ∣ x ∣ ∣ 2 = x T x ≥ 0   g e n e r a l i z e s    t o   x T A x ≥ 0 ||x||^2=x^Tx\ge0 \ generalizes\ \ to \ x^TAx \ge 0 x2=xTx0 generalizes  to xTAx0

正交矩阵,置换矩阵:所有行相互正交,满足 U U T = I UU^T=I UUT=I

特征向量,特征值: A x = λ x Ax=\lambda x Ax=λx 不被矩阵改变方向的向量 对称矩阵总是可以找到特征向量

举报

相关推荐

0 条评论