- 博客(22)
- 资源 (9)
- 收藏
- 关注
原创 使用HanLP做句法解析
String text = "除了英语以外,一些资料是用法语,德语,印度语,葡萄牙语和西班牙语撰写的。";CoNLLSentence sentence = HanLP.parseDependency(text);for (CoNLLWord w : sentence.getWordArray()) { System.out.println(w.NAME + " -> " + w.DEPREL + " ->" + (w.HEAD == null ? "" : w.HEAD.NAME).
2020-12-11 15:04:06
695
转载 (转) 深入学习Java中的字符串,代码点和代码单元
转自 https://www.cnblogs.com/vinozly/p/5155304.html 在Java字符串处理时,在使用length和charAt方法时,应该格外小心,因为length返回的是UTF-16编码表示下的代码单元数量,而非我们所认为的字符的个数,charAt方法返回的是指定位置处的代码单元,而非我们所认为的字符。至于为什么都是“代码单元”而非字符,这和Unicod...
2018-12-12 17:10:21
252
转载 (转) 理解AUC
本文主要讨论了auc的实际意义,并给出了auc的常规计算方法及其证明转载请注明出处:http://www.cnblogs.com/van19/p/5494908.html 1 ROC曲线和auc从二分类说起,假设我们的样本全集里,所有样本的真实标签(label)为0或1,其中1表示正样本,0表示负样本,如果我们有一个分类模型,利用它对样本进行了标注,那边我们可以得到下面的划分...
2018-10-26 11:21:17
2365
转载 (转)拼写纠错的利器,BK树算法
转自:https://www.cnblogs.com/data2value/p/5707973.htmlBK树或者称为Burkhard-Keller树,是一种基于树的数据结构,被设计于快速查找近似字符串匹配,比方说拼写纠错,或模糊查找,当搜索”aeek”时能返回”seek”和”peek”。本文首先剖析了基本原理,并在后面给出了Java源码实现。BK树在1973年由Burkhard和Keller第一...
2018-05-31 15:01:06
695
原创 用tensorflow DataSet高效加载变长文本输入
DataSet是tensorflow 1.3版本推出的一个high-level的api,在1.3版本还只是处于测试阶段,1.4版本已经正式推出。在网上搜了一遍,发现关于使用DataSet加载文本的资料比较少,官方举的例子只是csv格式的,要求csv文件中所有样本必须具有相同的维度,也就是padding必须在写入csv文件之前做掉,这会增加文件的大小。经过一番折腾试验,这里给出一个DataSet+T
2017-11-06 14:01:24
6979
原创 spring-data-redis 关于订阅客户端不断创建新线程的问题
项目中使用了spring-data-redis 实现消息订阅功能,原来的配置是这样子: <redis:listener ref="listener" serializer="jdkSerializer" method="onReceive" topic="mytopic" /> 结果监控平台发现jvm totalStartedThreadCount不断增加,但是当前线程数却比
2017-11-02 17:06:08
3334
原创 关于SecureRandom导致tomcat启动慢
测试环境部署一个http api服务时,发现每次启动服务都要很久。感觉业务代码初始化不需要这么久,索性把所有业务逻辑都关掉,只起一个空的http接口看看。果然,整个启动过程还是需要1分钟。查看日志,时间基本都花在一个叫做createSecureRandom的方法上面。具体日志如下:Oct 16, 2017 10:35:21 AM org.apache.catalina.util.Session
2017-10-16 13:30:02
1641
原创 tensorflow使用tf.dynamic_rnn技巧
用rnn处理变长文本时,使用dynamic_rnn可以跳过padding部分的计算,减少计算量。假设有两个文本,一个长度为10,另一个长度为5,那么需要对第二文本使用0-padding方法填充,得到的shape为(2, 10, dim),其中dim是词向量维度。使用dynamic_rnn的代码如下:outputs, last_states = tf.nn.dynamic_rnn( cell=
2017-06-29 18:37:07
15020
原创 rsync 3.1.1版本非root运行服务时配置文件的一点改动
rsyncd.conf需要去掉下面的配置uid = myusergid = mygroup否则会报下面的错误rsync: setgroups failed: Operation not permitted (1)
2017-06-02 11:27:24
4331
原创 对tensorflow java api进行cpu优化
使用tensorflow的java接口时,会报下面的提示内容,这是因为官方为了更好的兼容性,在编译jni库文件的时候没有进行任何的cpu指令集优化。我们只需要自己重新编译jni库文件,替换libtensorflow_jni-1.1.0.jar对应的文件即可。2017-05-27 14:57:30.437555: W tensorflow/core/platform/cpu_feature_gu
2017-05-27 15:22:36
5992
1
原创 tensorflow的python离线训练java在线预测方案
tensorflow目前主要的使用语言主要还是python,但是有相当一部分互联网应用是用java开发的,那么java应用如何使用tensorflow开发深度学习相关的功能呢?虽然google开源了tensorflow serving用于生产环境部署训练好的模型,但需要自己实现集群功能和健康检查,同时和java应用中间还隔着一个网络通讯的开销。所以最好还是java应用内部直接调用模型。tensor
2017-05-27 14:53:37
15176
1
原创 Anaconda安装与使用
linux中python默认的安装路径是需要root权限的,因此如果需要安装新的包也需要root权限,而我们在使用python的时候经常需要安装各种包,每次都找管理员要权限非常麻烦。使用Anaconda就可以避免需要root权限的麻烦,Anaconda相当于把python安装到当前用户home路径下。Anaconda官网下载Anaconda2-4.3.1-Linux-x86_64.sh运行
2017-05-27 10:59:10
3500
原创 Debian7升级glibc和gcc
需要root权限,备份 /etc/apt/sources.list 文件打开 /etc/apt/sources.list 文件,添加:deb http://ftp.debian.org/debian sid main然后执行:sudo apt-get update sudo apt-get -t sid install libc6 gcc然后还原/et
2017-05-27 10:53:10
5392
原创 lightgbm_predict4j:LightGBM在线预测的java实现
LightGBM是微软推出的一款开源boosting工具,现在已经成为各类机器学习竞赛常用的一大利器。不过由于LightGBM是c++编写的,并且其预测功能的主要使用方式是命令行调用处理批量数据,比较难用于在线实时预测。lightgbm_predict4j是针对其预测代码用java重新实现的一个小工具,在用LightGBM离线生成模型之后,可以用lightgbm_predict4j加载模型,然后在
2017-05-27 10:38:35
8482
4
原创 hadoop资源调度策略方案选择备忘录
今天原来项目交接的同事过来询问hadoop集群运维相关的事情,重新检查了一下集群的各个配置项,由于时间太久,对其中yarn的资源调度配置细节有点记不清了,因此查阅了调度器相关资料,同时回忆了当初调度策略方案的选择过程,整理之后在这里记一下来龙去脉,以防今后又忘掉了。1. 为什么需要调度器集群运行多个任务时,当各个任务需要的资源总和超过集群的总资源时,就需要调度器来决定资源的具体分配。
2017-04-20 17:04:38
617
原创 python中文单字符处理
之前没怎么用python处理中文数据,今天遇到一个问题,记一下。如果x = u'中文文本'那么x是unicode字符串,x[0] = '中'如果x是从文本读的,比如x = codecs.open("test.txt").readlines()[0]那么x不是unicode字符串,x[0:3] = '中'也就是3个字符才是一个中文单字我们可以用isinst
2017-04-10 14:30:06
982
原创 tensorflow使用CNN做文本分类
前言本文写作目的旨在记载tensorflow学习过程中对遇到的op的理解和思考,同时记录用CNN实现文本分类的一种实现思路。文中所用代码来自网络,为了突出主题,对代码作了一定的简化。代码先上代码:文本数据加载及预处理,inputs.pyfrom __future__ import divisionfrom __future__ import absolute_import
2017-04-06 19:06:58
2325
1
原创 tensorflow使用range_input_producer多线程读取数据
先放关键代码:i = tf.train.range_input_producer(NUM_EXPOCHES, num_epochs=1, shuffle=False).dequeue()inputs = tf.slice(array, [i * BATCH_SIZE], [BATCH_SIZE])原理解析:第一行会产生一个队列,队列包含0到NUM_EXPOCHES-1的元素,如果num_
2017-04-06 11:33:00
10355
1
原创 cuDNN v5.1安装
到官网下载压缩包,解压以后得到两个文件夹include和lib64。需要把lib64放到LD_LIBRARY_PATH环境变量里。但include里面的头文件不知道怎么处理,因此按照网上的方法,直接把include里面的头文件拷到cuda/include下面,把lib64里面的文件拷到cuda/lib64下面,其中cuda是cuda的安装目录。
2017-03-29 20:43:09
2227
原创 debian8安装cuda8
NVIDIA CUDA Installation Guide for Linux基本按照上面的说明安装。1、系统要求及检查方法cuda8对系统的要求见下表,我的操作系统是debian8,并不在cuda8支持的linux版本清单里面,不过gcc和glibc这些版本都比较新,因此后面的安装都是按照Ubuntu 16.04的要求来执行。Table 1. Native Li
2017-03-28 21:18:28
3261
转载 在Eclipse和NetBeans中导入Java API
工欲善其事,必先利其器。熟悉开发环境可以让你更快更好更舒服地开发软件。就如同VC/.net开发人员离不开msdn,java开发人员往往也离不开java API。下面介绍下如何在Eclipse和NetBeans中导入java API。使之可以方便快速地查找,定位。 本文适合与刚刚接触Eclipse或NetBeans的java开发人员,或者是有经验的使用Eclipse或NetBeans开发,但以
2009-11-14 10:52:00
536
Effective STL(中文)
2008-10-31
程序调试思想与实践(中文版)
2008-10-18
C++编程思想(中文)
2008-10-31
UNIX环境高级编程·part2
2008-10-31
UNIX环境高级编程·part1
2008-10-31
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人