- 博客(109)
- 资源 (18)
- 收藏
- 关注
原创 PyCharm通过ssh连接远程tensorflow docker容器
在服务器上安装了docker-tensorflow-gpu,想在本地配置pycharm能轻松访问。基本思路,采用ssh直接访问到docker中,但是不能使用22默认端口,那样应该会使得docker和服务器本身的ssh冲突。所以将docker中的ssh-server映射到了服务器的42022号端口。以下是基本属性:本机是MacBook Pro服务器是Ubuntu(IP:192.168.0.3),里面装了个docker+tensorflow1.15.0环境。docker中安装了openssh-ser
2019-12-23 10:35:35
2193
原创 vim定义查看、跳转工具——ctags
$ ctags --languages=c,c++ -RCtrl+] 查看定义;Ctrl+T 回到原来位置。(试了一下Ctrl+O好像也可以,可以看《vim中Ctrl+t和Ctrl+o快捷键的区别》)如果只需要索引特定文件,可以显示指定,举个例子:$ ctags `find ./ -name "*.h" -or -name "*.cpp"`https://blog.csdn.n...
2019-10-13 18:55:21
1641
原创 一句shell命令搞定c++代码行数统计
$ find ./ -name "*.h" -or -name "*.cc" -or -name "*.cpp" -or -name "*.hpp" | xargs cat | wc -lReferences:yhhwatl的专栏,一句shell命令搞定代码行数统计吴秦(Tyler),【日常小记】统计后缀名为.cc、.c、.h的文件数2019/09/20 于北京海淀...
2019-09-20 11:33:38
3881
原创 Status: CUDA driver version is insufficient for CUDA runtime version
Status: CUDA driver version is insufficient for CUDA runtime versionconda create --name tf_gpu tensorflow-gpu=1.9.0conda install pytorch torchvision cudatoolkit=9.0 -c pytorch
2019-04-13 21:03:38
4161
原创 C++14 N叉树使用shared_ptr智能指针
以LeetCode 208. 实现 Trie (前缀树)为例。https://leetcode-cn.com/problems/implement-trie-prefix-tree/实现一个 Trie (前缀树),包含 insert, search, 和 startsWith 这三个操作。示例:Trie trie = new Trie();trie.insert("apple");t...
2019-02-20 16:36:07
1235
原创 neo4j - Component org.neo4j.kernel was successfully initialized, but failed to start.
参考“neo4j教程_w3cschool”上的例子,死活连接不上服务端。https://www.w3cschool.cn/neo4j/neo4j_native_java_api_example.html报错:“Component ‘org.neo4j.kernel.NeoStoreDataSource@43738a82’ was successfully initialized, but fai...
2019-02-19 20:42:06
1941
1
原创 XPath定位中and、or、not、contains、starts-with和string(.)用法
下文总结了XPath常用的text()、and、or、not、contains,当然也还有类似的position、last、ends_with、starts_with等等。另外,举个例子解释下string(.)的用法:<div id="test3"&
2019-02-19 09:17:12
39266
11
原创 KMP算法:线性时间O(n)字符串匹配算法
《算法导论》一书中有一句话,我认为说的非常透彻:“这两个程序有很多相似之处,因为它们都是一个字符串对模式P的匹配:KMP-MATCHER是文本T针对模式P的匹配,COMPUTE-PREFIX是模式P针对自己的匹配。”
2018-12-27 23:39:02
2799
2
原创 BFPRT算法:时间复杂度O(n)求第k小的数字(分治算法+快排)
去年写了一篇《分治算法 求第k小元素 O(n)》的文章。介绍了一种对快排进行改进的算法,可以在时间复杂度O(n)的情况下,找到第k小的数字。那时候,我还不知道这个算法叫BFPRT算法——现在知道了,还知道它又被称为中位数的中位数算法,它的最坏时间复杂度为O(n),它的思想是修改快速选择算法的主元选取方法,提高算法在最坏情况下的时间复杂度。而且,我还发现了STL中有一个类似的函数——std::nth_element (位于头文件`<algorithm&am
2018-12-25 22:35:56
6956
4
原创 浅谈C++多态实现原理(虚继承的奥秘)
根据我的已有知识,如果要实现C++的多态,那么,基类中相应的函数必须被声明为虚函数(或纯虚函数)。举个例子:class Point {public: Point(float x = 0.0, float y = 0.0) : _x(x), _y(y) { } virtual float z(); //virtual functionprotected: float _x, _y;}...
2018-12-24 17:47:24
1099
4
原创 对C++ templates类模板的几点补充(Traits类模板特化)
前一篇文章《浅谈C++ templates 函数模板、类模板以及非类型模板参数》简单的介绍了什么是函数模板(这个最简单),类模板以及非类型模板参数。本文对类模板再做几点补充。文章目录1. 缺省的模板实参2. Traits编程技法——以STL迭代器为例1. 缺省的模板实参这里依旧使用上一篇文章中的array类作为例子,其中有一处改变了——就是将unsigned int N = 10后面添加了...
2018-12-23 22:33:44
984
2
原创 浅谈C++ allocator内存管理(对比new的局限性)
STL中,对内存管理的alloc的设计,迫使我去学习了allocator类。这里对allocator内存管理做了点笔记留给自己后续查阅。allocator类声明、定义于头文件<memory>中的std命名空间内。所以,应该有以下内容位于文件头部…#include <memory>using
2018-12-23 18:27:00
6504
5
原创 浅谈C++ templates 函数模板、类模板以及非类型模板参数
最近打算挑选几个STL容器做个简单实现,发现里面牵涉到不少模板知识。这里算提前学习一下C++模板的相关知识吧。这次主要学习了什么是函数模板(这个最简单),类模板以及非类型模板参数。下面挨个举例说明。文章目录1. 函数模板2. 类模板3. 非类型模板参数1. 函数模板函数模板是最简答的一个,下面就定义一个返回两个值中最大者的函数模板:namespace og {template<...
2018-12-22 22:07:42
2627
原创 关于“有用的”默认构造函数的合成
那么,什么时候才会合成出一个default constructor呢?——当编译器需要它的时候!此外,被合成出来的constructor只执行编译器所需的行动。[x] “任何class如果没有定义default constructors,就会被合成出一个来”?——错[x] “编译器合成出来的default constructors会显式设定class内每一个data member默认值”?——...
2018-12-10 23:06:57
1290
原创 C++中定义一个不能被继承的类(友元类+类模板)
自从`C++11`标准出来之后,就有了关键字`final`可以直接声明一个类不能被继承。那么,在此之前如果想要一个类不能被继承,可能还需要下一番功夫。
2018-12-07 09:54:46
1977
原创 动态内存管理allocator类C++ STL标准模板库vector实现
//vector.h#ifndef NSTL_VECTOR_H_#define NSTL_VECTOR_H_#include <memory>#include <string>namespace nstl { class vector { public: vector() : elemen
2018-12-02 20:52:05
2951
1
原创 分布式架构——Nginx 反向代理与负载均衡
本文介绍一下使用Nginx反向代理来做负载均衡。使用十分简单,只需要配置upstream并选择负载均衡策略,再配置server反向代理功能就全部搞定了。
2018-11-27 15:11:22
2125
1
原创 JOHNSON算法:流水作业最优调度问题
已知 $n$ 个作业${1, 2, . . . , n}$要在由两台机器 ${M_1}$ 和 ${M_2}$ 组成的流水线上完成加工。每个作业加工的顺序都是先在 ${M_1}$上加工,然后在${M_2}$上加工。${M_1}$和${M_2}$ 加工作业$i$ 所需的时间分别为${a_i}$和 $b_i ,1≤ i ≤ n$。流水作业调度问题要求确定这$n$个作业的最优加工次序,使得从第一个作业在机器${M_1}$上开始加工,到最后一个作业在机器${M_2}$ 上加工完成所需的时间最少。
2018-11-20 09:49:15
6081
5
原创 jena fuseki 自定义推导规则(OWLFBRuleReasoner推理机)
在阅读《实践篇(四):Apache jena SPARQL endpoint及推理》 一文后, 发现最新版本 JENA FUSEKI (v3.8.0)自定义推导功能无法正常使用。造成该问题,主要两大缘由:其一,推导规则(rules.ttl)需要用逗号隔开。@prefix : <http://www.kgdemo.com#&am
2018-09-07 18:45:18
7725
29
原创 关于jena-fuseki SPARQL query版本问题的解决方案
在做“Apache jena SPARQL endpoint及推理”时,遇到了不少问题,主要原因是jena-fuseki版本更新了。以下对问题解决方案做下笔记:Question 1: JENA_HOME not set解决方案: (对于Win7)我的电脑->属性-&a
2018-09-06 11:42:15
5755
13
原创 d2rq-0.8.1工具构建RDF模型
构建知识图谱时,需要使用d2rq-0.8.1工具构建RDF模型,参照官文http://d2rq.org/getting-started操作时,执行如下命令,报错了generate-mapping -o mapping.ttl -u root -p a12345 jdbc:mysql://localhost/testdb报错内容, MySQL 8.0 - Client does not s...
2018-09-05 14:48:34
2171
5
原创 海量数据实战(0)从两个文件50亿数据中找出相同的URL
问题:给定a、b两个文件,各存放50亿个url,每个url各占64字节,内存限制是4G,让你找出a、b文件共同的url?方案1:可以估计每个文件安的大小为50G×64=3200G,远远大于内存限制的4G。所以不可能将其完全加载到内存中处理。考虑采取分而治之的方法。遍历文件a,对每个url求取hash(url)%10000hash(url)%10000hash(url)\%10000,...
2018-09-03 10:22:20
8463
6
原创 字符串哈希算法——BKDRHash
BYVoid对常用的几种字符串哈希函数进行了一次小小的评测。其评测结果,按照得分从高到低依次为BKDRHash,APHash,DJBHash,JSHash,RSHash,SDBMHash,PJWHash,ELFHash。其中,最优的字符串哈希算法BKDRHash函数实现如下:// BKDR Hash Functionunsigned int BKDRHash(char *str){ ...
2018-09-01 20:42:13
5073
2
原创 30分钟,快速上手Lucene v7.4.0
Lucene截止目前,最新版本为v7.4.0。它是一个开放源代码的全文检索引擎工具包,但它不是一个完整的全文检索引擎,而是一个全文检索引擎的架构,提供了完整的查询引擎和索引引擎,部分文本分析引擎(英文与德文两种西方语言)。目录:1 Lucene环境相关2 Add External JARs…(右击项目->Build Path)3 配置git4 Lucene v7.4...
2018-08-30 09:07:45
1313
原创 Tomcat 与 Nginx、Apache的区别是什么?
如果只需要静态消息的转发,毫无疑问Nginx是最佳的选择。它不仅具有很高的稳定性,更以其性能著称——官方表示其可以保持10,000个没有活动的连接,远大于Apache的1,000个以下,并且不惧DDoS攻击。
2018-08-20 19:10:16
5041
原创 Vim最精简配置——自动缩进、括号补全
x 删除光标下的字符. 重复上一个动作u 撤销上一步操作:split 水平分割,Ctrl+W切换窗口Ctrl+W+V 垂直分割:on 或者 :only亦或:close用于关闭多个窗口yy 复制单行y^ 复制从光标处至行首内容y$ 复制从光标处至行尾内容dd 剪切单行d^ 剪切从光标处至行首内容d$ 剪切从贯标处至行尾内容p 粘贴至光...
2018-08-04 15:06:29
20747
1
原创 MacTeX添加.sty文件
因为论文写作时需要使用一些自定义的.sty样式文件,比如 NIPS(https://nips.cc/Conferences/2014/PaperInformation/StyleFiles)官网给的LaTeX模板中,需要嵌入nips14submit_e.sty样式文件。一般而言,如果和我安装的版本一致的话,.sty文件应该在以下路径下(/usr/local/texlive/2018/texmf-dist/tex/latex)。该路径下,你可以找到常见的ctex,amsmath等样式,不过它们命名上都没有
2018-07-04 16:02:37
7503
3
原创 LaTeX快速入门:一文浅谈TeX排版语法
LaTeX是一种命令式的排版工具。这里直接安装了完整版的MacTeX,然后打开TeXShop开始尝试写第一个Hello LaTeX排版。Hello LaTeXLaTeX框架中文支持空格设置A4标题、作者以及日期脚注标题级别插入图片模板(麻雀虽小五脏俱全)数学公式常见的公式写法行内公式单行公式公式编号其他Hello LaTeX\d...
2018-06-25 21:28:07
50874
5
原创 深度学习(DL)基本概念
深度学习中的batchsize、epochs、learning rate、momentum、iteration/step几个术语,这里整理一下,1.batchsize:批大小,每次训练给神经网络喂入的数据量大小(当然也可以一次将所有样本丢给神经网络)。但是要注意,更大的批量会计算更精确的梯度估计,但是回报却是小于线性的。极小批量通常难以充分利用多核架构。 2.iteration/step...
2018-06-10 10:41:58
6062
原创 深度学习:卷积神经网络(CNN)基本概念
卷积神经网络架构中牵涉到几个概念:卷积、激活函数、池化、全连接。卷积卷积是将原始图像与一个设计好的矩阵(一般称为滤波器)按位相乘,这样就会得到一个新的矩阵。举个例子,假设我们要识别老鼠的尾巴,我们可以设计如下图类似的滤波器。 接来下,开始进行卷积——原图与滤波器按位相乘。当识别到老鼠尾巴时,会得到一个很大的卷积值。 反之,当识别到的不是老鼠尾巴部位时,卷积结果将会很小,甚至为0...
2018-06-09 20:25:20
6104
原创 深度学习:循环神经网络(RNN)的变体LSTM、GRU
假设我们试着去预测“I grew up in France… I speak fluent French”最后的词。当前的信息建议下一个词可能是一种语言的名字,但是如果我们需要弄清楚是什么语言,我们是需要先前提到的离当前位置很远的 France 的上下文的。这说明相关信息和当前预测位置之间的间隔就肯定变得相当的大。不幸的是,在这个间隔不断增大时,RNN 会丧失学习到连接如此远的信息的能力。...
2018-06-09 20:03:50
8190
原创 OpenCV+Python 人脸识别 | Haar级联(检测)& Eigenfaces算法(识别)
# -*- coding: utf-8 -*-import cv2def detect(filename): face_cascade = cv2.CascadeClassifier( r'C:\AppInstall\Anaconda3\Lib\site-packages\cv2\data\haarcascade_frontalface_default.x...
2018-05-28 22:39:58
11112
3
原创 Matlab在科学计算中的应用(学习笔记)
MATLAB和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。目录MATLAB1varargin(可变输入参数个数)limit(求极限)...
2018-05-22 23:24:20
7180
原创 同步图运算框架GraphLite(学习手札)基本思想 & 核心API
本文旨在初步介绍陈老师团队的同步图计算框架——GraphLite。希望读者通过阅读本文,能对该框架的基本使用方式有个初步了解,最好达到能在该框架上跑自己的模型程度。下文以PageRank算法为基础,阐述框架以下两个部分内容,框架的基本思想核心API的使用目录框架的基本思想图的存储举个例子(Worker)Worker之间相互通信同步图计算框架的基...
2018-05-15 16:48:06
2214
原创 GFS/HDFS的设计理念——Simple is beauty!
阅读《RDBMS架构:写前日志(Write-Ahead Logging)保证ACID性质》文章可以大致明白实现本机的ACID性质的艰巨性,那么分布式系统亦改如何?本文从熟知的Linux ext4、Windows ntfs、Mac OS hfs....开始讲起,将你带入一个分布式文件系统的世界!请先容我介绍另外两个前辈,NFSv2——Sun公司1985发布了NFSv2,定义了开放的client/se...
2018-05-01 10:14:02
1791
原创 RDBMS架构:预写日志(Write-Ahead Logging)保证ACID性质
本文主要介绍了关系型数据库管理系统是如何设计以保证事务的原子性、一致性、隔离性以及持久性四大性质。文中的观点为写前日志(即,在任何实际写操作完成之前,先写事务日志)。补充1:如果每次事务日志都直接写入硬盘,就会造成很大的IO消耗。那么,如果将事务日志存储于内存中,这又引发了这样一个问题——可能实际数据已经写入硬盘了,而这时候发生异常了,导致事务日志未正常写入硬盘。针对这一问题,解决方案是这样的——...
2018-05-01 09:19:46
1372
原创 RDBMS架构:B+树实现范围查询(Range Scan)
本文记录了基于B+树架构的关系型数据库中,是如何实现Range Scan功能的。设计时,B+树每个节点是一个page;所有key存储在叶子节点;内部节点完全是索引所用。B+树服从 左节点 < 父节点 < 右节点;最底层叶子节点严格按照从小到大顺序排列。补充:Tree based,有序,支持点查询和范围查询(Range Scan);Hash based,无序,只支持点查询。Referen...
2018-04-30 14:13:59
7809
5
原创 SQL入门:关系型数据库
本文主要总结了,关系型数据库模型、关系型运算以及SQL语言的使用。实际上可以把外键理解为指针或者引用!这里补充下,在MySQL中上图中的enum类型应该需要加上单引号~补充,MySQL中时间需要加上单引号,如'1995-01-01'。 参考文献:[1] 陈世敏老师的《大数据与大规模数据分析》讲义©qingdujun 2018-4-30 于北京 怀柔...
2018-04-30 11:42:30
974
原创 TensorFlow: tf.nn.in_top_k() [ True False]
tf.nn.in_top_k主要是用于计算预测的结果和实际结果的是否相等,返回一个bool类型的张量。tf.nn.in_top_k(predictions, targets, k, name=None)其中,prediction就是表示你预测的结果,大小就是预测样本的数量乘以输出的维度,类型是tf.float32等。target就是实际样本类别的标签,大小就是样本数量的个数。k表示每个样本的预测结...
2018-04-20 08:46:21
1058
朴素贝叶斯分类算法
2015-06-23
数据挖掘十大算法之k-means算法
2015-06-22
Appriori算法
2015-06-22
数据挖掘:ID3算法
2015-06-21
KFC宅急送系统
2015-06-19
【GitHub-SwipeMenuListView】针对ListView item的侧滑菜单
2015-03-18
Android PopupWindow使用示例
2015-01-11
SQLiteDemo
2015-01-10
Android中Application类用法
2015-01-10
Viewbadger 实现消息数字提示
2015-01-09
gson-2.2.4.jar
2014-12-07
科学计算器(简化版:基于MFC对话框)
2014-11-25
计算机图形学 Cohen- Sutherland直线段裁剪算法
2014-11-05
多边形有效边表填充算法
2014-10-16
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人