- 博客(40)
- 收藏
- 关注

原创 基础算法系列之 The Blocks Problem
传送门:https://www.luogu.org/problemnew/show/UVA101文章目录题意翻译输入输出样例输入样例#1:输出样例#1:python实现注:洛谷平台上面的算法基本是C++实现的。有不足之处还请多多指教!题意翻译初始时从左到右有n个木块,编号为0~n-1,要求实现下列四种操作:move a onto b: 把a和b上方的木块全部放回初始的位置,然后把a放到b上...
2019-06-10 08:44:27
224

原创 数学原理解释resnet缓解梯度弥散问题
数学原理解释resnet缓解梯度弥散问题前言产生梯度弥散的原因残差结构激活函数缓解梯度弥散总结前言本文是一位职场小白在百度实习面试被虐,发现基本的大公司都会问到网络的数学原理解释,之后学习很多的博客。对残差网络的一些深入理解,开始写人生的第一篇博客,如有差错,还请各位大佬多多指正,多多交流产生梯度弥散的原因深度学习的本质是找到一个复杂的函数来拟合输入数据和输出数据之前的转换关系。简单的说:...
2019-03-16 10:42:52
1450

翻译 focal_loss
@Focalloss自我理解sigmoid交叉熵损失tensorflow中的 tf.nn.sigmoid_cross_entropy_with_logits()是最开始的基础二分类交叉熵,其中将是该类别的标签为1,不是该类别的标签为0。one_hot编码表示三分类中的第三个类别为[0,0,1],sigmoid识别为第三个类别为正样本,其他的类别为负样本。tensorflow的实现是在原有基...
2019-01-25 09:32:33
608
原创 mirror算法 O(1)空间复杂度实现二叉树遍历
相比O(N)时间复杂度 O(h)空间复杂度的二叉树遍历,提出O(1)空间复杂度的mirror算法
2022-08-14 17:19:38
424
原创 结合jvm源码学习java类加载器
类加载器的流程:我自己记忆的一个快速方法:lvpriuu。含义是:load(加载),verify(验证),prepare(准备),resolve(解析),initialize(初始化),use(使用),unload(卸载)加载类加载完成的三件事情:1.通过一个类的全限定名来获取定义此类的二进制字节流。2.将这个字节流所表示的静态存储结构转化为方法区的运行时数据结构。3.在内存中生成一个代表这个类的java.lang.Class对象,作为方法区这个类的各种数据的访问入口。注意:1.加载二进制流
2021-03-02 11:39:27
246
原创 ReentrantLock的公平锁与非公平锁的区别
关键1:在新创建一个线程需要加锁时,公平锁与非公平锁的区别?关键2:在一个线程释放锁之后,等待队列中是如何竞争锁的?
2020-11-21 17:12:01
664
原创 优化程序性能之代码优化
最近在研读“深入计算机操作”一书,感受到自己的知识面也只是冰山一角。记录下自己的学习历程,也与大家一起交流。入门不久,多多指正!这里我们使用一个数组中元素累加的一个场景,来进行低级到高阶的一步步优化;其中包括减少过程调用、降低内存别名引用和循环展开等一系列优化手段;在单核1G内存的机器上,速度提升有接近2倍的效果!做一个不断进阶的程序猿,fighting!定义基本数据结构typedef long data_t;/*Create abstract data type for vector*/t
2020-10-31 11:01:32
501
原创 scala学习笔记之——主构造器,辅助构造器
因为scala底层也是基于jvm,并且来源于java,是纯粹的“面向对象”的语言。java在基本数据类型,null还有静态类不是面向对象;所以这里我们先回顾下java构造器的特点:1 在java中一个类可以定义多个不同的构造方法,构造方法重载2 如果程序员没有定义构造方法,系统会自动给类生成一个默认无参构造方法,比如Person(){}3 一旦定义了自己的构造方法,默认的构造方法就覆盖了,既不能再使用默认的无参构造器,除非显示的定义一下,Person(){}与java类似,scala同样可以由
2020-06-30 20:28:34
286
原创 README-必看!
我想做什么?我是一枚19年毕业的程序猿,由AI入坑IT行业。做了一年CV之后发现自己不太适合做研究类的岗位(其实是怕本科学历以后AI发展受限)。现打算一步步转 数据挖掘岗位,懂算法会开发这样的一个角色。自己学习东西喜欢尽可能全面,深入的学习。自己写博客的原因是保证自己的输出,同时也希望能与经历相似的小伙伴更多的交流。打算每学习一项技术都做一个系列的博客更新。其中会包括MySQL,hadoop,spark数据开发组件以及逻辑回归,svm,XGBOOST等算法模块;打算在数据和模型这块深挖下去;也希望有志同道
2020-06-03 09:11:22
455
原创 MySQL之表设计——三范式+ER图
数据库中建立的表是对现实世界的数据构建的“数据模型”;建立现实世界到机器世界的一个桥梁这样的作用,在一定的理论基础上建立表能够降低“数据的冗余”,查询请求更加的高效;基础理论降低表冗余的“三范式”清晰描述“实例”与“关系”的ER图...
2020-05-20 11:13:53
1330
原创 mysql之数据存储模块——B+树系列
为什么要有B+树?总的来说B+树也是树的一个分支,属于自平衡树,用来存储数据。数据就离不开“增删改查”操作。关于自平衡树,我们有AVL树,红黑树等。他们都是基于“数据位于内存”这样的前提下构建的算法。当面临海量数据时,这些算法将不再适用。并且数据量急剧增多,树的高度增加造成查找时间复杂度O(log(h))也会很大。基于内存的自平衡树存在的问题:1.不适用海量数据2.单个节点存储数据少,导致树的深度过深。查询效率慢。B+树采用磁盘预读和多叉树的形式解决!B树的基本概念1.所有的叶子结点都
2020-05-18 17:30:39
585
原创 动态规划之最大面积(C++实现)
执行用时 :16 ms, 在所有 C++ 提交中击败了97.96%的用户内存消耗 :9.8 MB, 在所有 C++ 提交中击败了75.33%的用户
2019-09-17 08:58:33
952
原创 数据结构之优先队列(python实现)
在算法设计当中,我们经常会用到从一个序列重找到最大值和最小值的操作。比如前面算法系列提到的最短路径和最小生成树,如果我们采用这种暴力的顺序查找的方式,他的时间复杂度是O(n)O(n)O(n)。但是如果我们使用优先队列来查找最值得话,时间复杂度会降到O(nlogn)O(nlogn)O(nlogn)的时间。堆可以看做是一棵完全二叉树的顺序存储结构,如果这棵树的父节点都大于他的左右孩子,称为最大堆...
2019-08-24 22:45:15
238
原创 贪心算法之最小生成树(Prim算法)
问题描述假设现有7个村庄,需要在村庄之间架设电缆。在保证每一个村庄都有电缆链接的前提下,总的电缆长度最小。该问题用无向连通图G=(V,E)G=(V,E)G=(V,E)来表示电缆链接网络,VVV表示顶点集,EEE表示边集。把各个村庄抽象为图中的顶点,顶点与顶点之间的边表示村庄之间电缆网络,边的权值表示两个村庄之间的电缆费用。如果两个顶点之间没有连线,代表两个村庄之间架设电缆,费用为无穷大。对应n...
2019-08-23 22:32:34
3725
原创 贪心算法之秘书安排会议
问题描述:假如你是一位临时秘书,需要为一位IT总裁在一天之内尽可能多的安排会议。并且时间不能够冲突。这里给出当天所有会议的开始时间和结束时间。很显然如果两个会议要连续进行的话,当前会议的结束时间要早与下一个会议的开始时间。算法开始之前简要介绍下贪心算法的主要精神!!!贪心算法简要介绍一个贪心算法总是做出当前最好的选择,也就是说,他期望通过局部最优选择从而得到全局最优的解决方案 ...
2019-08-17 09:16:46
401
原创 详细理解pytorch的六种学习率
author = ‘SherlockLiao’import torchfrom torch import nn, optimfrom torch.autograd import Variableimport numpy as npimport matplotlib.pyplot as pltx_train = np.array([[3.3], [4.4], [5.5], [6.71],...
2019-06-30 10:14:54
4105
原创 python复现softmax损失函数详细版
from torch import nnimport torchdef loss_func(output,target):one_hot = torch.zeros_like(output)for i in range(target.size(0)):one_hot[i,target[i]]=1softmax_out = torch.exp(output)/( torch.unsque...
2019-06-30 07:31:46
3168
转载 如何规范提交你的git commit message
今天被大佬说让我学习下git commit 的格式规范,学习工作的规范是宜早不宜迟啊!不然还是要重新返工,因为跑代码不在本机上,刚开始用git的时候经常来回push。git commit的信息每一次提交就要写,写的多了后来就有点随意了。现在回头看简直惨不忍睹,有用的信息太少无法判断修改的内容在哪里。今天特此来记录学习,如有错误还望多提意见!盗用知乎上的一句话:“这种东西,当然要借助工具了,才...
2019-06-21 14:21:11
5534
原创 GCnet论文详解
传送地址:https://arxiv.org/pdf/1904.11492.pdf主要思想如何获取全文信息(global context) 或者叫长距离依赖性。从视觉角度直观理解,比如我们要认出一个人的话可能需要看整个脸部才能认的出来,单给你脸部的一块皮肤,鼻子相对比较难判断。极端一点来说,例如你的朋友离你很远的情况下,需要看身高,衣服来获取整体的信息才能做出判断。那么对于图像卷积来说,如何...
2019-05-29 18:27:39
13712
7
原创 pytorch的tensor,Image,numpy和opencv四种格式的相互转换
话不多说,先上代码# -*- coding: utf-8 -*-# @Time : 2019/4/28 13:52# @Author : ljfimport torchfrom torchvision import transformsfrom PIL import Imageimport numpy as npimport cv2# 1.1 tensor2Image...
2019-05-22 17:39:35
19048
4
翻译 mixup嵌入到当前模型中,降低过拟合
mixup论文传送门论文中对比了α\alphaα和λ\lambdaλ在cifar10和cifar100下不同模型的表现,有兴趣的童鞋可以详细看看。作为模型嵌入来说,直接加入以下代码即可实现数据增强mixup手段。def mixup_data(x, y, alpha=1.0, use_cuda=True): '''Compute the mixup data. Return mixed...
2019-05-02 14:36:03
796
原创 pytorch的tensor,PIL和numpy的相互转换
原图:# coding: utf-8"""create by ljf on 2019/3/8 15:02"""import torchfrom torchvision import transformsfrom PIL import Image#1.PIL转为tensortransform = transforms.ToTensor()img = Image.open("s...
2019-05-02 14:23:53
3326
原创 Windows下的vs+textlive2018配置编译tex文件(附中英文模板)
图像处理小白工作第六周最近晚上再看《软技能——代码之外的生存指南》。 我看书不喜欢一下子读完,喜欢慢慢品味。一边读一边实践,个人认为能够改变习惯的学习才能够叫做学习。读到目前为止有两点印象比较深刻,关于技术要一专多能,精通一门技术看似缩小了就业范围,但是你有绝对的竞争优势。总结一句话:敲代码不缺人,缺人才
2019-04-19 18:04:45
909
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人