提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
开始深度学习入门啦,每周总结一次,主要是害怕自己忘记,也好督促自己学习;这种写博客式的输出学习第一次尝试,感觉很新奇,很有意思,希望自己能坚持下去;也欢迎小伙伴或大佬的交流和指教~新手上路,now begin~
一、pytorch是什么?
pytorch 是一种构建神经网络的框架,该框架是为了更简单地构建各种深度神经网络。
二、基本操作
1.引入库
import torch
2.基本数据类型介绍——张量
#1创建无初始化的张量
a=torch.empty(3,4)
print(a)#将会打印一个3×4的无初始化的张量
#2创建有初始化的张量
b=torch.randn(3,4)
print(b)#将会打印一个3×4的有初始化的张量
#3创建全0,全1的张量
c=torch.zeros(3,4)#将会打印一个3×4的全0的张量
print(c)
d=torch.ones(3,4)#将会打印一个3×4的全1的张量
print(d)
#4创建和一个张量形状一样的张量
e=torch.randn_like(a,dtype=torch.float)
print(e)#将会打印出一个和a形状一样的,数据类型为float的张量
#5已有矩阵转化为张量
f=torch.tensor([[2.5,8.0,7.3],[2.2,3.2,5.0]])
#5张量的形状
a.size()#本质上返回类型为元组,可以赋值给两个变量
3.张量运算
以加法为例:
#1直接相加
a+b
#相加张量形状需要一样
#2torch.add
torch.add(a,b)
#3赋值式相加
torch.add(a,b,out=g)#将结果赋值给了g
#4覆盖式相加
b.add_(a)#将结果赋值给了b
#减是sub;乘是mul 把add换掉就好
#5切片
a[1,:]#取第一行,所有列
#6变形***********************************************************
a.view(2,6)#总元素个数需要保持
a.view(2,2,3)
a.view(2,-1)#也可只固定一个维度,另一个写-1,注意固定的维度一定要能够被整除
a.T #得到的是a的转置,即行列互换的矩阵
#7一维张量变成数**************************************************
h=torch.tensor([10.5])
h.item()
3.数据类型的转换——与numpy
import numpy as np
#1tenssor->ndarray
a=torch.ones(5)
b=a.numpy()
#2ndarray->tensor
a=np.ones(5)
b=torch.from_numpy(a)
总结
介绍了pytorch和其基本数据类型及操作,加了很多*的部分是我认为自己容易忘记,和后面需要用到很多次,比较重要的部分。