深度学习入门1-认识pytorch

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 前言
  • 一、pytorch是什么?
  • 二、基本操作
    • 1.引入库
    • 2.基本数据类型介绍——张量
    • 3.张量运算
    • 3.数据类型的转换——与numpy
  • 总结


前言

开始深度学习入门啦,每周总结一次,主要是害怕自己忘记,也好督促自己学习;这种写博客式的输出学习第一次尝试,感觉很新奇,很有意思,希望自己能坚持下去;也欢迎小伙伴或大佬的交流和指教~新手上路,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和其基本数据类型及操作,加了很多*的部分是我认为自己容易忘记,和后面需要用到很多次,比较重要的部分。

你可能感兴趣的:(python,人工智能,深度学习)