重构

记java重构python版bert-serving-client

守給你的承諾、 提交于 2019-12-05 21:49:58
背景 项目需要把bert-serving-client由python用java实现,因为java比python快一些,于是就开始了尝试 先上bert-as-service的github地址: https://github.com/hanxiao/bert-as-service 其中client的init.py文件地址: https://github.com/hanxiao/bert-as-service/blob/master/client/bert_serving/client/__init__.py 主要实现其中encode、fetch、fetchAll和encodeAsync 导包 bertClient主要用到zeroMq和json,前者用来提供和服务端的连接,后者格式化传输数据。两者pom依赖如下 <dependency> <groupId>org.zeromq</groupId> <artifactId>jeromq</artifactId> <version>0.5.1</version> </dependency> <!-- for the latest SNAPSHOT --> <dependency> <groupId>org.zeromq</groupId> <artifactId>jeromq</artifactId> <version>0.5.2

theirmvsnetv00000

╄→гoц情女王★ 提交于 2019-12-05 17:07:38
本文链接:https://blog.csdn.net/weixin_43013761/article/details/102869562 以下链接是个人关于MVSNet(R-MVSNet)-多视角立体深度推导重建 所有见解,如有错误欢迎大家指出,我会第一时间纠正。有兴趣的朋友可以加微信:a944284742相互讨论技术。若是帮助到了你什么,一定要记得点赞!因为这是对我最大的鼓励。 3D点云重建0-00:MVSNet(R-MVSNet)–目录-史上最新无死角讲解:https://blog.csdn.net/weixin_43013761/article/details/102852209 前言 在进行论文翻译和讲解之前,我要给大家说清楚一些事情MVSNet(2018),R-MVSNet(2019)分别各自都对应有自己的论文,也就是有两篇,我首先为大家讲解的是第一篇,也就是MVSNet,后面再给大家讲解R-MVSNet。那么我们就开始把。 摘要 他讲他们提出了一种,从多个视觉图片进行深度图推导的方法,并且可以进行端到端的学习训练。再这个网络中,他们首先从输入图像提取特深度图特征,然后结合多个稍微有点不同的,单应性锥形特征图去构建3D cost volume(这里保存的信息,主要是视觉差的信息),下面就是对这个立体特征进行3D卷积,让立体特征更加有序,并且生成最初始的深度图

[bzoj 3732] Network (Kruskal重构树)

社会主义新天地 提交于 2019-12-05 14:58:55
https://blog.csdn.net/niiick/article/details/81952126 https://www.cnblogs.com/ZegWe/p/6243883.html Kruskal重构树—性质 1.是一个小/大根堆(由建树时边权的排序方式决定) 2.LCA(u,v)的权值是 原图 u到v路径上最大/小边权的最小/大值(由建树时边权的排序方式决定) Kruskal重构树—建树 模仿kruskal的过程 先将边权排序 (排序方式决定何种性质接下来说明) 依次遍历每条边 若改变连接的两个节点u和v 不在一个并查集内 就新建一个结点node 该点点权为这条边的边权 找到u,v所在并查集的根ui,vi u_i,v_iu i ​ ,v i ​ 连边(node,ui)(node,vi) (node,u_i)(node,v_i)(node,u i ​ )(node,v i ​ ) 并更新并查集fa[ui]=node,fa[vi]=node fa[u_i]=node,fa[v_i]=nodefa[u i ​ ]=node,fa[v i ​ ]=node 遍历完原图所有边后 我们建出来的必定是一棵树 也就是我们要的kruskal重构树 注意这棵树是以最后新建的结点为根的有根树 若原图不连通,即建出的是一个森林 那么就遍历每个节点,找到其并查集的根作为其所在树的根 1

[读书]读《重构-改善既有代码的设计》

有些话、适合烂在心里 提交于 2019-12-05 09:24:17
读《重构-改善既有代码的设计》 断断续续,加上过年,花了快2个月吧,把《重构-改善既有代码的设计》读完了,这里总结下。 发现此书背景 读的感觉 知识感触 发现此书背景 这本书是从同事的桌子上发现的,读了三四页之后就被吸引住了。现在想来,主要是因为作者写的简洁明了,上来第一章就使用了一个简洁而不简单的示例,讲述了重构的过程,而不是一上来就长篇大论,而且作者运用了对比的方式,左侧是重构前的代码,右侧是重构后的代码。一下子就吸引住了我的目光,然后当晚就在办公室读起来,读了很多页。下面就是这货… 读的感觉 读到大半截,发现里面使用的技术虽然是java1.1 1.2,但是还是像封面上讲的依旧是经典,而且真是开发者进阶的书目。 书上叙述的的东西,工作几年后,你可能平时中都有使用,但是作者却是形成了一个体系,以分片段,用对比,讲述这样做重构后的好处及步骤。 同时作者也不会硬性的要求你这样那样去做,他会直接了当的列出各种情况,在哪些情况下,你适合这样去做,以及作者有时候也会说他也分辨不出,让你击节赞叹,你才发现原来我的疑惑是正常的现象,这真是一个很真实很严谨的作者。 知识感触 1.第一个示例完成后,作者开始长篇论,这里很重要。其中的内容解决了大家对重构的各种问题。 我感触很深的有以下几点 重构与设计的关系,开始做设计,很多人会做过度设计,因为设计者为了后续的扩展需要,但是他也知道现在设计多了

IDEA Rider 2019.2(1)

时光怂恿深爱的人放手 提交于 2019-12-05 09:03:16
IDEA Rider2019.2月版本相比之前2018版本多了新功能,又支持Edit and Continue,所以准备试用一段时间,最喜欢它的两个功能 1、占内存小,重构功能强大,Resharper插件占资源较多,会拖慢整个电脑,毕竟不是亲生的。 2、强制运行跳转到某个位置功能,vs需要手动拖,不方便,并且catch了还能指定跳转,vs catch之后就不能再从上面开始了,必须从新执行。 3、错误提示功能强大,但也有弊端,不想看的错误提示一堆,强迫症不能忍。 4、IDEA和其它同类工具操作习惯一致,用了这个,写Android,Java应用不至于不习惯。 来源: https://www.cnblogs.com/zhaogaojian/p/11917861.html

4-1 Mallet小波分解重构程序

旧巷老猫 提交于 2019-12-05 06:33:01
Mallet小波在小波届的地位类似fft在傅立叶变化中的地位,在分解过程中先滤波后抽取,重构过程中先插值后滤波,可以操作正交小波变换和双正交小波变换。 本文中的程序是对构造的信号进行高低通滤波,之后再进行高低频重构,实现matlab中Mallet小波的基本操作。 %% 本程序采用Mallat算法对信号进行小波分析 clc;clear; close all; % 1 正弦波定义 f1= 50; % 频率1 f2= 100; % 频率2 fs= 2*(f1+f2); % 采样频率 Ts= 1/fs; % 采样间隔 N= 120; % 采样点数 n= 1:N; y= sin(2*pi*f1*n*Ts)+ sin(2*pi*f2*n*Ts); % 正弦波混合 figure(1) subplot(2,1,1) plot(y); title('原始信号'); subplot(2,1,2) stem(abs(fft(y))); title('原始信号频谱'); % 2 小波滤波器 h= wfilters('db30', 'l'); % 低通 g= wfilters('db30', 'h'); % 高通 h= [h,zeros(1,N-length(h))]; %补零(圆周卷积,且增大分辨率便于观察) g= [g,zeros(1,N-length(g))]; %补零(圆周卷积,且增大分辨率便于观察

代码重构

允我心安 提交于 2019-12-05 04:21:09
一、重构原则 1、何谓重构 对软件内部结构的一种调整,目的是在不改变软件可观察行为的前提下,提高其可理解性,降低其修改成本。 另一种解释是:使用一系列重构手法,在不改变软件可观察行为的前提下,调整其结构。 重构不止是代码整理,它提供了一种高效且受控的代码整理技术 2、为何重构 改进软件设计:如果没有重构,程序的设计会逐渐变质,重构很像是在整理代码,你所做的就是让所有的东西回到应处的位置上。 帮助找到bug:对代码进行重构,可以深入理解代码的作为,在搞清楚程序结构的同时,想不把bug揪出来都难。 提高编程速度: 良好的设计是快速开发的根本 ,改善设计、提高可读性,减少错误,这些都是提高质量。 3、何时重构 任何情况下我都反对专门拨出时间进行重构。重构本来就不是一件应该特别拨出时间做的事情, 重构应该随时随地的进行。 三次法则 第一次做某件事情是只管去做;第二次做类似的事情会产生反感;第三次再做类似的事,你就应该重构 最常见的重构时机是想给软件添加新特性的时候; 重构的另个一原动力是:代码的设计无法帮助我轻松的添加所需要的特性 修改错误的时候 review代码的时重构 间接层和重构 计算机科学是这样一门科学:它相信所有的问题都可以通过增加一个间接层来解决。 大多数重构都为程序引入了更多的间接层,重构往往把大型的对象拆成多个小型的对象,把大型的函数拆成多个小型的函数。 但是

图像傅里叶变换的幅度谱、相位谱以及双谱重构原图像

倖福魔咒の 提交于 2019-12-05 03:53:55
简单的求取下灰度图像的幅度谱和相位谱并进行双谱重构: 直接上代码: clear all Picture = imread('E:\others\Picture\Library.jpg'); Picture_Gray = rgb2gray(Picture);%灰度处理 Picture_FFT = fft2(Picture_Gray);%傅里叶变换 Picture_FFT_Shift = fftshift(Picture_FFT);%对频谱进行移动,是0频率点在中心 Picture_AM_Spectrum = log(abs(Picture_FFT_Shift));%获得傅里叶变换的幅度谱 Picture_Phase_Specture = log(angle(Picture_FFT_Shift)*180/pi);%获得傅里叶变换的相位谱 Picture_Restructure = ifft2(abs(Picture_FFT).*exp(j*(angle(Picture_FFT))));%双谱重构 figure(1) subplot(221) imshow(Picture_Gray) title('原图像') subplot(222) imshow(Picture_AM_Spectrum,[])%显示图像的幅度谱,参数'[]'是为了将其值线性拉伸 title('图像幅度谱')

从Spring + Ejb + Struts2 迁移到Play 1.x 框架 之一

穿精又带淫゛_ 提交于 2019-12-05 03:48:37
原来项目比较古老,前台是用delphi,后台有用Ejb做……这货已经很少有人见过了……,现在公司主要项目都转到play上,所以这个项目也重构。 第一阶段是将SSE 迁移到play,尽量不改动代码,只要能运行即可。 需求就是这样,要做的工作不少,因为play是类Rails的框架,与传统的SSH2不在一条线上。 大致步骤如下: 第一步,去掉多余的注解,包括spring的,Struts2的,EJB的。 第二步,将原来用spring的注入的对象new出来。 第三步,将play的请求转发到原来action层。 前两步这里不讨论,重点在第三步。 在请求-响应的实现模式上,play属于参数-返回模式,而struts2属于Pojo模式。前者将请求参数封装在响应方法的参数列表中,后者将请求封装在响应类的类变量中。原始http请求数据在play与struts2中传输就是一个大问题。因为我们不能用play框架自动地将请求表单参数反序列化成对象。 如: student.id=1&student.name=zhangshan&student.friends[0].id=2&student.friends[0].name=lisi 一般转换工作都是MVC框架帮我们做的,如果没有框架帮忙,会比较麻烦,我原本打算用ognl做这个工作的,但是后来发现有ognl不能初始化数组,导致数组越位问题,所以就放弃了。 针对

20182301 2019-2020-1 《数据结构与面向对象程序设计》实验7报告

隐身守侯 提交于 2019-12-04 18:43:11
20182301 2019-2020-1 《数据结构与面向对象程序设计》实验7报告 课程:《程序设计与数据结构》 班级: 1823 姓名: 赵沛凝 学号:20182301 实验教师:王志强 实验日期:2019年11月1日 必修/选修: 必修 1.实验内容 定义一个Searching和Sorting类,并在类中实现linearSearch,SelectionSort方法,最后完成测试。要求不少于10个测试用例,提交测试用例设计情况(正常,异常,边界,正序,逆序),用例数据中要包含自己学号的后四位,提交运行结果图。 重构你的代码 把Sorting.java Searching.java放入 cn.edu.besti.cs1823.(姓名首字母+四位学号) 包中(例如:cn.edu.besti.cs1823.G2301)把测试代码放test包中,重新编译,运行代码,提交编译,运行的截图(IDEA,命令行两种) 参考http://www.cnblogs.com/maybe2030/p/4715035.html ,学习各种查找算法并在Searching中补充查找算法并测试,提交运行结果截图 补充实现课上讲过的排序方法:希尔排序,堆排序,二叉树排序等(至少3个) 测试实现的算法(正常,异常,边界),提交运行结果截图(如果编写多个排序算法,即使其中三个排序程序有瑕疵,也可以酌情得满分)