001、torch笔记

之——开始

目录

之——开始

初衷

杂谈

正文

1.大致框架

2.数据操作基础

2.1 数组

2.2  广播机制

2.4 不常用的原地内存操作

2.5 numpy与tensor相互转换



所属专栏会不断更新


初衷

        学而时习之,太多东西来得杂乱,不用就忘,浅记一下,一些小的心得和想法

杂谈

        2023.10.3,笑死是生日

        不过新的一年开始也很不错

        本科阶段学了很多模式识别机器学习理论,多部署少研究和编写,现在刚开始系统化动手。


  • 用上了jupyter notebook,很好用
  • git也好用不过所有项目环境都堆一起了好像太大了传不上去
  • d2l包也好用,多研究

正文

1.大致框架

001、torch笔记_第1张图片

        介绍和自己的理解:

        深度学习成为机器从认知推理到自己总结理解知识的基础,图片分类的提升展现了深度学习的过人之处,12-17五年终结该领域问题,物体检测(语义级)、物体分割(像素级)、样式迁移(计算机视觉感知合成)、物体生成、文字生成、无人驾驶、大数据分析与监控(大数据行为现象猜测)

        很类脑的仿真,细节上无可解释性,有效性解释(空间、时间、泛化性上)


2.数据操作基础

2.1 数组

        1d元素,2d行列,3d图片,4d图片组或batch或视频,5d视频batch

        访问数组,改变,基础运算,形状改变,拼接:

#张量连结
x=torch.arange(12,dtype=torch.float32).reshape([3,4])
y=torch.rand([3,4]) #0-1随机数
m=torch.randn((3,4))#01正态分布随机数

z=torch.cat([x,y],dim=0)
n=torch.cat((x,m),dim=1)
print(z)
print(n)
2.2  广播机制
(3,1)的tensor和(1,2)的tensor做计算,会两边复制增广为(3,2)和(3,2)再运算

001、torch笔记_第2张图片

        更详细的,感谢佬有时间总结:

1. 关于pytorch中的数据操作的广播机制_广播机制中按元素操作的-CSDN博客

2.4 不常用的原地内存操作
#原地操作内存相关
#运行操作时候可能会导致内存发生改变
before = id(y)
y = y + x
print(id(y) == before)
before = id(y)
y+=x
print(id(y) == before)

#执行原地操作,用个固定容器装
Z = torch.zeros_like(y)
print('id(Z):', id(Z))
Z[:] = x + y
print('id(Z):', id(Z))

before = id(x)
x += y
id(x) == before
2.5 numpy与tensor相互转换
#转回numpy,转为tensor
A=x.numpy()
print(A)
B=torch.tensor(A)
print(B)

#一个元素的提取
a=x[0,0]
print(a)
print(a.item())
print(float(a))
print(int(a))

你可能感兴趣的:(torch,笔记)