Pytorch学习

这篇博客介绍了PyTorch框架及其自动梯度机制,通过线性回归实例展示了基本操作。接着探讨了卷积网络的参数设计,包括卷积核大小、步长和边缘填充,并解释了卷积结果计算公式。还讨论了池化层,特别是MaxPooling的作用。最后提到了经典的Alexnet和VGG网络,以及引入残差网络(Resnet)以解决深度学习中的梯度消失问题。
摘要由CSDN通过智能技术生成

Pytorch 登场

定义:框架,帮我们把矩阵传入到CPU、GPU上

caffe 不更新、无法引入新思想
tensorflow 结果不直观、使用流程僵硬
keras 封装过的tensorflow

cuda+anaconda+pytorch安装

框架

框架最厉害的一件事情就是帮我们把反向传播全部都计算好了,对矩阵进行求导
需要求导的可以手动定义:
x=torch.randn(3,4,requires_grad=true)

autogard机制

返向传播计算
w.grad

线性回归实例

图像数据一般都是np.array的格式
并且为了防止出错我们一般转换成矩阵的格式

x_values=[i for i in range(11)]
x_train  = np.array(x_values,dtype=np.float32)
x_train = x_train.reshape(-1,1)
x_train.shape
y_values=[2*i + 1  for i in x_values]
y_train  = np.array(y_values,dtype=np.float32)
y_train = y_train.reshape(-1,1)
y_train.shape
import torch
import torch.nn as nn 

class linearregresionmodle(nn.Moule):
	def __init__(self,input_dim,output_dim):
	
	

回归模型loss 真实值和预测值的均方误差
分类模型loss 是交叉熵

Tensor常见的形式

  • scalar:通常是一个数值
  • vector:向量特征某一维度
  • matrix:一般都是矩阵,通常是多维的

卷积网络

在这里插入图片描述

在这里插入图片描述
堆叠的卷积层

卷积层数设计参数

在这里插入图片描述

  • 滑动窗口的步长
    在这里插入图片描述
    图像任务步长一般采用1,卷积并不是只能使用在图像处理,也可以使用在文字中,这个就和步长有很大关系
  • 卷积核大小
  • 边缘填充
    不是边界点被利用的次数更多,加上一圈0,充分利用了边界条件
    更公平对待边界值
  • 卷积核个数

卷积结果计算公式在这里插入图片描述

卷积参数共享

在这里插入图片描述
55210
32
32*3

池化层

在这里插入图片描述
max pooling最大池化

目前maxpooling 比average pooling在大部分情况下效果更好
在这里插入图片描述
两次卷积一次池化
七层神经网络,有权重值的才算
注意:转换之后才能接全连接层
在这里插入图片描述

经典Alexnet网络

在这里插入图片描述
filter太大特征提取不出来
stride也太大

经典VGG网络

在这里插入图片描述

网络层数更高
效果号 但是时间很长
为什么vgg16层比30层好,困惑
深度学习瓶颈

新的希望 残差网络 经典Resnet

在这里插入图片描述
加上一个同等映射
在这里插入图片描述
模型是提取特征值,具体回归和判断是和提取参数和最后一层怎么连接相关

感受野

输入 hwc
c个卷积核得到c个特征值
c(77c)
2c(33c)
堆叠小的卷积核所需要的参数也少一些

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值