学习李沐深度学习第一天

在此之前已经通过网上和B站教程成功安装anaconda 、pycharm 等相应软件,开始学习吧!

以下内容依据教材示例和课上内容所写学习笔记,小白只有薄弱基础,写错了还请各位大神指正,学习不易,互相鼓励

04 数据操作 + 数据预处理【动手学深度学习v2】

  1. 装对软件,跟上教程这部分基本可以顺下来,初次接触明白了tensor 就是表示n为数组,也叫做张量。
  2. torch.Size([2, 3, 4]) 用shape属性访问张量的形状,类似于这样的输出结果就是两个三行四列的矩阵。
    
  3. x.numel()用来表示张量中元素的总数,比如两个三行四列里面就会有24个元素,所以输出就是24
  4. torch.tensor([[2, 1, 4, 3], [1, 2, 3, 4], [4, 3, 2, 1]])也可以直接输出一个张量,注意[]和,当然也可以进行各种运算,我认为比较好理解的就不在此赘述
  5. 广播机制:我理解的在这里就是把不同形状的张量进行操作时,进行适当的复制扩展,当扩展成为相同形状的张量时进行操作:例如相加运算
  6. 索引:就像在python或者c语言中一样,数组里面的元素时可以访问的,在这里张量中的元素通过索引访问,当然从0开始要记住,第一个元素的索引是0,书上的例子:x[-1]就是访问最后一行,x[1:3]就是访问第一行,第二行(一定要记住从第0行开始),当然也可以访问某一行的某一个元素,例如x[1, 2]就是访问第一行第二列的元素(当然要记住是从零行零列开始,以后就不再提醒啦,反正我记住了,haha)
  7. 索引:书上没有说,切片其实也是索引操作,所以切片经常被称为切片索引(我查的),所以不用太在意,
  8. X[0:2, :] = 12
    这行代码的意思就是从第零行到第二行(也就是0行和1行,不包括2行)的元素改为12,其中“:”代表沿轴1(列)的所有元素(目前只有一个矩阵,所以把:删掉也不会影响,当有多个矩阵就不一样,先记下来)
  9. 节省内存:python的id()函数,在python中我们的数据都有id中,某些操作会导致重新分配内存。当我们不想让内存发生改变时,可以选择原地操作。书上的False说明Y=Y+X之后,y的id已经发生了变化,产生了一个新的y;而下面的z[:]=x+y是对z赋值,所以z的id不变。
  10. 转换为其他python对象,第一个例子就是说明A和B的类型不同,第二个例子中的a.item()就是把a中的3.5提取出来。

你可能感兴趣的:(python)