<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[机器学习]]></title><description><![CDATA[闻君跃马提缨枪 逐戎狄 酒一觞]]></description><link>https://blog.youkuaiyun.com/u012339743</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; u012339743]]></copyright><item><title><![CDATA[PyCharm通过ssh连接远程tensorflow docker容器]]></title><link>https://blog.youkuaiyun.com/u012339743/article/details/103604886</link><guid>https://blog.youkuaiyun.com/u012339743/article/details/103604886</guid><author>u012339743</author><pubDate>Mon, 23 Dec 2019 10:35:35 +0800</pubDate><description><![CDATA[在服务器上安装了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]]></description><category></category></item><item><title><![CDATA[vim定义查看、跳转工具——ctags]]></title><link>https://blog.youkuaiyun.com/u012339743/article/details/101069656</link><guid>https://blog.youkuaiyun.com/u012339743/article/details/101069656</guid><author>u012339743</author><pubDate>Sun, 13 Oct 2019 18:55:21 +0800</pubDate><description><![CDATA[$ ctags --languages=c,c++ -R


Ctrl+] 查看定义；
Ctrl+T 回到原来位置。
(试了一下Ctrl+O好像也可以，可以看《vim中Ctrl+t和Ctrl+o快捷键的区别》)

如果只需要索引特定文件，可以显示指定，举个例子：
$ ctags `find ./ -name "*.h" -or -name "*.cpp"`

https://blog.csdn.n...]]></description><category></category></item><item><title><![CDATA[一句shell命令搞定c++代码行数统计]]></title><link>https://blog.youkuaiyun.com/u012339743/article/details/101055196</link><guid>https://blog.youkuaiyun.com/u012339743/article/details/101055196</guid><author>u012339743</author><pubDate>Fri, 20 Sep 2019 11:33:38 +0800</pubDate><description><![CDATA[$ find ./ -name "*.h" -or -name "*.cc" -or -name "*.cpp" -or -name "*.hpp" | xargs cat | wc -l

References:
yhhwatl的专栏，一句shell命令搞定代码行数统计
吴秦（Tyler），【日常小记】统计后缀名为.cc、.c、.h的文件数
2019/09/20 于北京海淀

...]]></description><category></category></item><item><title><![CDATA[Status: CUDA driver version is insufficient for CUDA runtime version]]></title><link>https://blog.youkuaiyun.com/u012339743/article/details/89287669</link><guid>https://blog.youkuaiyun.com/u012339743/article/details/89287669</guid><author>u012339743</author><pubDate>Sat, 13 Apr 2019 21:03:38 +0800</pubDate><description><![CDATA[Status: CUDA driver version is insufficient for CUDA runtime version
conda create --name tf_gpu tensorflow-gpu=1.9.0
conda install pytorch torchvision cudatoolkit=9.0 -c pytorch]]></description><category></category></item><item><title><![CDATA[C++14 N叉树使用shared_ptr智能指针]]></title><link>https://blog.youkuaiyun.com/u012339743/article/details/87805085</link><guid>https://blog.youkuaiyun.com/u012339743/article/details/87805085</guid><author>u012339743</author><pubDate>Wed, 20 Feb 2019 16:36:07 +0800</pubDate><description><![CDATA[以LeetCode 208. 实现 Trie (前缀树)为例。
https://leetcode-cn.com/problems/implement-trie-prefix-tree/
实现一个 Trie (前缀树)，包含 insert, search, 和 startsWith 这三个操作。
示例:
Trie trie = new Trie();

trie.insert(&quot;apple&quot;);
t...]]></description><category></category></item><item><title><![CDATA[neo4j - Component org.neo4j.kernel was successfully initialized, but failed to start.]]></title><link>https://blog.youkuaiyun.com/u012339743/article/details/87732707</link><guid>https://blog.youkuaiyun.com/u012339743/article/details/87732707</guid><author>u012339743</author><pubDate>Tue, 19 Feb 2019 20:42:06 +0800</pubDate><description><![CDATA[参考“neo4j教程_w3cschool”上的例子，死活连接不上服务端。https://www.w3cschool.cn/neo4j/neo4j_native_java_api_example.html
报错：“Component ‘org.neo4j.kernel.NeoStoreDataSource@43738a82’ was successfully initialized, but fai...]]></description><category></category></item><item><title><![CDATA[XPath定位中and、or、not、contains、starts-with和string(.)用法]]></title><link>https://blog.youkuaiyun.com/u012339743/article/details/87687033</link><guid>https://blog.youkuaiyun.com/u012339743/article/details/87687033</guid><author>u012339743</author><pubDate>Tue, 19 Feb 2019 09:17:12 +0800</pubDate><description><![CDATA[下文总结了XPath常用的text()、and、or、not、contains，当然也还有类似的position、last、ends_with、starts_with等等。
另外，举个例子解释下string(.)的用法：
&amp;amp;amp;amp;amp;amp;amp;amp;lt;div id=&amp;amp;amp;amp;amp;amp;amp;quot;test3&amp;amp;amp;amp;amp;amp;amp;quot;&amp;amp;amp;amp;amp;amp;amp;]]></description><category></category></item><item><title><![CDATA[KMP算法：线性时间O(n)字符串匹配算法]]></title><link>https://blog.youkuaiyun.com/u012339743/article/details/85281936</link><guid>https://blog.youkuaiyun.com/u012339743/article/details/85281936</guid><author>u012339743</author><pubDate>Thu, 27 Dec 2018 23:39:02 +0800</pubDate><description><![CDATA[《算法导论》一书中有一句话，我认为说的非常透彻：“这两个程序有很多相似之处，因为它们都是一个字符串对模式P的匹配：KMP-MATCHER是文本T针对模式P的匹配，COMPUTE-PREFIX是模式P针对自己的匹配。”]]></description><category></category></item><item><title><![CDATA[BFPRT算法：时间复杂度O(n)求第k小的数字（分治算法+快排）]]></title><link>https://blog.youkuaiyun.com/u012339743/article/details/85255119</link><guid>https://blog.youkuaiyun.com/u012339743/article/details/85255119</guid><author>u012339743</author><pubDate>Tue, 25 Dec 2018 22:35:56 +0800</pubDate><description><![CDATA[去年写了一篇《分治算法 求第k小元素 O(n)》的文章。介绍了一种对快排进行改进的算法，可以在时间复杂度O(n)的情况下，找到第k小的数字。那时候，我还不知道这个算法叫BFPRT算法——现在知道了，还知道它又被称为中位数的中位数算法，它的最坏时间复杂度为O(n)，它的思想是修改快速选择算法的主元选取方法，提高算法在最坏情况下的时间复杂度。而且，我还发现了STL中有一个类似的函数——std::nth_element （位于头文件`&amp;amp;amp;amp;amp;amp;lt;algorithm&am]]></description><category></category></item><item><title><![CDATA[浅谈C++多态实现原理（虚继承的奥秘）]]></title><link>https://blog.youkuaiyun.com/u012339743/article/details/85235043</link><guid>https://blog.youkuaiyun.com/u012339743/article/details/85235043</guid><author>u012339743</author><pubDate>Mon, 24 Dec 2018 17:47:24 +0800</pubDate><description><![CDATA[根据我的已有知识，如果要实现C++的多态，那么，基类中相应的函数必须被声明为虚函数（或纯虚函数）。举个例子：
class Point {
public:
	Point(float x = 0.0, float y = 0.0) : _x(x), _y(y) {
	}
	virtual float z(); //virtual function
protected:
	float _x, _y;
}...]]></description><category></category></item><item><title><![CDATA[对C++ templates类模板的几点补充(Traits类模板特化)]]></title><link>https://blog.youkuaiyun.com/u012339743/article/details/85225199</link><guid>https://blog.youkuaiyun.com/u012339743/article/details/85225199</guid><author>u012339743</author><pubDate>Sun, 23 Dec 2018 22:33:44 +0800</pubDate><description><![CDATA[前一篇文章《浅谈C++ templates 函数模板、类模板以及非类型模板参数》简单的介绍了什么是函数模板（这个最简单），类模板以及非类型模板参数。本文对类模板再做几点补充。
文章目录1. 缺省的模板实参2. Traits编程技法——以STL迭代器为例

1. 缺省的模板实参
这里依旧使用上一篇文章中的array类作为例子，其中有一处改变了——就是将unsigned int N = 10后面添加了...]]></description><category></category></item><item><title><![CDATA[浅谈C++ allocator内存管理（对比new的局限性）]]></title><link>https://blog.youkuaiyun.com/u012339743/article/details/85224771</link><guid>https://blog.youkuaiyun.com/u012339743/article/details/85224771</guid><author>u012339743</author><pubDate>Sun, 23 Dec 2018 18:27:00 +0800</pubDate><description><![CDATA[STL中，对内存管理的alloc的设计，迫使我去学习了allocator类。这里对allocator内存管理做了点笔记留给自己后续查阅。allocator类声明、定义于头文件&amp;amp;amp;amp;amp;amp;lt;memory&amp;amp;amp;amp;amp;amp;gt;中的std命名空间内。所以，应该有以下内容位于文件头部…
#include &amp;amp;amp;amp;amp;amp;lt;memory&amp;amp;amp;amp;amp;amp;gt;
using ]]></description><category></category></item><item><title><![CDATA[浅谈C++ templates 函数模板、类模板以及非类型模板参数]]></title><link>https://blog.youkuaiyun.com/u012339743/article/details/85218581</link><guid>https://blog.youkuaiyun.com/u012339743/article/details/85218581</guid><author>u012339743</author><pubDate>Sat, 22 Dec 2018 22:07:42 +0800</pubDate><description><![CDATA[最近打算挑选几个STL容器做个简单实现，发现里面牵涉到不少模板知识。这里算提前学习一下C++模板的相关知识吧。这次主要学习了什么是函数模板（这个最简单），类模板以及非类型模板参数。下面挨个举例说明。
文章目录1. 函数模板2. 类模板3. 非类型模板参数

1. 函数模板
函数模板是最简答的一个，下面就定义一个返回两个值中最大者的函数模板：
namespace og {

template&amp;amp;amp;lt;...]]></description><category></category></item><item><title><![CDATA[关于“有用的”默认构造函数的合成]]></title><link>https://blog.youkuaiyun.com/u012339743/article/details/84948099</link><guid>https://blog.youkuaiyun.com/u012339743/article/details/84948099</guid><author>u012339743</author><pubDate>Mon, 10 Dec 2018 23:06:57 +0800</pubDate><description><![CDATA[那么，什么时候才会合成出一个default constructor呢？——当编译器需要它的时候！此外，被合成出来的constructor只执行编译器所需的行动。
[x] “任何class如果没有定义default constructors，就会被合成出一个来”？——错
[x] “编译器合成出来的default constructors会显式设定class内每一个data member默认值”？——...]]></description><category></category></item><item><title><![CDATA[C++中定义一个不能被继承的类(友元类+类模板)]]></title><link>https://blog.youkuaiyun.com/u012339743/article/details/84869940</link><guid>https://blog.youkuaiyun.com/u012339743/article/details/84869940</guid><author>u012339743</author><pubDate>Fri, 07 Dec 2018 09:54:46 +0800</pubDate><description><![CDATA[自从`C++11`标准出来之后，就有了关键字`final`可以直接声明一个类不能被继承。那么，在此之前如果想要一个类不能被继承，可能还需要下一番功夫。]]></description><category></category></item><item><title><![CDATA[动态内存管理allocator类C++ STL标准模板库vector实现]]></title><link>https://blog.youkuaiyun.com/u012339743/article/details/84727714</link><guid>https://blog.youkuaiyun.com/u012339743/article/details/84727714</guid><author>u012339743</author><pubDate>Sun, 02 Dec 2018 20:52:05 +0800</pubDate><description><![CDATA[//vector.h
#ifndef NSTL_VECTOR_H_
#define NSTL_VECTOR_H_
#include &amp;amp;amp;amp;amp;lt;memory&amp;amp;amp;amp;amp;gt;
#include &amp;amp;amp;amp;amp;lt;string&amp;amp;amp;amp;amp;gt;

namespace nstl {
	class vector {
	public:
		vector() : elemen]]></description><category></category></item><item><title><![CDATA[分布式架构——Nginx 反向代理与负载均衡]]></title><link>https://blog.youkuaiyun.com/u012339743/article/details/84566253</link><guid>https://blog.youkuaiyun.com/u012339743/article/details/84566253</guid><author>u012339743</author><pubDate>Tue, 27 Nov 2018 15:11:22 +0800</pubDate><description><![CDATA[本文介绍一下使用Nginx反向代理来做负载均衡。使用十分简单，只需要配置upstream并选择负载均衡策略，再配置server反向代理功能就全部搞定了。]]></description><category></category></item><item><title><![CDATA[JOHNSON算法：流水作业最优调度问题]]></title><link>https://blog.youkuaiyun.com/u012339743/article/details/84283789</link><guid>https://blog.youkuaiyun.com/u012339743/article/details/84283789</guid><author>u012339743</author><pubDate>Tue, 20 Nov 2018 09:49:15 +0800</pubDate><description><![CDATA[已知 $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}$ 上加工完成所需的时间最少。]]></description><category></category></item><item><title><![CDATA[jena fuseki 自定义推导规则（OWLFBRuleReasoner推理机）]]></title><link>https://blog.youkuaiyun.com/u012339743/article/details/82501166</link><guid>https://blog.youkuaiyun.com/u012339743/article/details/82501166</guid><author>u012339743</author><pubDate>Fri, 07 Sep 2018 18:45:18 +0800</pubDate><description><![CDATA[在阅读《实践篇（四）：Apache jena SPARQL endpoint及推理》 一文后，  发现最新版本 JENA FUSEKI （v3.8.0）自定义推导功能无法正常使用。

造成该问题，主要两大缘由：

其一，推导规则（rules.ttl）需要用逗号隔开。

@prefix : &amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;lt;http://www.kgdemo.com#&am]]></description><category></category></item><item><title><![CDATA[关于jena-fuseki SPARQL query版本问题的解决方案]]></title><link>https://blog.youkuaiyun.com/u012339743/article/details/82458785</link><guid>https://blog.youkuaiyun.com/u012339743/article/details/82458785</guid><author>u012339743</author><pubDate>Thu, 06 Sep 2018 11:42:15 +0800</pubDate><description><![CDATA[在做“Apache jena SPARQL endpoint及推理”时，遇到了不少问题，主要原因是jena-fuseki版本更新了。以下对问题解决方案做下笔记：

Question 1:  JENA_HOME not set

解决方案： 
（对于Win7）我的电脑-&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;gt;属性-&amp;amp;amp;amp;amp;amp;amp;amp;a]]></description><category></category></item></channel></rss>