PyTorch【8】-数据加载
摘要:自定义 数据集对象 在 pytorch 中,数据加载可以通过自定义数据集对象实现; 数据集对象被抽象为 DataSet 类; 自定义数据集对象,需要继承该类,并且实现 __getitem__ 和 __len__ 两个方法 示例 class DogCat(data.Dataset): def __in
阅读全文
PyTorch【7】-nn.Sequential
摘要:nn.Sequential 是一个有序的容器; 它的输入是一个 神经网络模块 的有序序列,或者是由 模块名和神经网络模块 组成的有序字典; 代表模型的输入(样本)要有序地经过这些模块,然后得到一个输出; 源码解析 源码地址 https://pytorch.org/docs/stable/_modul
阅读全文
卷积神经网络-池化汇总
摘要:池化的概念是在 AlexNet 网络中提出的,之前叫做降采样; 池化到底在做什么,不多解释; 池化的作用 首先需要明确一下池化发生在哪里:卷积后经过激活函数形成了 feature map,即 Relu(wx + b) ,后面接池化层 1. 池化可以形象化的理解为降维 2. 池化避免了局部位移或者微小
阅读全文
PyTorch【6】-线性回归_SGD_动量梯度下降
摘要:本篇是一个练手项目,目的在于: 1. 熟悉 pytorch 2. 实现 SGD 与 动量梯度下降,并对比收敛性 本教程环境 pytorch 1.3以上 手动实现线性回归模型,一个很简单的模型,不多介绍,直接上代码 import torch as t import matplotlib.pylab a
阅读全文
PyTorch【5】-Tensor 运算
摘要:Tensor API 较多,所以把 运算 单独列出来,方便查看 本教程环境 pytorch 1.3以上 乘法 见代码 import torch as t # t.mul(input, other, out=None):mul 等价于 * # t.matmul(mat, mat, out=None):
阅读全文
PyTorch【4】-神经网络API_nn
摘要:Autograd 虽然提供了自动微分,但是如果用 autograd 自行搭建神经网络,也是比较麻烦的; 本教程环境 pytorch 1.3以上 pytorch 提供了更高级的 API,即 torch.nn 模块,该模块构建于 Autograd 上,其中 nn.Module 是最重要的类,如下 cla
阅读全文
PyTorch【3】-Autograd
摘要:先做入门讲解,后面慢慢更新 本教程环境 pytorch 1.3以上 Variable 变量 variable 是对张量 tensor 的封装,所以它具有 tensor 的大部分属性方法; variable 用来构建计算图; variable 包括 data、grad、grad_fn 3 个属性; /
阅读全文
神经网络-初始化参数
摘要:初始化 w b,其实并没有特别统一的规定,只是有一些经验,而这些经验并没有被严格证明,所以不保证一定有效; 假设我们选择 sigmoid 为激活函数,我们需要把 sigmoid 的输入定格于 0 附近,因为这里梯度比较明显; 换句话说就是要把 wx+b 的值置于 0 左右,这样才不容易梯度消失; 核
阅读全文
PyTorch【2】-Tensor 与基础操作
摘要:几乎所有深度学习框架背后的设计核心都是张量与计算图; Tensor 即张量,在 tf 中也有这个概念,tensor 是 pytorch 和 tf 非常重要的数据结构,可以理解为多维数组,它可以是一个数、一个向量、一个矩阵、多维数组; Tensor 可以用 GPU 加速; 在 pytorch 中其用法
阅读全文
PyTorch【1】-简介与安装
摘要:pytorch 最初的版本叫 torch,是基于 lua 语言开发,但是由于 lua 语言太小众,后来做了 python 接口,改名为 pytorch, 也就是说 pytorch 的后台是 torch; 到了 2018年12月, pytorch 发布1.0,并将后台切到 caffe2 tensorf
阅读全文
吴恩达读书笔记【5】-流水线与端到端
摘要:首先,我们可以做这样简单的归纳:流水线适合传统机器学习算法,端到端适合深度学习算法; 【不绝对,但大多数情况下适用】 模型1-情感分类 假如我们正在构建一个情感分类的系统, 输入一句话,输出正面还是负面评论,如 这个拖把非常好用 正面, 这个产品非常不好用 负面, 对于流水线系统 可能包含多个组件,
阅读全文
吴恩达读书笔记【4】-调试推理算法
摘要:优化验证测试 假如我们正在构建一个语音识别系统,输入一段语音,输出转译的文字,算法的过程可能是这样的: 记输入语音为 A,它可能有多种翻译结果,我们称之为转录集,转录集中每个句子 S 有一个得分函数 SorceA(S),假设 SorceA(S)=P(S|A),表示 S 是正确翻译的概率; 给定某种方
阅读全文
吴恩达读书笔记【3】-基于不同分布数据的模型
摘要:什么叫不同分布的数据 举几个例子来说明 例子1,要训练一个手机端的猫识别器,现在有 10000 张手机端的照片,并且被人为标记为是不是猫,然后我们可以从互联网上得到 200000 张猫咪图片,网络上的照片和移动手机端的照片就属于不同分布; 例子2,要训练一个语音识别系统,将某个地址转换成语音,现在有
阅读全文
激活函数
摘要:激活函数就是非线性函数,常用于非线性模型,特别是神经网络; 非线性函数用于构建非线性决策边界,多个非线性函数的组合能够构建复杂的决策面; 本文旨在总结这些函数,并进行对比分析 阶跃函数 最早的激活函数,图如下 缺点:不连续,且局部导数为 0,无法反向传播 它只用在 感知器 上 sigmoid 它是用
阅读全文
Postgres-存储过程 return 详解
摘要:如果返回一个 数字或者字符 比较简单,那么多行多列怎么办呢,分为以下几种情况 【东西很多,这里只做简单列举】 返回多行单列 又分为几种方式 1. return next,用在 for 循环中 CREATE OR REPLACE FUNCTION funcname ( in_id integer) R
阅读全文
吴恩达读书笔记【2】-学习曲线
摘要:之前我写过一篇博客 学习曲线,解释的还算清楚, 但是读了吴恩达的书,又有些新的体会,主要是把 学习曲线 和 偏差方差 结合起来,进行模型优化分析 学习曲线解读 那么问题来了,最优错误率从何而来?一般我们是不好确定的,故我们可以把 测试集和训练集 误差间距较小时,定为最优样本量 参考资料: 吴恩达:完
阅读全文
Postgres-日期型数据
摘要:日期型数据不必更多描述,直奔主题吧 cast:字符转换成日期 select cast('20190101' as date); -- 输出 "2019-01-01" select '20190101'::date; -- 输出 "2019-01-01" age:日期相减 两个参数:两日期相减 SEL
阅读全文