<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Ztomepic的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Ztomepic</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Ztomepic]]></copyright><item><title><![CDATA[通过 putty私钥登录 linux机器]]></title><link>https://blog.youkuaiyun.com/Ztomepic/article/details/118786327</link><guid>https://blog.youkuaiyun.com/Ztomepic/article/details/118786327</guid><author>Ztomepic</author><pubDate>Fri, 16 Jul 2021 10:33:31 +0800</pubDate><description><![CDATA[现状：A机器经常需要登录B机器，每次输密码很麻烦，B机器此前已经完成允许私钥登录root等相关配置；
目标：配置A机器（windows）使用私钥免输密码登录B机器（linux）；
步骤：
1.打开putty路径下的puttygen，点generate，鼠标在空白区域滑动，generate完成后，分别save public key和private key；
2.打开A机器上保存的public key，复制内容，复制范围如下图：

3.ssh登录B机器，vi ~/.ssh/authorized_keys ，在文]]></description><category></category></item><item><title><![CDATA[Jena fuseki开启推理机时查询性能问题]]></title><link>https://blog.youkuaiyun.com/Ztomepic/article/details/118548545</link><guid>https://blog.youkuaiyun.com/Ztomepic/article/details/118548545</guid><author>Ztomepic</author><pubDate>Wed, 07 Jul 2021 16:10:03 +0800</pubDate><description><![CDATA[参考 《实践篇（四）：Apache jena SPARQL endpoint及推理》（方法不完全一样），搭建了一个知识图谱，在fuseki的web页面上传从结构化数据构建而来的本体实体后，能够正常使用，但是有几个问题：

我默认使用OWLFBRuleReasoner推理机，开启后查询速度太慢，慢到只能被迫关闭推理机的程度；
知识图谱的结构化数据源定时刷新，相应的知识图谱也应该定时刷新，这需要代码化的更新fuseki的本体和实体的方法；
知识图谱保存在服务器的内存里，如何保存到磁盘中？

本文是针对问题1的。]]></description><category></category></item><item><title><![CDATA[使用SOH 以代码化的方法更新Apache Jena fuseki 的知识图谱]]></title><link>https://blog.youkuaiyun.com/Ztomepic/article/details/118493189</link><guid>https://blog.youkuaiyun.com/Ztomepic/article/details/118493189</guid><author>Ztomepic</author><pubDate>Mon, 05 Jul 2021 17:08:22 +0800</pubDate><description><![CDATA[参考 《实践篇（四）：Apache jena SPARQL endpoint及推理》（方法不完全一样），搭建了一个知识图谱，在fuseki的web页面上传从结构化数据构建而来的本体实体后，能够正常使用，但是有几个问题：

OWLFBRuleReasoner推理机开启后查询速度太慢，慢到只能被迫关闭推理机的程度；
知识图谱的结构化数据源定时刷新，相应的知识图谱也应该定时刷新，这需要代码化的更新fuseki的本体和实体的方法；
知识图谱保存在服务器的内存里，如何保存到磁盘中？

本文是针对问题2的。
查阅官方文]]></description><category></category></item><item><title><![CDATA[大规模时序预测项目中分布式进程的使用]]></title><link>https://blog.youkuaiyun.com/Ztomepic/article/details/113603367</link><guid>https://blog.youkuaiyun.com/Ztomepic/article/details/113603367</guid><author>Ztomepic</author><pubDate>Mon, 05 Jul 2021 16:25:35 +0800</pubDate><description><![CDATA[进程：操作系统分配资源的最小单元，每个进程之间独立内存。内含一个或多个线程。
线程：系统调度的最小单元，一个进程内的各线程共享内存。
多进程：创建多个子进程，绕过Python的GIL，利用多个CPU并行计算。能够提升cpu密集型任务的运行效率。
https://zhuanlan.zhihu.com/p/46368084
多线程：对python的多进程来说，由于GIL（全局解释锁）的限制，同一时刻CPU执行的任务只有一个，CPU在不同的线程间切换执行。多线程能够提高IO密集型任务的效率。
IO密集型时，大部分]]></description><category></category></item><item><title><![CDATA[pandas的乘法]]></title><link>https://blog.youkuaiyun.com/Ztomepic/article/details/105376833</link><guid>https://blog.youkuaiyun.com/Ztomepic/article/details/105376833</guid><author>Ztomepic</author><pubDate>Tue, 07 Apr 2020 23:28:37 +0800</pubDate><description><![CDATA[今天有个刚学pandas的朋友问了我关于矩阵乘的问题，我发现自己好久没用pandas已经忘了。写代码试验后才想起来，记下笔记，防止又忘了。。
重点：
1.元素乘：df1*df2, df1.mul(df2)
2.矩阵乘：df1.dot(df2)
a = np.array([[1, 2, 3],
             [4, 5, 6]])
b = np.array([[1,2],
       ...]]></description><category></category></item><item><title><![CDATA[Python和C语言中的不定长参数]]></title><link>https://blog.youkuaiyun.com/Ztomepic/article/details/104556406</link><guid>https://blog.youkuaiyun.com/Ztomepic/article/details/104556406</guid><author>Ztomepic</author><pubDate>Fri, 28 Feb 2020 16:35:44 +0800</pubDate><description><![CDATA[Python
*args
def test(a,b,c,*args):
	print("a = ", a)
	print("b = ", b)
	print("c = ", c)
	print("args = ", args)

test(1,2,3,4,5)

输出：
a =  1
b =  2
c =  3
args =  (4, 5)

*args会将所有多余参数以元祖的形式保存。
**ar...]]></description><category></category></item><item><title><![CDATA[Pytorch-7:The Train Process 和 Comfusion Matrix]]></title><link>https://blog.youkuaiyun.com/Ztomepic/article/details/104158934</link><guid>https://blog.youkuaiyun.com/Ztomepic/article/details/104158934</guid><author>Ztomepic</author><pubDate>Wed, 05 Feb 2020 15:51:33 +0800</pubDate><description><![CDATA[已有的代码：
import torch
import torch.nn as nn
import torch.nn.functional as F

import torchvision
import torchvision.transforms as transforms

torch.set_printoptions(linewidth=120)

train_set = torchvisio...]]></description><category></category></item><item><title><![CDATA[Pytorch-6：建立一个CNN]]></title><link>https://blog.youkuaiyun.com/Ztomepic/article/details/103939831</link><guid>https://blog.youkuaiyun.com/Ztomepic/article/details/103939831</guid><author>Ztomepic</author><pubDate>Thu, 16 Jan 2020 23:49:37 +0800</pubDate><description><![CDATA[继承 nn.Module ，建立一个 network class
在 network class 的构造函数中定义== layers 为 类的属性（attributes）==
用 layers 属性和 nn.functional 的方法来定义forward()

torch.nn.Module 类
神经网络 和 神经网络的layers 都继承自 torch.nn.module 。
forward...]]></description><category></category></item><item><title><![CDATA[Pytorch-1:关于Tensor]]></title><link>https://blog.youkuaiyun.com/Ztomepic/article/details/103860229</link><guid>https://blog.youkuaiyun.com/Ztomepic/article/details/103860229</guid><author>Ztomepic</author><pubDate>Thu, 16 Jan 2020 23:03:07 +0800</pubDate><description><![CDATA[Tensor
Tensor-张量，是一种数据类型，基本上来说是多维array的别名，这里的“多维”可以是任何维数，也就是说1d-tensor → vector。

Rank，Axes and shape
Tensor的三个基本属性：Rank，Axes and shape。
**Rank:**维数，其大小恰好说明了需要多少个Index来取得Tensor里的一个数。
Axes： axis复数形式，sh...]]></description><category></category></item><item><title><![CDATA[Pytorch-5 : 视觉深度学习prepare data - ETL流程，Dataset 和 DataLoader类]]></title><link>https://blog.youkuaiyun.com/Ztomepic/article/details/103938582</link><guid>https://blog.youkuaiyun.com/Ztomepic/article/details/103938582</guid><author>Ztomepic</author><pubDate>Sat, 11 Jan 2020 19:30:09 +0800</pubDate><description><![CDATA[ETL

Extract		: 获得图片数据
Transfrom :将图片转换为tensor形式
Load		: 将数据转为对象，以便于使用

为了实现以上流程，PyTroch提供这两个类：

torch.utils.data.Dataset		: 抽象类(abstract class)，代表dataset
torch.utils.data.DataLoader	: 包装dataset，从而方便诸...]]></description><category></category></item><item><title><![CDATA[Pytorch-4 :Tensor Reduction Operation]]></title><link>https://blog.youkuaiyun.com/Ztomepic/article/details/103929612</link><guid>https://blog.youkuaiyun.com/Ztomepic/article/details/103929612</guid><author>Ztomepic</author><pubDate>Fri, 10 Jan 2020 19:57:56 +0800</pubDate><description><![CDATA[Element-wise Operation是多个 tensor 间的操作，Reduction Operation 是一个tensor内部的操作。
Reduction Operation
Reduction Operation的返回值总是使 tensor 的元素数量变小。
t = torch.tensor([
[0, 1, 0],
[2, 0, 2],
[0, 3, 3]
], dtype=tor...]]></description><category></category></item><item><title><![CDATA[Pytorch-3:element-wise operation（包括element-wise大小比较）]]></title><link>https://blog.youkuaiyun.com/Ztomepic/article/details/103928869</link><guid>https://blog.youkuaiyun.com/Ztomepic/article/details/103928869</guid><author>Ztomepic</author><pubDate>Fri, 10 Jan 2020 18:38:44 +0800</pubDate><description><![CDATA[Element-wise operation
Element-wise 也称为 Componet-wise 或者 Point-wise
这种操作在匹配的元素间起作用，“匹配”的含义是:

张量有同样的shape
元素的“位置”相同

t1 = torch.tensor([
	[1, 2],
	[3, 4]
	])

t2 = torch.tensor([
	[9, 8],
	[7, 6]
	])
...]]></description><category></category></item><item><title><![CDATA[Pytorch-2:张量关于shape的操作]]></title><link>https://blog.youkuaiyun.com/Ztomepic/article/details/103874059</link><guid>https://blog.youkuaiyun.com/Ztomepic/article/details/103874059</guid><author>Ztomepic</author><pubDate>Fri, 10 Jan 2020 18:04:17 +0800</pubDate><description><![CDATA[flatten
reshape
squeeze explained

reshape

]]></description><category></category></item><item><title><![CDATA[为什么深度学习要使用CUDA]]></title><link>https://blog.youkuaiyun.com/Ztomepic/article/details/103859677</link><guid>https://blog.youkuaiyun.com/Ztomepic/article/details/103859677</guid><author>Ztomepic</author><pubDate>Mon, 06 Jan 2020 16:41:25 +0800</pubDate><description><![CDATA[GPU
相比CPU，GPU有上千个cores，在并行计算方面有巨大优势，与深度学习的计算需求一致。例如卷积，卷积可以并行计算kernal的中心点不同位置的情况。
cuDNN
如何利用GPU？

CUDA为开发者们提供利用GPU并行计算的API。
CUDNN，CUDA Deep Neural Network Library.
Example(Pytorch)
t = torch.tensor([1,...]]></description><category></category></item><item><title><![CDATA[Pytorch之上采样]]></title><link>https://blog.youkuaiyun.com/Ztomepic/article/details/103794873</link><guid>https://blog.youkuaiyun.com/Ztomepic/article/details/103794873</guid><author>Ztomepic</author><pubDate>Wed, 01 Jan 2020 19:52:32 +0800</pubDate><description><![CDATA[nn.Upsample
CLASS torch.nn.Upsample(size=None, scale_factor=None, mode='nearest', align_corners=None)

参数：


size  – 根据不同的输入类型制定的输出大小


scale_factor – 指定输出为输入的多少倍数。如果输入为tuple，其也要制定为tuple类型。注意：size跟sca...]]></description><category></category></item><item><title><![CDATA[depthwise separable convolution，深度可变卷积]]></title><link>https://blog.youkuaiyun.com/Ztomepic/article/details/103786171</link><guid>https://blog.youkuaiyun.com/Ztomepic/article/details/103786171</guid><author>Ztomepic</author><pubDate>Tue, 31 Dec 2019 17:16:58 +0800</pubDate><description><![CDATA[深度可变卷积把传统的卷积过程分成两步：depthwise convolution和pointwise convolution。
depthwise convolution：过滤器的层数等于输入通道数，输出的featuremap的层数也就等于输入的通道数。

pointwise convolution：类似常规卷积操作，filter尺寸是1×1×M×N。M是上层输入通道数，输出featuremap数...]]></description><category></category></item><item><title><![CDATA[win10跑Pytorch模型出现RuntimeError: CUDA out of memory的解决方法]]></title><link>https://blog.youkuaiyun.com/Ztomepic/article/details/103754475</link><guid>https://blog.youkuaiyun.com/Ztomepic/article/details/103754475</guid><author>Ztomepic</author><pubDate>Sun, 29 Dec 2019 15:59:36 +0800</pubDate><description><![CDATA[Kaggle官方提供的GPU频繁断开，被迫在自己的机器上跑Kernal，显卡是贫民配置1050TI，显存4GB。训练无法开始，直接报错RuntimeError: CUDA out of memory，尝试多种方法后解决，现在能够龟速训练了。
1.修改Dataloader中的num_worker参数为0（似乎仅针对windows系统下）
2.缩小batch_size
3.把训练的代码块放入if __...]]></description><category></category></item><item><title><![CDATA[YOLO V1到V3]]></title><link>https://blog.youkuaiyun.com/Ztomepic/article/details/103675022</link><guid>https://blog.youkuaiyun.com/Ztomepic/article/details/103675022</guid><author>Ztomepic</author><pubDate>Tue, 24 Dec 2019 11:36:50 +0800</pubDate><description><![CDATA[YOLO
YOLO是stage one和real-time detector检测方法的鼻祖。速度高达45fps，fast YOLO达到155fps。
将图片划分为S x S的网格，在每个网格中预测B个Bounding box和一个confidence score，这个score由所有box 共享。故YOLO最终输出tensor个数是S * S * (B*5 + C)，其中C是class的个数。
Y...]]></description><category></category></item><item><title><![CDATA[高级车道线查找项目的检测车道部分]]></title><link>https://blog.youkuaiyun.com/Ztomepic/article/details/103656490</link><guid>https://blog.youkuaiyun.com/Ztomepic/article/details/103656490</guid><author>Ztomepic</author><pubDate>Mon, 23 Dec 2019 14:34:37 +0800</pubDate><description><![CDATA[采用组合梯度阈值和色彩信息来检测车道，组合梯度阈值组合x灰度梯度、yx灰度梯度、xy灰度梯度和方向梯度信息。
基于梯度：Sobel算子

X方向的Sobel算子检测X方向的梯度；
Y方向的Sobel算子检测Y方向的梯度。
Sobel算子对灰度图进行操作，故需要进行灰度转换：
灰度转换的公式：Gray=R0.299+G0.587+B*0.114
gray = cv2.cvtColor(img, cv...]]></description><category></category></item><item><title><![CDATA[高级车道线查找项目的透视变换]]></title><link>https://blog.youkuaiyun.com/Ztomepic/article/details/103655370</link><guid>https://blog.youkuaiyun.com/Ztomepic/article/details/103655370</guid><author>Ztomepic</author><pubDate>Sun, 22 Dec 2019 20:19:16 +0800</pubDate><description><![CDATA[整体思路
1.传统视觉检测车道
2.透视变换为鸟瞰
3.多项式拟合
透视变换
接受原点和目标点，计算透视变换M
注意：原点是原图上的四个点，目标点是想要这四个点前往的位置
M = cv2.getPerspectiveTransform(src, dst)

接受原图和目标图，计算逆透视变换M
Minv = cv2.getPerspectiveTransform(dst, src)

使用M进行透视...]]></description><category></category></item></channel></rss>