- 博客(56)
- 收藏
- 关注
原创 Raft协议详解与实战
文章目录一致性一致性算法的特性Raft状态和状态的转化Raft定义Raft状态的转化过程Raft实例初始化Raft的一些规则Leader ElectionCandidate选举过程与相应处理Receiver投票策略Log ReplicationLeader 复制log请求与响应Receiver对AppendEntries的处理复制日志的优化状态持久化一致性分布式系统最核心问题:维持多个节点副本的一致性。一致性协议通常基于replicated state machines,即所有结点都从同一个state出
2020-05-31 09:29:06
1527
转载 深入理解abstract class和interface
转载:https://www.ibm.com/developerworks/cn/java/l-javainterface-abstract/理解抽象类abstract class和interface在Java语言中都是用来进行抽象类(本文中的抽象类并非从abstract class翻译而来,它表示的是一个抽象体,而abstract class为Java语言中用于定义抽象类的一种方法,请读者注...
2019-11-29 20:11:25
314
转载 JVM: String对象内存解析
高质量回答:https://www.zhihu.com/question/29884421/answer/113785601https://www.iteye.com/blog/rednaxelafx-774673http://tangxman.github.io/2015/07/27/the-difference-of-java-string-pool/
2019-11-23 16:09:40
277
原创 Java: HashMap 源码分析(JDK8)
一 简介Java为数据结构中的映射定义了一个接口java.util.Map,此接口主要有四个常用的实现类,分别是HashMap、Hashtable、LinkedHashMap和TreeMap,类继承关系如下图所示:下面针对各个实现类的特点做一些说明:(1) HashMap:HashMap是基于哈希表实现的,每一个元素是一个key-value对,它根据键的hashCode值存储数据,大...
2019-11-13 20:02:57
225
原创 Java: 深入理解HashCode()方法和Hash()方法
一、HashCode()方法中为什么用31?String 类型是如何重写 hashCode 方法的呢?public int hashCode() { int h = hash; if (h == 0 && value.length > 0) { char val[] = value; for (int i = 0; i < va...
2019-11-12 10:05:15
752
转载 Java: Arrays.copyOf() 与 System.arraycopy()的区别与联系
转载:https://www.cnblogs.com/CherishFX/p/4730796.html
2019-11-09 19:07:54
183
转载 Java:clone()方法 浅拷贝与深拷贝
转载:https://blog.youkuaiyun.com/qq_33314107/article/details/80271963
2019-11-09 11:02:59
131
原创 JVM: GC过程总结(minor GC 和 Full GC)
一 minorGC 和 Full GC区别新生代 GC(Minor GC):指发生新生代的的垃圾收集动作,Minor GC 非常频繁,回收速度一般也比较快。老年代 GC(Major GC/Full GC):指发生在老年代的 GC,出现了 Major GC 经常会伴随至少一次的 Minor GC(并非绝对),Major GC 的速度一般会比 Minor GC 的慢 10 倍以上。二...
2019-10-30 10:58:00
31908
10
转载 Java: T extends Comparable
<? super T>表名类型参数需要是T或T的父类。对T的约束是Comparable的子类,对Comparable中泛型的约束是,?至少是T的父类,那么就意味着T是?的子类。一言以蔽之:元素必须是实现了Comparable接口的类或者其子类,可以使用父类方法比较子类型。[https://www.cnblogs.com/cherryljr/p/6880657.html](https...
2019-10-29 09:29:47
149
原创 Java基础练习:字符串
1、字符串反转将一个字符串进行反转。将字符串中指定部分进行反转。比如“abcdefg”反转为”abfedcg”public String reverseString1(String str, int start, int end) { if(str != null) { char[] arr = str.toCharArray(); ...
2019-10-09 20:58:28
224
原创 Java基础练习:容易忽略的点
1、println的重载char[] ch=new char[] {'a','b','c'}; System.out.println(ch); // abcchar[] ch1=new char[] {'a','b','c'}; System.out.println("ch1="+ch1); // ch1=[C@449b2d27int[] arr = new int[...
2019-10-03 21:46:16
248
原创 Java基础练习:数组
1、 100以内的质数质数:“除了1和它本身外,没有其他约数” 的数【即,数字 n 只能被 1 和 自身n 整除,此外不能被 2 ~ (n-1) 整除】;基础版public class PrimeNumber { public static void main(String[] args) { boolean isFlag = true; for(int i = 2; i <...
2019-10-03 11:19:32
301
原创 深度学习经典网络:ShuffleNet 系列网络(ShuffleNet v1)
ShuffleNet v1:http://openaccess.thecvf.com/content_cvpr_2018/html/Zhang_ShuffleNet_An_Extremely_CVPR_2018_paper.htmltensorflow代码:https://github.com/MG2033/ShuffleNetpytorch代码:https://github.com/jaxo...
2019-08-12 19:37:30
1089
原创 深度学习经典网络:ShuffleNet系列网络(ShuffleNet v2)
ShuffleNet v2:https://link.springer.com/chapter/10.1007/978-3-030-01264-9_8pytorch代码:https://github.com/Randl/ShuffleNetV2-pytorch/blob/master/model.pykeras代码:https://github.com/opconty/keras-shuffl...
2019-08-10 11:39:31
2228
原创 CNN中参数量和FLOPs计算
对于一个卷积层,假设其大小为h×w×cin×couth×w×c_{in}×c_{out}h×w×cin×cout(其中cinc_{in}cin为input channel, coutc_{out}cout为output channel),输出的feature map尺寸为 H′×W′H^{'}×W^{'}H′×W′,则该卷积层的paras=h×w×ci...
2019-08-07 17:02:01
834
原创 深度学习经典网络: MobileNet系列网络(MobileNet v2)
MobileNet v2:https://arxiv.org/abs/1801.04381概述MobileNetV2 以 MobileNetV1 的理念为基础,使用深度可分离卷积作为高效构建块。此外,V2 在架构中引入了两项新功能:Depth-wise convolution之前多了一个1*1的“扩张”层,目的是为了提升通道数,获得更多特征;在pointwise convolution不...
2019-08-03 22:42:41
762
原创 深度学习经典网络: MobileNet系列网络(MobileNet v1)
MobileNet v1:https://arxiv.org/abs/1704.04861References1、轻量级神经网络MobileNet,从V1到V3 2、《Computer vision》笔记-MobileNet(7)
2019-08-02 21:06:20
1057
转载 深度学习经典网络: SENet
SENet:https://arxiv.org/pdf/1709.01507.pdfpytorch 代码:https://github.com/pytorch/vision/blob/master/torchvision/models/squeezenet.py转载:http://www.sohu.com/a/161633191_4659750. 前言我们从最基本的卷积操作开始说起。近些年...
2019-08-01 19:05:45
694
原创 深度学习经典网络: Inception系列网络(Inception v4 和Inception-ResNet)
Inception v4 & Inception-ResNet:https://arxiv.org/abs/1602.07261前言 主要受ResNet 网络的启发,他们基于inception v3的基础上,引入了残差结构,提出了inception-resnet-v1和inception-resnet-v2,并修改inception模块提出了inception v4结构。基于ince...
2019-07-31 16:43:22
1248
原创 深度学习经典网络: Inception 系列网络(Inception v3)
Inception v2、v3:https://arxiv.org/abs/1512.00567前言: Google家的Inception系列模型提出的初衷主要为了解决CNN分类模型的两个问题,其一是如何使得网络深度增加的同时能使得模型的分类性能随着增加,而非像简单的VGG网络那样达到一定深度后就陷入了性能饱和的困境(Resnet针对的也是此一问题);其二则是如何在保证分类网络分类准确率提升...
2019-07-30 22:10:06
1160
原创 Batch Normalization 详解及其各种变体
一、Batch Normalization的前向与反向传播前向传播:图 1 Batch Normalization 前向传播反向传播:根据前向传播过程,可以获得如下计算图,均值和方差都省略了下标B。假定损失函数为LLL,已知LLL相对于yiy_{i}yi 的偏导 ∂L∂yi\frac{\partial L}{\partial y_{i}}∂yi∂L, 求∂L∂γ\frac{\pa...
2019-07-29 21:42:35
577
1
原创 深度学习经典网络:Inception系列网络(Inception v1 & Inception v2(BN))
Inception v1(GoogleNet): https://static.googleusercontent.com/media/research.google.com/en//pubs/archive/43022.pdfInception v2: https://arxiv.org/pdf/1502.03167.pdf一、Inception v1Motivation: 2014年...
2019-07-28 12:28:08
1197
原创 深度学习经典网络:ResNet及其变体(ResNeXt)
ResNeXt:https://arxiv.org/pdf/1611.05431.pdfReferences1、Group Convolution分组卷积,以及Depthwise Convolution和Global Depthwise Convolution2、ResNeXt算法详解https://zhuanlan.zhihu.com/p/51075096https://zhuanla...
2019-07-25 17:09:59
1277
原创 深度学习经典网络:ResNet及其变体(ResNet v2)
ResNet v2:Identity Mappings in Deep Residual Networks1 简介 ResNet v1和ResNet v2的区别主要在于残差单元设计的差异,作者在对ResNet v1残差单元的分析及反向传播的推导中,当使用恒等映射(identity mappings)作为跳跃连接(skip connections)及信号pre-activation时,前向、反...
2019-07-25 11:34:42
782
原创 深度学习经典网络:ResNet及其变体(ResNet v1)
经典ResNet网络结构ResNetv1:https://arxiv.org/abs/1512.033851 ResNet要解决的问题 深度神经网络朝着网络层数越来越深的方向发展。直觉上我们不难得出结论:增加网络深度后,网络可以进行更加复杂的特征提取,因此更深的模型可以取得更好的结果。但事实并非如此,人们发现随着网络深度的增加,模型精度并不总是提升,并且这个问题显然不是由过拟合(overf...
2019-07-23 17:11:30
1491
原创 tensorflow: keras 高层接口
常用的keras接口有:datasets layers losses metrics optimizers1 keras 高层接口 metrics#步骤:Metrics < update_state < result().numpy() < reset_states#第一步,新建一个meteracc_meter = metrics.Accuracy()loss_mete...
2019-07-20 21:07:50
212
原创 Tensorflow:高阶操作
1 合并与分割#concata=tf.ones([4, 35, 8])b=tf.ones([2, 35, 8])c=tf.concat([a, b], axis=0)#stack:create new dimd=tf.ones([4, 35, 8])e=tf.stack([a, d], axis=0) # [2, 4, 35, 8]), 两者维度必须相等#unstack:在指定...
2019-07-18 11:44:02
191
原创 Tensorflow:基础操作
Tensor数据类型1 Tensor类型with tf.divice("gpu"): a=tf.constanct([1])
2019-07-16 11:35:22
152
原创 CTC loss的几种解码方法:贪心搜索 (greedy search)、束搜索(Beam Search)、前缀束搜索(Prefix Beam Search)
CTC loss的几种解码方法:贪心搜索 (greedy search)、束搜索(Beam Search)、前缀束搜索(Prefix Beam Search)前言:预测新的样本输入对应的输出字符串,这涉及到解码。按照最大似然准则,最优的解码结果为:然而,上式不存在已知的高效解法。下面介绍几种实用的近似破解码方法。1 贪心搜索 (greedy search)原理:虽然 p(l|x) 难...
2019-06-26 21:13:17
17552
10
原创 最小编辑距离算法
最小编辑距离算法简介:通俗地来讲,编辑距离指的是在两个单词<w_1,w_2>之间,由其中一个单词w_1转换为另一个单词w_2所需要的最少单字符编辑操作次数。定义的单字符编辑操作有三种, 每种操作的权重为1:插入(Insertion)删除(Deletion)替换(Substitution)假设求取字符串A和B 的 edit distance, 上述操作可理解...
2019-06-23 11:37:45
2726
2
原创 python:异常
python:异常异常:异常即是一个事件,该事件会在程序执行过程中发生,影响了程序的正常执行。一般情况下,在Python无法正常处理程序时就会发生一个异常。异常是Python对象,表示一个错误。当Python脚本发生异常时我们需要捕获处理它,否则程序会终止执行。常见异常类:我们可以看到python的异常有个大基类。然后继承的是Exception。所以我们自定义类也必须继承Excep...
2019-06-11 16:20:47
131
转载 python : print 和sys.stdout.write
python : print 和sys.stdout.write:等价部分:使用print(obj)在console上打印对象的时候,实质上调用的是sys.stdout.write(obj+'\n'),print在打印时会自动加个换行符,以下两行等价:sys.stdout.write('hello'+'\n')print 'hello'控制台重定向到文件:原始的 sys.stdout...
2019-06-10 16:56:19
336
转载 Mix-in技术介绍
Mix-in技术介绍:转载: https://blog.youkuaiyun.com/piaoyidage/article/details/41985061
2019-05-30 11:16:00
1339
原创 python 白鹅类型和鸭子类型
python 白鹅类型和鸭子类型白鹅类型:白鹅类型对接口有明确定义,比如不可变序列(Sequence),需要实现__contains__,__iter__,__len__,__getitem__,__reversed__,index,count对于其中的抽象方法,子类在继承时必须具体化,其余非抽象方法在继承时可以自动获得,Sequence序列必须具体化的抽象方法是__len__和__geti...
2019-05-29 11:01:21
1288
原创 python: extend 和 append的区别
python: extend 和 append的区别简介:list.append(object)向列表中添加一个对象objectlist.extend(sequence) 把一个序列seq的内容添加到列表中示例:music_media = ['compact disc', '8-track tape', 'long playing record']new_media = ['DVD A...
2019-05-28 09:11:06
135
原创 pytorch: autograd中backward
pytorch: autograd中backward输出值是标量:import torchx = torch.ones(2, 2, requires_grad=True) y = x + 2 z = y * y * 3 out = z.mean() out.backward()#这里是默认情况,相当于out.backward(torch.Tensor([1.0])) print(x...
2019-05-09 14:45:43
173
原创 python代码规范(序)
Python Style RulesLine length:每行的最大长度为80字符,下面特殊情况除外:长 的import声明URLs, pathnames, or long flags in comments.因包含空格而不便划分的URLs, pathnamesPylint disable comments. (e.g.: # pylint: disable=invalid-nam...
2019-05-06 16:24:13
199
原创 python代码规范
python代码规范Imports:在使用import时应该只针对包和模块, 这样可以区分x.Obj 中, x是模块而Obj是对象。Use import x for importing packages and modules.Use from x import y where x is the package prefix and y is the module name with n...
2019-05-05 11:19:50
190
转载 python: __dict__和 dir()的区别
python: __dict__和 dir()的区别转载:https://www.jb51.net/article/127063.htmPython下一切皆对象,每个对象都有多个属性(attribute),Python对属性有一套统一的管理方案。__dict__与dir()的区别:dir()是一个函数,返回的是list;__dict__是一个字典,键为属性名,值为属性值;dir()用来...
2019-04-17 15:47:33
272
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人