- 博客(22)
- 收藏
- 关注
原创 软件开发遵循的原则(SOLID)
单一职责原则(SRP)定义一个对象只包含一个单一职责,而且该职责被完整地封装在一个类中。即只有一个原因可以使类变更。意义是实现高内聚、低耦合设计的指导方针。如果一个类所承担的职责越多,职责之间的耦合程度越高,类被复用的可能性越低。开放封闭原则(OCP)定义对扩展开放,对修改封闭意义不允许修改抽象类或者接口,允许扩展具体的实现类。可以帮助软件实现更好的抽象化。具体实践中,找到系统...
2019-11-06 09:22:17 534
原创 类间关系
按照下面的顺序,类之间的耦合关系越来越强。而我们希望尽量保持类之间松耦合的要求。依赖关系是耦合关系中最弱的关系。当类与类之间因为某种方法的需要产生了交流,而这种交流是短暂的,是一次性的。这样的关系我们称之为依赖关系。依赖关系一般是以局部变量(生存周期短),函数参数(一次性交流),静态函数调用的方式来实现。在UML图中,依赖关系通过虚线来表示。关联关系是一种比依赖关系更为强烈的关系,比如雇...
2019-10-10 01:24:51 284
原创 Python Cookbook List(必须理解的python概念)
数据结构和算法解压序列赋值多变量可以用在所有可迭代对象上面使用星号表达式来忽略不关心的元素,星号表达式结果仍是可迭代元素可变长元组,字符串分割时很有用deque的使用保留maxlen个元素使用heapq对集合进行查找查找最大,最小N个元素heapq.heappop() 弹出最小元素multidict 的使用一个键可以对应多个值使用defaultdict...
2019-10-10 01:02:07 118
转载 Linux中关于cpu使用效率的相关命令
top 用来查看CPU使用情况请查看下面博客参考如何解读和使用top命令kill -s 9 PID 通常用来强制杀死进程
2019-09-14 08:06:41 159
原创 C++ 类相关语法
Class member类相关构成AttributesFunctionsConstructorsCopy constructorsMove constructorsDestructors作用域修饰符publicprivate(default)protected可以供继承对象使用Constructors & Destructorsconstru...
2019-09-10 10:53:45 369
原创 C++中友元函数和友元类的作用
概念友元是提供了普通函数或者类中其他成员函数访问另一个类的私有或者保护成员的机制.友元函数:普通函数访问某类中的私有或者保护成员,其不是类的成员函数. 调用时候通过传入类对象来实现,只是表述为友元函数,表明该函数对类中的成员有访问权限.并且函数定义在类外(和普通函数相同),只是在类中声明.友元类: 类中成员函数访问另一类的私有或者保护成员特点提高了程序的运行效率破坏了类的封装性和...
2019-09-10 10:39:19 797
原创 行为型模式--状态模式
状态机是一个用来对状态转换进行建模的工具,是一个抽象的机器。有着两个非常关键的部分,状态和转换。状态是指系统当前的状态。转换是指从一个状态切换到另一个状态,因某一个事件或者条件的触发而开始。通常,在一次转换发生之前或者之后,会执行一组动作。我们经常使用状态图来表示状态机。其中,每一个状态是一个节点,每一次转换就是两个节点之间的边。状态模式是指使用一个状态机来解决特定领域的问题。因此所有需要...
2019-08-01 13:31:42 113
原创 Check List for neural network
normalize the inputpreprocess the inputregularization:(dropout)Batch size is bigwrong activation function of last layerBad gradient(check activation function)Kernel Weight initializationOptimi...
2019-07-19 07:27:30 112
原创 探究TensorFlow Profiler功能和应用场景
TensorFlow提供profiler来帮助我们更好的了解神经网络的cost,找到时间消耗和空间消耗的瓶颈,从而更好地调整网络结构。下面就让我们来探究一下TensorFlow是如何帮我们来了解我们网络的。Profiler提供的接口tf.profiler.ProfileOptionBuilder() 这是最基本的操作,用做创建Profile通过添加不同的后缀操作来创建不同的profile...
2019-07-17 03:31:00 760
原创 论文综述“Stacked Hourglass Networks for Human Pose Estimation”
摘要一种新型的网络结构,主要用在人体姿态识别中。在FLIC和MPII上面实现了state of the art背景介绍从2014年Toshev等为人体姿态识别算法引入“DeepPose”以来,有很多人都将神经网络这一个特征提取方式带入进来产生了各种各样的算法。如Tompson用神经网络产生heatmap,并且为了获得更好的joints之间的位置关系,使用graphical model来拟合...
2019-07-13 01:37:44 213
原创 TensorFlow中Batch Normalization的坑
关于batch normalizationBatch normalization 是由Sergey Ioffe在这篇文章中介绍的。它的作用是减少internal covariance shift,这样的话是网络中的每一层的学习相互独立。这样网络的收敛速度会更快,因此初始化的参数会学习结果的影响更小。在什么地方使用batch Normalization似乎是有争议的。我成功在卷积之后,激活层之前...
2019-07-12 08:32:24 494
原创 结构型模式--外观模式
当系统的复杂性增大时候, 我们不希望向用户暴露这些复杂性,而希望将类和类交互封装起来,只为用户提供简单的调用接口,而由函数内部来维护类之间的交互。这样的方法称为包装方法,这些包装方法是系统的接入点,供客户端使用。这样API访问就可以分为细粒度访问和粗粒度访问个人例子复杂的神经网络训练过程,可以被run_train方法所封装,这样用户只需要调用run_train方法就能够实现基于default...
2019-07-06 01:28:52 96
原创 Python中的元类(metaclass)
动态语言和静态语言最大的区别就是,函数和类的定义不是在编译时运行的,而是在运行时才真正运行。而在python中,类定义也是在运行时候才被创建,而创建过程是通过调用type方法来实现。我们也可以不使用类定义的方式来创建类定义。metaclass 的意义因此我们除了可以通过继承的方式来控制类的创建行为,也可以通过定义metaclass的方式来控制类的创建行为。所以类定义的流程是:创建metac...
2019-07-06 01:13:50 92
原创 结构型模式--装饰器模式
为已有的对象添加新的功能添加新的方法到对象所属的类中使用组合创造新的对象使用继承创造子类组合 > 继承 > 添加新方法python中我们可以使用内置的装饰器特性来实现对类,方法的扩展,而无需使用继承。用装饰器来实现程序中的横切关注点(应用中通用的部件,可以在程序中被广泛使用的)推荐使用functools.wraps来创建装饰器例子# 装饰器的输入是一个函数def...
2019-07-04 02:24:15 91
原创 结构型模式--适配器模式
定义适配器模式是一种通过简单的对象组合方式来创造新功能的模式。对于不兼容的两个接口,我们希望两个接口之间能够通信,因此编写额外的代码层来实现这一目的。这个代码层就叫适配器。适配器模式经常使用在数据类型转换或者函数功能包装中。比如希望函数拥有更多的参数支持或者实现更复杂的中间过程输出。我们就可以通过编写额外的代码层来实现。相比起修改源代码,使用适配器具有以下两个优势不要求访问他方接口的源...
2019-07-04 00:58:13 112
原创 Python 面试题和答案
基础解释型语言和编译型语言的区别a) 编译型语言是在运行之前对源码进行编译,使其成为机器可以识别的机器语言b) 解释型语言不需要编译,而是在语句执行时候才将语句翻译为机器语言c)解释型语言相对于编译型语言来说由于执行时候需要翻译,因此效率比较低Python 解释器种类和特点a)CPython(使用最广)b)IPython(交互式解释器)c)PyPy(显著提高执行效率)d)Jp...
2019-06-09 06:04:35 4620
原创 VIM 常用指令
编辑模式ctrl + f 文件前移一页ctrl + b 文件后移一页‘*’ 在文件内搜索单词,并跳转下一处’#‘ 在文件内搜索单词,并跳转到上一处g_ 移动到本行最后一个不是blank 的地方f<char> 移动到下一个为charde difang<num>f<char> 在当前行查找第num个出现的char<num>G 或者 &l...
2019-06-03 08:21:15 123
原创 结构型模式--模型,视图,控制器模式
模型-视图-控制器模式模式起源于软件工程中重要的设计原则-关注点分离(SoC)。将应用切分成不同的部分,每个部分只有一个核心关注点,这样的分离可以简化开发和维护MVC模式更多的被认为是一种架构模式。模型是应用的信息来源,是应用处理业务逻辑和规则,存储和调用数据。视图是应用的门面,是应用与用户交互的部分,或者应用输出的一些可被观测的结果。视图之负责展示数据(以多种方式)而不负责存储数据或者校验数...
2019-05-24 13:28:27 259
翻译 机器学习项目最佳实践(翻译)
Rules of machine learning这篇文章是翻译的martin Zinkevich 的文章。如果大家有兴趣请参照原文概述基本方法确保工作流是端到端的(当有新的标记数据加入时,可以很快的迭代模型)目标函数(损失函数)要合理添加符合常识的特征开发过程中,一定要保证工作流稳定开始之前Rule #1: 不要过度使用机器学习方法在不能获得很多数据的情况下,请谨慎使用机...
2019-05-23 13:56:08 186
原创 结构型模式之享元模式
享元模式探究起源定义例子应用使用条件创建一个享元类单例模式+享元类PS起源面向对象的系统面临由于对象创建的性能问题,因为要同时创建大量对象(类实例),而且这些对象必须同时存在, 系统的内存被大量占用。除了内存考虑外,图形的渲染性能也是使用享元模式的初衷。定义通过为相似的对象引入数据共享来最小化内存使用和提升性能。一个享元(Flyweight)就是一个状态独立的不可变数据的共享对象(一旦创立...
2019-05-22 14:19:21 90
原创 第一篇博客
记在自己第一份工作将近一年的时候想开始写属于自己的博客已经很长时间了,但是一直没有机会把自己在工作中涉及到的算法和工程技巧好好的总结一下。一直拖着没能开始,直到最近遇到工作中的一些变故,可能要有跳槽的打算。所以先以总结自己做过的项目总结开始,总结一些相关的技术细节和算法。算是为后面要找工作做一个初步的打算吧!博客的规划既然这个是作为一名机器学习工程师的技术博客,那就按照机器学习工程师涉及的相...
2019-05-16 02:20:55 112
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人