前言 在上一篇<PowerMock学习之PoweMock的入门(一)>文章中,已经简单提及一些关于powermock的用法,但是入门还未完,我还要坚持把它学习并坚持更新到博客中. Mock中的API ps:仅更新这次案例中使用的api说明. Powermockito.mock():主要是通过class创建对应的mock对象,不同于easymock等使用proxy(代理)的方式创建,而是在运行过程中动态修改class字节码文件的形式来创建. Do..when..then:可以按照英文的意思理解,…
本文将简单介绍如何使用PowerMock和Mockito来mock1. 构造函数2. 静态函数3. 枚举实现的单例4. 选择参数值做为函数的返回值5. 在调用mock出来的方法中,改变方法参数的值 一点简要说明:Mockito其实已经可以满足大部分的需求,但是它的实现机制是使用cglib来动态创建接口的类的实例.但是这种实现方式不能用于构造函数和静态函数,因为那需要使用类的字节码(比如使用javassist). 所以我们才需要结合使用PowerMock. 1. mock构造函数, 如果有代码没有…
在强化学习(十八) 基于模拟的搜索与蒙特卡罗树搜索(MCTS)中,我们讨论了MCTS的原理和在棋类中的基本应用.这里我们在前一节MCTS的基础上,讨论下DeepMind的AlphaGo Zero强化学习原理. 本篇主要参考了AlphaGo Zero的论文, AlphaGo Zero综述和AlphaGo Zero Cheat Sheet. 1. AlphaGo Zero模型基础 AlphaGo Zero不需要学习人类的棋谱,通过自我对弈完成棋力提高.主要使用了两个模型,第一个就是我们上一节介绍MC…
在强化学习(十五) A3C中,我们讨论了使用多线程的方法来解决Actor-Critic难收敛的问题,今天我们不使用多线程,而是使用和DDQN类似的方法:即经验回放和双网络的方法来改进Actor-Critic难收敛的问题,这个算法就是是深度确定性策略梯度(Deep Deterministic Policy Gradient,以下简称DDPG). 本篇主要参考了DDPG的论文和ICML 2016的deep RL tutorial. 1. 从随机策略到确定性策略 从DDPG这个名字看,它是由D(Dee…
在强化学习(十四) Actor-Critic中,我们讨论了Actor-Critic的算法流程,但是由于普通的Actor-Critic算法难以收敛,需要一些其他的优化.而Asynchronous Advantage Actor-critic(以下简称A3C)就是其中比较好的优化算法.本文我们讨论A3C的算法原理和算法流程. 本文主要参考了A3C的论文,以及ICML 2016的deep RL tutorial. 1. A3C的引入 上一篇Actor-Critic算法的代码,其实很难收敛,无论怎么调参…
在强化学习(十三) 策略梯度(Policy Gradient)中,我们讲到了基于策略(Policy Based)的强化学习方法的基本思路,并讨论了蒙特卡罗策略梯度reinforce算法.但是由于该算法需要完整的状态序列,同时单独对策略函数进行迭代更新,不太容易收敛. 在本篇我们讨论策略(Policy Based)和价值(Value Based)相结合的方法:Actor-Critic算法. 本文主要参考了Sutton的强化学习书第13章和UCL强化学习讲义的第7讲. 1. Actor-Critic…
http://www.oschina.net/news/80593/deep-learning-frameworks-a-review-before-finishing-2016 TensorFlow 链接:https://www.tensorflow.org/ 对于那些听说过深度学习但还没有太过专门深入的人来说,TensorFlow 是他们最喜欢的深度学习框架,但在这里我要澄清一些事实. 在 TensorFlow 的官网上,它被定义为「一个用于机器智能的开源软件库」,但我觉得应该这么定义:Te…
http://blog.csdn.net/yerenyuan_pku/article/details/72567761 SpringMVC的处理器拦截器类似于Servlet开发中的过滤器Filter,用于对处理器进行预处理和后处理.本文主要总结一下SpringMVC中拦截器是如何定义的,以及测试拦截器的执行情况和使用方法. SpringMVC中拦截器的定义和配置 SpringMVC中拦截器的定义 在SpringMVC中,定义拦截器要实现HandlerInterceptor接口,并实现该接口中提供…
关于powermock 在TDD领域Mock框架有很多,比如EasyMock,JMock,Mockito.可能有些同学会好奇了,为什么要重点把powermock拿出来呢,因为powermock可以解决前面三种框架不能解决的问题,而且powermock也是是单元测试中极其强大的测试框架. powermock特点 主要围绕着Junit.TestNg测试框架开展进行 对所依赖的Jar包非常的苛刻,出现jar包的冲突或者不一致就不能使用 PowerMock也是一种Mock,主要是解决其他Mock不能解决…
推荐系统遇上深度学习(十)--GBDT+LR融合方案实战 0.8012018.05.19 16:17:18字数 2068阅读 22568 推荐系统遇上深度学习系列:推荐系统遇上深度学习(一)--FM模型理论和实践:https://www.jianshu.com/p/152ae633fb00推荐系统遇上深度学习(二)--FFM模型理论和实践:https://www.jianshu.com/p/781cde3d5f3d推荐系统遇上深度学习(三)--DeepFM模型理论和实践:https://www.…