首先卷积神经网络一定是非循环的神经网络

神经网络的设计是以层为单位的
而每层卷积神经网络都有输入输出和W,H
四个参数
根据传递方向可得到以下性质

必须满足前一层的输出后一层的输入参数一致,也就是说最好一层一层逐级的写。

其次最好将数据的输入也要看成是一层神经网络,就是说数据的输入参数不是最重要的,而数据的输出位置的参数一定要与第一层的输入一致

且输入位置参数乘输出位置参数必须是第一层输入位置的参数的倍数
(上面的实际上和矩阵行列的乘法有关,不过为们这样理解矩阵乘法更加实用)

上面是全局都可用的性质

后面的处理

输出的时候直接使用view(-1),全部展开成一维 也就说没有输入输出区分,即是输入也是输出 w、h

                                         view(-1,可以被上层输出整除的数)  输入,输出

但是,到这里还是不能任意输出我们想要的参数

所以要使用torch.nn.Linear(输入,输出任意参数)

使用上面的Linear 和view的配合可以调出自己想要的输出参数
与标签一致

以上观点可以设计所有非循环网络

简单介绍一下神经网络的整个原理

原理其实很简单

神经网络就是一个数学上的多元方程,具体多少自定义

反正基本上是多到你的计算机无法通过数据拟合出来方程,也就是计算机无法短时间内求出未知数前面的系数。

那么怎么办,

人们给定任意系数 计算平均方差 loss 如果有这样一组数 能让loss更小 就更新 初始系数值

但是任意过于偶然

所以就采取了梯度下降 梯度下降基本是将已知数据带入loss和系数w(权重) 的

方程中得到一个loss和w的多元方程

误差方程

只要求得误差方程loss为0 所有W的值

但是还是不能计算得出

所以对误差方程求偏导数 所谓的梯度

当梯度等于0的时候 ,是loss值的最小或最大值

虽然我们不知道 这个未知函数的最小值

但是,这 就有可能求出最小值

直接求不出 就间接的求出 都知道梯度等于0是可能最小 那么就让按照梯度的不断减小调节初始值w
知道loss的梯度为0
那么loss才有可能最小

那么要怎么更新调节 所有的w

所有下次w = 这次w -learn_rate乘这次w的梯度 这次数据要带入

输入数据的处理

神经网络的第一层是3 64 w h

你输入数据的维度 因该是 64*n 3 w h

那么如何使用pytorch 控制维度呢

这样的例子

 transforms.Compose([#transforms.ToPILImage(),transforms.RandomCrop(32, padding=4),transforms.RandomHorizontalFlip(),transforms.RandomRotation(15),transforms.ToTensor(),transforms.Normalize(mean, std)
])transforms.RandomCrop(w或h, padding=4),一般w=h
transforms.ToTensor() 转换成张量transforms.Normalize(mean, std)

归一化处理
重点在于mean 和 std 的维度 决定了你的 64*n 3 w h 3的位置的维度
一般图片类的基本这个位置都是3

而前面的64*n的位置基本就是你要输入多少张图片
图片都是3通道 w h

#加载自己的数据集

class Data_set_self(data.Dataset):def __init__(self,data_path,transforms=None):self.transforms=transforms# 这里要提供所有图片或数据的所有路径# 扫描data_path 下所有图片的名字data_name_list=os.listdir(data_path)# 创建数据的绝对路径self.data_path_list=[os.path.join(data_path,one_data_name) for one_data_name in data_name_list]def __getitem__(self,index):# 假设我们的每条数据结构是表现在名字中的  例如 dog1000.jpgone_data_path=self.data_path_list[index]# 假设dog是0 其他是1one_label=0 if "dog" in one_data_path.split("/")[-1] else 1#假设数据是图片one_data=Image.open(one_data_path)if self.transforms:one_data=self.transforms(one_data)return one_data,one_labeldef __len__(self):# 返回总数据集的长度即可return len(self.data_path_list)

#这样就可以直接使用torch中的数据加载方法加载数据了DataLoader

#通过梯度下降的广义理解:在给定的自变量值域内进行间隔性扫描 标签域和预测值误差最小的函数,

那么说这样的扫描会把自变量域外忽略掉,
所以要将自便量域外的压缩进来

严格的说目前已经使用了激活函数,但是压缩的是 预测值得范围

通过sin(wx)可以知道 要调整这样才可以压缩进来

直接将整体拟合过程乘sin函数,为了保持原函数得y值不会随着sin变化所以要同时加上一个cos
这样就y值从来没有变化
使用将cos和sin得频率变大也就是说在定义域内(给定数据集的最大定义域内)尽可能的收集全部值得变化
通俗的说容纳了更多的波峰波谷

其实这样做并不是什么新鲜的事情 在通信领域早就这样做了
这个过程叫载波 发信号的时候 收信号的时候进行滤波 即可

这样我们的梯度下降的时候就可以 算出更多的波峰波谷
是个函数极大或者极小值得概率更高

这样也就突破了数据集大小的限制

这样还可以相位移动不改变频率 不改变原函数
突破数据集的定义域 突破数据量限制
看到数据集 外的天空

假如我们训练完的模型没有达到我们的标准
那么我们就可以不断的调整相位来提高模型的进度

pytorch设计卷积神经网络的广义分析相关推荐

  1. 【PyTorch】卷积神经网络

    卷积神经网络 卷积神经网络最初是为了解决计算机视觉的相关问题设计的,现在其不仅被应用在图像和视频领域,也可用于诸如音频信号的时间序列信号的处理之中. 本文主要着重于卷积神经网络的基本原理和使用PyTo ...

  2. Pytorch实现卷积神经网络(回归问题)

    Pytorch实现卷积神经网络(回归问题) 前言 一.Pytorch 二.卷积神经网络 1.CNN结构 2.实现一个卷积神经网络类--代码 总结 前言 深度学习当前的热度虽然没有前两年那么火热,尤其是 ...

  3. 【深度学习】基于Pytorch的卷积神经网络概念解析和API妙用(一)

    [深度学习]基于Pytorch的卷积神经网络API妙用(一) 文章目录 1 不变性 2 卷积的数学分析 3 通道 4 互相关运算 5 图像中目标的边缘检测 6 基于Pytorch的卷积核 7 特征映射 ...

  4. 【深度学习】基于Pytorch的卷积神经网络概念解析和API妙用(二)

    [深度学习]基于Pytorch的卷积神经网络API妙用(二) 文章目录1 Padding和Stride 2 多输入多输出Channel 3 1*1 Conv(笔者在看教程时,理解为降维和升维) 4 池 ...

  5. Educoder 机器学习 神经网络 第四关:使用pytorch搭建卷积神经网络识别手写数字

    任务描述 相关知识 卷积神经网络 为什么使用卷积神经网络 卷积 池化 全连接网络 卷积神经网络大致结构 pytorch构建卷积神经网络项目流程 数据集介绍与加载数据 构建模型 训练模型 保存模型 加载 ...

  6. 用PyTorch搭建卷积神经网络

    用PyTorch搭建卷积神经网络 本篇是加拿大McGill本科,Waterloo硕士林羿实习时所作的工作.发文共享,主要是面对PyTorch的初学者. 本篇文章是一篇基础向的PyTorch教程,适合有 ...

  7. Pytorch 深度卷积神经网络 AlexNet

    Pytorch 深度卷积神经网络 AlexNet 0. 环境介绍 环境使用 Kaggle 里免费建立的 Notebook 教程使用李沐老师的 动手学深度学习 网站和 视频讲解 小技巧:当遇到函数看不懂 ...

  8. pytorch卷积可视化_使用Pytorch可视化卷积神经网络

    pytorch卷积可视化 Filter and Feature map Image by the author 筛选和特征图作者提供的图像 When dealing with image's and ...

  9. pytorch卷积神经网络_知识干货-动手学深度学习(pytorch)-06 卷积神经网络基础

    卷积神经网络基础 本节我们介绍卷积神经网络的基础概念,主要是卷积层和池化层,并解释填充.步幅.输入通道和输出通道的含义. 二维卷积层 本节介绍的是最常见的二维卷积层,常用于处理图像数据. 二维互相关运 ...

最新文章

  1. HTTP API 自动化测试从手工测试到平台的演变
  2. 鲲鹏云HCIA知识总结(一)
  3. 工作54:对ref的理解
  4. dependency 中的 classifier属性
  5. 作者:张丽丽(1984-),女,中国科学院计算机网络中心助理研究员
  6. 【数据结构与算法】顺序表的Java实现
  7. 【hiho挑战赛24 ABC】贪心和期望dp惨烈的后缀自动机
  8. 牛客多校第五场 A digits 2 签到
  9. [渝粤教育] 中国地质大学 工程地质 复习题 (2)
  10. 解决办法:undefined reference to symbol 'dlclose@@GLIBC_2.2.5'
  11. 使用FlashBoot3.2c 将 U 盘制作成 DOS 启动盘
  12. 节约里程法解决VRP物流配送路径优化问题及局部优化改进-matlab代码
  13. 期刊分类abcde_期刊分类
  14. sudo yum install glibc.i686 linux,yum安装glibc-devel.i686的问题经历
  15. 计算机一进制一加一等于一,1加1等于几所有答案_灯谜一加一打一字的答案
  16. 平头哥面试——数字IC1
  17. FFmpeg源码分析:sws_scale图像缩放与图像转换
  18. 基于Qiime2处理Silva数据库
  19. XXL-JOB 任务调度中心 后台任意命令执行漏洞
  20. 阿里云盘太小啦,所以自己动手写了一个阿里云盘的搜索引擎

热门文章

  1. 导入特征怎么实体化_幼儿教师开展集体活动开场导入方法 看过的都说很实用!...
  2. android屏幕分享软件,ScreenStream(屏幕分享)
  3. aac蓝牙编解码协议_蓝牙音频编码哪个音质好?今天我们来逐一解读
  4. react可视化编辑器_UE4下玩转react
  5. java access 分页查询语句,简单又高效的Access分页语句
  6. vue里获取不到data_vue methods中取不到data值
  7. 网络管理技术(Network Administrative Techniques)
  8. Python 索引for循环
  9. 【 FPGA 】总线实现形式之三态门
  10. 【 FPGA 】FIR 滤波器之固定分数率重采样滤波器