pytorch学习笔记(2020.09.04)

tech2026-04-22  2

前言

写于艰难安装Anaconda/Pycharm/Pytorch基础之上(从Windows到Ubuntu)。 在看了一周深度学习基础知识后,决定动手编一编(推荐李宏毅老师的机器学习课程,B站可搜)。

提示:本文程序参考https://pytorch.org/tutorials/beginner/blitz/tensor_tutorial.html#sphx-glr-beginner-blitz-tensor-tutorial-py

开始学习!

1.准备工作

代码如下:

from __future__ import print_function import torch

对于所有的from__ future__ import,则意味着在新旧版本的兼容性方面存在差异,处理方法是按照最新的特性来处理。可以将future看成Python的一个专门存放新特性的模块。【参考学习https://blog.csdn.net/anuory/article/details/90245930】

2.创建各种矩阵

基础版

x = torch.empty(5, 3) print(x) y = torch.tensor([5.5, 3]) print(y) z = torch.zeros(5, 3, dtype=torch.long) print(z) a = torch.ones(5,3,dtype=torch.long) print(a)

输出

tensor([[ nan, 4.5677e-41, nan], [4.5677e-41, nan, 4.5677e-41], [ nan, 4.5677e-41, nan], [4.5677e-41, nan, 4.5677e-41], [ nan, 4.5677e-41, nan]]) tensor([5.5000, 3.0000]) tensor([[0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0]]) tensor([[1, 1, 1], [1, 1, 1], [1, 1, 1], [1, 1, 1], [1, 1, 1]])

Pytorch里面处理的最基本的操作对象就是Tensor(张量),它表示的其实就是一个多维矩阵,并有矩阵相关的运算操作。【参考学习:https://blog.csdn.net/out_of_memory_error/article/details/81258809?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.nonecase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.nonecase】

看起来很高级版

b = torch.ones(5,3,dtype=torch.double) print(b) c = b.new_ones(4,7) print(c) d = torch.ones(4,7,dtype=torch.long) print(d) e = d.new_ones(2,2) print(e)

输出

tensor([[1., 1., 1.], [1., 1., 1.], [1., 1., 1.], [1., 1., 1.], [1., 1., 1.]], dtype=torch.float64) tensor([[1., 1., 1., 1., 1., 1., 1.], [1., 1., 1., 1., 1., 1., 1.], [1., 1., 1., 1., 1., 1., 1.], [1., 1., 1., 1., 1., 1., 1.]], dtype=torch.float64) tensor([[1, 1, 1, 1, 1, 1, 1], [1, 1, 1, 1, 1, 1, 1], [1, 1, 1, 1, 1, 1, 1], [1, 1, 1, 1, 1, 1, 1]]) tensor([[1, 1], [1, 1]])

这里用了新的方法创建矩阵,新的矩阵可以和旧的矩阵保留一定的属性,比如dtype。

总结

先学到这儿,继续看视频!明天继续搞起来!

最新回复(0)