- 博客(71)
- 收藏
- 关注
原创 【lzy学习笔记-dive into deep learning】实战Kaggle比赛:预测房价 源码阅读
import hashlibimport osimport tarfileimport zipfileimport requestsimport numpy as npimport pandas as pdimport torchfrom torch import nnimport commfuncsDATA_HUB = dict()DATA_URL = 'http://d2l-data.s3-accelerate.amazonaws.com/'# 如果缓存中有就直接读取缓存
2022-02-17 20:57:47
615
1
原创 【lzy学习笔记-dive into deep learning】4.8 数值稳定性和模型初始化
参数初始化方案的影响:①对保持数值稳定性⾄关重要②选择哪个函数以及如何初始化参数可以决定优化算法收敛的速度有多快。糟糕选择可能会导致在训练时遇到梯度爆炸或梯度消失。4.8.1 梯度消失与梯度下降不稳定梯度的影响:①数值表示 ②优化算法的稳定性(1)梯度消失import torchimport matplotlib.pyplot as pltx = torch.arange(-8.0, 8.0, 0.1, requires_grad=True)y = torch.sigmoid(x)
2022-02-17 13:16:01
896
原创 【lzy学习笔记-dive into deep learning】4.7 前向传播、反向传播和计算图
小结• 前向传播在神经⽹络定义的计算图中按顺序计算和存储中间变量,它的顺序是从输⼊层到输出层。• 反向传播按相反的顺序(从输出层到输⼊层)计算和存储神经⽹络的中间变量和参数的梯度。• 在训练深度学习模型时,前向传播和反向传播是相互依赖的。• 训练⽐预测需要更多的内存。...
2022-02-17 11:10:12
499
原创 【lzy学习笔记-dive into deep learning】4.6 暂退法Dropout 的原理与代码实现
4.6.1 重新审视过拟合线性模型当⾯对更多的特征而样本不⾜时,线性模型往往会过拟合。相反,当给出更多样本而不是特征,通常线性模型不会过拟合。不幸的是,线性模型泛化的可靠性是有代价的。简单地说,线性模型没有考虑到特征之间的交互作⽤。对于每个特征,线性模型必须指定正的或负的权重,而忽略其他特征。深度神经网络2017年,⼀组研究⼈员通过在随机标记的图像上训练深度⽹络。这展⽰了神经⽹络的极⼤灵活性,因为⼈类很难将输⼊和随机标记的输出联系起来,但通过随机梯度下降优化的神经⽹络可以完美地标记训练集中的每⼀
2022-02-16 22:59:48
2269
原创 【lzy学习笔记-dive into deep learning】4.4 模型选择 欠拟合 过拟合
import mathimport numpy as npimport torchfrom torch import nnimport commfuncs# step 1: 生成数据集(x,y)max_degree = 20 # 设置最大阶数n_train, n_test = 100, 100true_w = np.zeros(max_degree)true_w[0:4] = np.array([5, 1.2, -3.4, 5.6]) # 示例给定features = n...
2022-02-16 15:52:49
537
1
原创 【lzy学习笔记-dive into deep learning】3.4 3.6 3.7 softmax原理与实现
3.3 线性回归的简洁实现常用的工具现代深度学习库会有所实现。现对3.2节内容通过深度学习框架来简洁实现。d2l存在的意义其实也就是把之前声明过的函数都存起来了,通过第一次@save标记自动记录了下来,以后就能直接调用了。d2l完全可取代。...
2022-02-13 23:39:44
299
原创 【lzy学习笔记-dive into deep learning】3.1-3.3 线性回归原理与实现
第三章 线性神经网络介绍神经⽹络的整个训练过程,包括:定义简单的神经⽹络架构、数据处理、指定损失函数和如何训练模型。3.1 线性回归回归regression是能为一个或多个自变量与因变量之间关系建模的一类方法。回归经常用来表示输入和输出之间的关系,与预测任务有关3.1.1 线性回归linear regression的基本元素线性回归在回归的各种标准⼯具中最简单而且最流⾏。线性回归基于的简单假设:⾸先,假设⾃变量x和因变量y之间的关系是线性的,即y可以表⽰为x中元素的加权和,这⾥通常允许包含观测值
2022-02-08 22:52:46
932
原创 【lzy学习笔记-dive into deep learning】数学预备 2.5-2.7
2.5 自动微分深度学习框架通过⾃动计算导数,即⾃动微分(automatic differentiation)来加快求导。实际中,根据我们设计的模型,系统会构建⼀个计算图(computational graph),来跟踪计算是哪些数据通过哪些操作组合起来产⽣输出。⾃动微分使系统能够随后反向传播梯度。这⾥,反向传播(backpropagate)意味着跟踪整个计算图,填充关于每个参数的偏导数。一位网友的分享,解释计算图与BP一个示例import torchx = torch.arange(4.0)
2022-02-07 20:25:37
1031
原创 3-git 起步我都学了些什么
本着不想生产重复网络垃圾的想法,建议直接访问廖雪峰老师的教程以下是我学习廖雪峰老师git教程,为加深印象摘录的笔记和一些操作过程记录。为了节约你的时间,如果上面教程都ok了就别往下看了。安装+配置安装error:git : 依赖: liberror-perl 但无法安装它解决:sudo apt-get updatesudo apt install git创建版本库在一个合适的地方git init有.git就可了上传文档(1)把文件放到创建的仓库目录或子目录都可以(2)gi
2020-12-13 20:37:52
245
原创 2-程序逻辑
1. 功能可拓展核心思想:抽象可扩展功能函数相关补充知识(算是软件工程的很基础内容了):常见的软件架构软件开发原则2. 递归递归在实际工作应用场景:树形结构3. GDB调试step vs next区别step单步进函数GDB指南GDB指南2...
2020-12-11 15:22:47
133
原创 1-Linux起步汇总贴
一.双系统安装 win10+ubuntu18.04安装教程补充:一定要弄清楚自己电脑的类型(像我遇到了安装完ubuntu看到了系统桌面但是再一重启直接进windows无法再切换到ubuntu)联想小新潮7000别太纠结GRUB引导了,开机F12快捷键切换(出现了grub只显示Ubuntu改了半天配置文件还是没有windows)安完双系统会出现两个时钟不匹配的问题,这是因为两个系统对时间的读取理解是不一样的,但是问题不大。可以windows手动设置;或者其实切换系统的时候谁联网谁就能自动
2020-12-05 00:32:19
228
原创 QT creator用OpenCV .pro添加
#在.pro文件下添加以下代码#opencv安装路径INCLUDEPATH+=E:\Opencv3.1.0\Windows\opencv\build\include E:\Opencv3.1.0\Windows\opencv\build\include\opencv E:\Opencv3.1.0\Windows\opencv\build\include\opencv2#cmake生成路径LIBS += E:\Qt\buildOpencv\lib\l
2020-11-23 13:17:34
392
原创 在QT Creator中配置OpenCV
先说下我的配置环境和相关版本信息:配置过程借鉴了以下良心博客和资源:Qt5.8.0+OpenCV3.2.0配置教程ffmpeg_version.cmake文件内容-手动添加解决error的思路我对资料内容的补充:我用的这套版本在按配置教程走流程的时候,其实遇到的error会更少些,无需配置教程后面的多次configure得先系统环境变量都信息填全,不要嫌麻烦,这样的好处是cmake里像QT5Core_DIR等信息你都不用手动填了配置完记得重启...
2020-11-23 13:10:20
252
原创 OpenCV Error: Assertion failed (size.width>0 && size.height>0) in imshow
QT Creator 配置完 OpenCV 之后用显示图片的demo测试时:#include "mainwindow.h"#include <QApplication>#include <opencv2/opencv.hpp>using namespace cv;int main(int argc, char *argv[]){ Mat myImage = imread(":/left3.jpg"); //添加到了资源文件后+相对路径 或者 Ma
2020-11-23 12:57:52
3248
1
原创 安装QT我都借鉴了哪些有用的资料
下载地址?途径1:http://download.qt.io/archive/qt/这里不是所有版本都有,但是不用翻墙很方便如果你用的这个,可速速浏览https://blog.csdn.net/weixin_38090427/article/details/83827678帮助你了解这里的内容和使用途径2:http://www.qt.io/download-open-source/官网,翻墙吧再注册个账号先下载哪个版本?1:嵌入式系统方面的QT4;其他随意最新版本也行2:5.9..
2020-10-28 13:22:29
142
原创 史上最简单!超快速!eclipse安装!3步搞定!
朋友们!还在为了安装软件而头痛吗?还在搜着别人家的教程一步步比对着截图担心搞错吗?还在看着官网进度条而黯然忧伤吗?OMG!看到这篇博文你就赚到了!就现在!装它装它装它!噗哈哈哈(╯▽╰)有点欢脱了!实在是重装系统之后安软件发现了宝贝!话不多说,那我们开始吧!1. 安装360软件管家(想不到吧hhh跟官网龟速和手动配置下载say goodbye)2. OMG!安装!点它点它!先装JDK再安E...
2020-04-07 17:57:58
288
原创 如何用Vue.js创建项目?
阅读本文你将知道…创建新项目如何处理ERROR:npminstall WARN package.json not existsvue init webpack projectnamep.s.三项选择no防止因为严格模式编程出现很多警告和错误安装依赖遇到了问题…npminstall WARN package.json not exists导致无法运行项目解决方法:要在项目...
2019-11-07 11:10:05
137
原创 笔记-正则表达式
什么是正则表达式?一种文本模式包括普通字符+特殊字符对字符串进行操作普通字符:例如a 到 z 之间的字母特殊字符:元字符为什么用正则表达式?测试字符串内的模式:数据验证替换文本:用正则识别特定文本,完全删除该文本或用其它文本替换提取子字符串应用领域很广C#JavaJavaScriptPythonRubyand so on…语法正则表达式的组件可以是单...
2019-10-23 13:55:14
107
转载 同步vs异步
消息通信的基本方式有两种:1、同步方式两个通信应用服务之间必须要进行同步,两个服务之间必须都是正常运行的。发送程序和接收程序都必须一直处于运行状态,并且随时做好相互通信的准备。发送程序首先向接收程序发起一个请求,称之为发送消息,发送程序紧接着就会堵塞当前自身的进程,不与其他应用进行任何的通信以及交互,等待接收程序的响应,待发送消息得到接收程序的返回消息之后会继续向下运行,进行下一步的业务处理...
2019-10-23 10:37:18
520
原创 为了读懂to do list 我都看了些什么
Tip 1v-text和v-html:v-html可以将变量中的标签去掉,而v-text不能,显示的是字符串测试数据执行效果Tip 2在 input 输入框中我们可以使用 v-model 指令来实现双向数据绑定Tip 3官网解释:https://cn.vuejs.org/v2/guide/list.html#用-v-for-把一个数组对应为一组元素Tip 4 export与e...
2018-12-13 11:02:11
708
原创 摸不到头脑的vue.js起步
摘了些资料一、APP.vue 文件结构解读&lt;.template&gt;&lt;./template&gt;标签包裹的内容:这是模板的HTMLDom结构&lt;.script&gt;&lt;./script&gt;标签包括的js内容:你可以在这里写一些页面的js的逻辑代码。&lt;.style&gt;&lt;.
2018-12-13 00:21:28
148
转载 为什么要设置链表头结点?
<整理资料>Q:什么是头结点?A:数据结构中,在单链表的开始结点之前附设一个类型相同的结点,称之为头结点。头结点的数据域可以不存储任何信息,头结点的指针域存储指向开始结点的指针(即第一个元素结点的存储位置)。A:头结点其实就是一个数据域为空的结点(当然也可储存链表的长度之类的数据,一般对链表操作无影响),而首元结点就是第一个元素结点,即头结点后边的第一个结点。Q:用来干嘛?A...
2018-10-20 11:59:18
14475
2
原创 201509-3模板生成系统(erase replace)
问题描述 为了简化生成网页的工作,成成觉得他需要引入一套模板生成系统。 模板是包含特殊标记的文本。成成用到的模板只包含一种特殊标记,格式为 {{ VAR }},其中 VAR 是一个变量。该标记在模板生成时会被变量 VAR 的值所替代。例如,如果变量 name = “Tom”,则 {{ name }} 会生成 Tom。具体的规则如下: ·变量名由大小写字母、数字和下划线 (_) 构成,...
2018-09-14 11:13:39
135
原创 201609-2火车购票
看到网上好多大佬用到map,emmm没有get到。我用的是简单的数组。over问题描述 请实现一个铁路购票系统的简单座位分配算法,来处理一节车厢的座位分配。 假设一节车厢有20排、每一排5个座位。为方便起见,我们用1到100来给所有的座位编号,第一排是1到5号,第二排是6到10号,依次类推,第20排是96到100号。 购票时,一个人可能购一张或多张票,最多不超过5张。如果...
2018-09-13 18:39:59
194
原创 带通配符的数
【问题描述】给定一个可以带通配符问号的正整数W,问号可以代表任意一个一位数字。再给定一个正整数X,和W具有同样的长度。问有多少个整数符合W的形式并且比X大?【输入形式】多组数据,每组数据两行,第一行是W,第二行是X,它们长度相同,在[1..10]之间。【输出形式】每行一个整数表示结果。【样例输入】36?1?8 236428 8?3 910 ? 5【样例输出】100...
2018-09-12 10:55:47
641
原创 利用字符串流实现int与string的转化
头文件 sstream1.string转化int string str; cin>>str; int i; stringstream stream(str); stream>>i; stream.clear();2.int转化为string int i; cin>>i; string str; stringstream stream;...
2018-09-12 10:21:40
685
原创 相同生日
【问题描述】在一个有200人的大班级中,存在两个人生日相同的概率非常大,现给出每个学生的学号,出生月日,试找出所有生日相同的学生。【输入形式】第一行为整数n,表示有n个学生,n<=200。此后每行包含一个字符串和两个整数,分别表示学生的学号(字符串长度为11位)和出生月(1<=m<=12)日(1<=d<=31),学号、月、日之间用一个空格分隔。【输出形...
2018-09-12 09:49:16
549
原创 数圈
【问题描述】以1为中心,用2,3,4, …, n, …, n*n的数字围绕着中心输出数圈, 如若n=4,则7 8 9 106 1 2 115 4 3 1216 15 14 13【输入形式】一个整数n(1<=n<=10)【输出形式】数圈矩阵【样例输入】5 【样例输出】21 22 23 24 25 20 7 8 9 10 19 6 1 ...
2018-09-11 21:21:16
833
原创 487-3279( C/C++数组初始化的一些误区)
每个人都喜欢有令人难忘的电话号码。要想让电话号码变得令人难忘的一种方法是拼出一个令人难忘的单词或短语。例如,你可以拨打滑铁卢大学的电话,拨打令人难忘的电话号码TUT-GLOP。 有时只有一部分号码被用来拼写一个单词,例如,你可以拨打310-gino从Gino's订购披萨。 要使电话号码令人难忘的另一种方法是以一种令人难忘的方式对数字进行分组。你可以从比萨饼小屋中订购比萨饼,方法是拨...
2018-09-11 18:05:48
776
原创 个位数统计
【问题描述】给定一个k位整数N = dk-1*10k-1 + … + d1*101 + d0 (0<=di<=9, i=0,…,k-1, dk-1>0),请编写程序统计每种不同的个位数字出现的次数。例如:给定N = 100311,则有2个0,3个1,和1个3。【输入形式】每个输入包含1个测试用例,即一个不超过1000位的正整数N。【输出形式】对N中每一种不同的...
2018-09-11 17:55:07
149
原创 锤子剪刀布
【问题描述】大家应该都会玩“锤子剪刀布”的游戏。现给出两人的交锋记录,请统计双方的胜、平、负次数,并且给出双方分别出什么手势的胜算最大。【输入形式】输入第1行给出正整数N(<=105),即双方交锋的次数。随后N行,每行给出一次交锋的信息,即甲、乙双方同时给出的的手势。C代表“锤子”、J代表“剪刀”、B代表“布”,第1个字母代表甲方,第2个代表乙方,中间有1个空格。【输出形式】...
2018-09-11 17:34:37
196
原创 部分A+B
【问题描述】正整数A的“DA(为1位整数)部分”定义为由A中所有DA组成的新整数PA。例如:给定A = 3862767,DA = 6,则A的“6部分”PA是66,因为A中有2个6;给定A = 3862767,DA = 1,则A的“1部分”PA是0,因为A中有0个1。现给定A、DA、B、DB,请编写程序计算PA + PB。【输入形式】输入在一行中依次给出A、DA、B、DB,中间以空格...
2018-09-11 17:27:29
189
原创 7, 还是7
【问题描述】输出 7 和 7 的倍数,还有包含 7 的数字例如(17,27,37…70,71,72,73…)【输入形式】一个正整数 N。(N 不大于 30000)【输出形式】从小到大排列的不大于 N 的与 7 有关的正整数,每行一个。【样例输入】20【样例输出】7 14 17解法一:#include&lt;iostream&gt;using names...
2018-09-11 17:22:46
285
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人