- 博客(56)
- 收藏
- 关注
原创 ResNet
为了解决深层网络中的退化问题,可以人为地让神经网络某些层跳过下一层神经元的连接,隔层相连,弱化每层之间的强联系。这种神经网络被称为 残差网络 (ResNets)。残差网络由许多隔层相连的神经元子模块组成,我们称之为残差块 Residual block。单个残差块的结构如下图所示:上图中红色部分称为 short cut 或者 skip connection(也称 捷径分支),直接建立ala^{[l]}al与al2a^{[l+2]}al2的隔层联系。zl1Wl1al。
2023-06-30 09:51:07 432
原创 图像分类网络结构
在 inception 的基础上,还可以加上降维功能的结构,如下图所示,在原始 inception 结构的基础上,在分支2,3,4上加入了卷积核大小为1x1的卷积层,目的是为了降维(减小深度),减少模型训练参数,减少计算量。,下图是论文中提出的inception原始结构,将特征矩阵同时输入到多个分支进行处理,并将输出的特征矩阵按深度进行拼接,得到最终输出。Lenet是一个 7 层的神经网络,包含 2个卷积层,2 个池化层,2 个全连接层,一个输出层。通常所用的配置为D,13个卷积层和3个全连接层。
2023-06-28 11:24:35 299
原创 Python异常
自定义抛出异常函数 --raise '''raise 异常类型(message)message:错误信息''' def test(number) : if number == 100 : raise ValueError("number 不可以100") def test2(number) : try : return test(number) except ValueError as e : return e。
2023-04-18 21:35:21 768 1
原创 Python类
class Person(object) : # 类属性name name = 'djk' # 类函数dump def dump(self) : # 如果不加self,则获取不到name print(f' {self . name } is dumping') # 实例化一个类 p = Person() print(p . name) p . dump() >> djk >> djk is dumping。
2023-04-18 20:47:17 865
原创 Python集合
集合是一个无序的不重复元素序列常用来对两个列表进行交并差的处理与列表一样支持所有数据类型使用{}与列表的区别:创建方法:通过set函数来创建集合,不能使用{}创建# 集合是一个无序的不重复元素序列 #常用来对两个列表进行交并差的处理 #与列表一样支持所有数据类型 #使用{} a = set() print(a , type(a)) >> set() < class 'set' > b = set([ 'python' , 'flask' ]) print(b) >> {
2023-04-16 15:18:14 119
原创 Python字符串
使用操作符%来实现 info = 'my name is %s my age is %s' %('djk' , 10) print(info) >> my name is djk my age is 10 info1 = 'my name is %s my age is %s' name = 'djk' age = 18 print(info1 %(name , age)) >> my name is djk my age is 18 dict = {
2023-04-15 21:24:53 299
原创 刘二大人《Pytorch深度学习实践》第十一讲卷积神经网络(高级篇)
当一个卷积层输入了很多feature maps的时候,这个时候进行卷积运算计算量会非常大,如果先对输入进行降维操作,feature maps减少之后再进行卷积运算,运算量会大幅减少。传统的卷积层的输入数据只和一种尺寸的卷积核进行运算,而Inception-v1结构是Network in Network(NIN),就是先进行一次普通的卷积运算(比如5。1的卷积操作可以理解为feature maps个神经元都进行了一个全连接运算。(2)使用1*1的卷积核可以对模型进行降维,跳连结构解决了梯度消失的问题。
2023-04-14 10:12:45 679 1
原创 刘二大人《Pytorch深度学习实践》第十讲卷积神经网络(基础篇)
全连接的网络将图片的的本身二维空间结构进行了破坏,而这些空间结构是有用的,因此,要定义新的操作图像的计算节点,因此引入了卷积神经网络,能够尊重图像的空间结构,他的组成为:卷积层、池化层和归一化处理。3. 如果图片的分辨率很大的话,每一将过滤器移动一个像素,那么就需要很多次才能把图像收缩,因此引入了超参数Stride,它是。2. 对于每一次的卷积,可以发现图片的W和H都变小了,为了解决特征图收缩的问题,我们。1.过滤器的通道数和输入的通道数相同,输出的通道数和过滤器的数量相同。作为该区域池化后的值。
2023-04-13 16:53:37 647
原创 刘二大人《Pytorch深度学习实践》第九讲多分类问题
item()的作用是取出单元素张量的元素值并返回该值,保持该元素类型不变。但是这种情况下出现一个问题,每个sigmoid的输出都是独立的,当一个类别的输出概率较高时,其他类别的概率仍然会高,也就是说在输出了1的概率后,2输出的概率不会因为1的出现而受影响,这点说明了所有输出的概率值之和大于1。说明:dim=1,指定列,也就是行不变,列之间的比较,所以原来的a有三行,最后argmax()出来的应该也是三个值,第一行的时候,同一列之间比较,最大值是0.8338,索引是0,同理,第二行,最大值的索引是1……
2023-04-13 13:14:18 622 1
原创 刘二大人《Pytorch深度学习实践》第八讲加载数据集
3、因为数据集分成了多个mini-batch,有多少份mini-batch就有多少个Iteration,每进行一次mini-batch的前向和后向传播,就会进行一次权重参数的更新,在一个Epoch中,有多少个Iteration,就更新了多少次权重参数。2、在深度学习训练中,要给整个数据集分成多份,即mini-batch,每个mini-batch所包含的样本的数量叫做Batch-Size。1、DataSet 是抽象类,不能实例化对象,需要自己定义类继承该抽象类并实现其中的方法。主要用来返回数据集的个数。
2023-04-12 16:55:03 718
原创 刘二大人《Pytorch深度学习实践》第六讲逻辑斯蒂回归
由于线性回归其预测值为连续变量,其预测值在整个实数域中。而对于预测变量y为离散值时候,可以用逻辑回归算法(Logistic Regression)逻辑回归的本质是将线性回归进行一个变换,该模型的输出变量范围始终。2. y如果是1,则loss = -ylogy’,y‘是0-1之间,则logy’在负无穷到0之间,y‘如果等于1则损失函数是0,如果和y的值越来越不接近,loss的值就会越来越大,y等于0同理。1.y’是预测值,y是真实值,如果想让loss足够小,那么y’和y越接近越好。
2023-04-12 15:10:20 640 1
原创 Codeforces Round #784 (Div. 4)
文章目录A. Division(模拟)B. Triple(模拟)C. Odd/Even Increments(思维)D. Colorful Stamp (结论)E. 2-Letter StringsF. Eating Candies (双指针)G. Fall Down(模拟)H. Maximal AND(进制+贪心)A. Division(模拟)#include <bits/stdc++.h>using namespace std;const int N = 1e5 + 10;int
2022-05-10 18:45:02 77
原创 Prefix Equality(树状数组维护区间最值)
#include <bits/stdc++.h>using namespace std;const int N = 2e5 + 10, INF = 0x3f3f3f3f;int n, m;//tr[i]维护a数组前i个数最大值在b数组中出现的最早位置//tr1[i]维护b数组前i个数最大值在a数组中出现的最早位置int a[N], b[N], id[N], id1[N], tr[N], tr1[N];unordered_map <int, int> mp, mp1;
2022-05-10 11:21:16 374
原创 Codeforces Round #787 (Div. 3)
文章目录A. Food for Animals(模拟)A. Food for Animals(模拟)#include <bits/stdc++.h>using namespace std;const int N = 1e5 + 10;int main(){ int T; cin >> T; while (T --) { int a, b, c, x, y; cin >> a >> b >
2022-05-06 20:54:51 459
原创 分数拆分(简单数学)
思路: x,y,k都是正整数因此很容易看出x > k, y > k,又因为x >= y,则用y替换x可得不等式y <= 2 * k,因此可以直接枚举y的值判断x是否为整数即可。#include <bits/stdc++.h>using namespace std;typedef long long LL;int main(){ LL k; cin >> k; int cnt = 0; for (int i = k + 1;.
2022-05-02 16:45:50 246
原创 2021年CCPC河南省赛部分题解
文章目录2825: 收集金币(状态机dp)2826: 使用技能(乘法逆元+组合数学)2827: 欢度佳节(位运算+枚举)2829: 闯关游戏 (DP)2834: 小凯的书架 (树状数组+二分)2835: 未成年人之友(模拟)2836: 黑曜石 (思维)2825: 收集金币(状态机dp)题目链接状态机模型的dp技能的使用与否作为两种状态f[i][0]表示进行到第i个事件没有使用技能f[i][1]表示进行到第i个事件使用了技能状态转移方程:LOST事件:f[i][1] = max (f[i -
2022-04-30 21:47:10 4099 2
原创 L2-034 口罩发放 (25 分)(坑点注意)
模拟题第一次写测试点5挂了,发现一个坑点,身份证是唯一的,而姓名不是,所以要以身份证为基准代码:#include <bits/stdc++.h>using namespace std;unordered_map <string, int> mp, st;vector <string> res;unordered_map <string, string> sf;struct node { string name, idcard; ..
2022-04-20 21:36:43 525
原创 L2-036 网红点打卡攻略 (25 分)
题目链接数据规模较小,直接暴力模拟即可。代码:#include <bits/stdc++.h>using namespace std;typedef long long LL;int n, m;int g[210][210], st[210][210];int path[210];int ans = 1e9, cnt, resid;int main (){ cin >> n >> m; for (int i = 1; i <=
2022-04-20 20:43:59 97
原创 CF1668 C.Make it Increasing
题意: 给定一个长度为n的数组a,和一个全零数组b,bi有两种操作:加ai或减ai,问你最少执行多少次操作使b成为严格单调上升数组思路: 暴力枚举每一只位置i(即bi不做操作,贪心思想),然后计算满足单调上升数组的最小操作次数,具体见代码代码:#include <bits/stdc++.h>using namespace std;const int N = 1e5 + 10;typedef long long LL;int a[N];int T;int main (){.
2022-04-20 09:29:20 542
原创 L2-006 树的遍历(后序和中序建树+层序遍历)
题目链接代码:#include <bits/stdc++.h>using namespace std;const int N = 1e7 + 10, INF = 0x3f3f3f3f;int las[N], mid[N];int n;struct node { int val, l, r;}tr[N];int cnt;void build (int u, int l, int r){ if (l == r) { tr[u].val .
2022-04-19 10:34:12 236
原创 L2-005 集合相似度 (25 分)
思路: 输出的结果为两个集合共有的不相同的整数个数Nc除以两个集合的不相等整数的个数Nt,看到“不相等”可以直接用set维护,具体见代码。#include <bits/stdc++.h>using namespace std;const int N = 1e5 + 10;unordered_set <int> q[N], s;int n;int main (){ cin >> n; for (int i = 1; i <= n; i .
2022-04-19 10:30:40 197
原创 L2-008 最长对称子串(暴力or马拉车)(测试点2, 3)
题目链接做法一思路: 暴力枚举每一个位置i,找到以i为对称中心的最长对称字串即可。坑点: 如果测试点2,3没过,可能只判断了奇数长度的对称字串,忽略了偶数长度的对称字串。代码:#include <bits/stdc++.h>using namespace std;int main (){ string s; getline (cin, s); int res = 0; for (int i = 0; i < s.length (); i +.
2022-04-19 10:26:23 385
原创 L2-040 哲哲打游戏 (25 分)
题目链接**思路:**本次就是个简单的模拟,store数组存储存档信息,但是N为1e5,无法用二维数组存储跳转信息,刚开始用map<pair<int,int>,int>存储剧情点之间的跳转信息,TLE了两个点,改用unordered_maphash存储跳转信息,WA了一个点,最后想起来可以用vector存储,AC了此题。学到的知识点:1.简单对比 map 和 unordered _ map 的性能。 map 内部是红黑树,在插入元素时会自动排序,而无序容器 unordere..
2022-04-16 10:57:06 3516
原创 L2-038 病毒溯源(详细注释) (25 分)
题目链接代码参考此博客,我对此做了详细注释#include <iostream>#include <cstring>#include <algorithm>#include <queue>#include <stack>#include <map>using namespace std;const int N = 10010;int h[N], e[N * 2], ne[N * 2], vis[N];int n..
2022-04-15 21:33:51 573
原创 地宫取宝(第五届蓝桥杯省赛C++A/B/C组,第五届蓝桥杯省赛JAVAB/C组)
思路: 读题发现类似于数字三角形的dp,但是有了数量和最大值的限制,由于数据较小,可以用f[i][j][cnt][maxn]来表示在(i,j)有k个宝贝最大值是maxn的数量,状态转移方程比较简单,具体见代码。代码:#include <iostream>#include <algorithm>#include <cstring>using namespace std;const int N = 1e5 + 10, mod = 1000000007;int..
2022-04-05 09:19:48 605
原创 K倍区间(第八届蓝桥杯省赛C++B组,第八届蓝桥杯省赛JAVAB组)
思路:O(n²)暴力骗分:for(int i = 1; i <= n; i ++) s[i] = s[i - 1] + a[i]; // 求前缀和for(int r = 1; r <= n; r ++) for(int l = 1; l <= r; l ++) if((s[r] - s[l - 1]) % k == 0) ans ++;但由于数据是1e5,要考虑优化,可以从s数组入手,因为每次是满足(s[r] - s[l - 1]) % k == 0,.
2022-04-04 20:15:44 435
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人