- 博客(42)
- 收藏
- 关注
原创 通过 putty私钥登录 linux机器
现状: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 ,在文
2021-07-16 10:33:31
807
原创 Jena fuseki开启推理机时查询性能问题
参考 《实践篇(四):Apache jena SPARQL endpoint及推理》(方法不完全一样),搭建了一个知识图谱,在fuseki的web页面上传从结构化数据构建而来的本体实体后,能够正常使用,但是有几个问题:我默认使用OWLFBRuleReasoner推理机,开启后查询速度太慢,慢到只能被迫关闭推理机的程度;知识图谱的结构化数据源定时刷新,相应的知识图谱也应该定时刷新,这需要代码化的更新fuseki的本体和实体的方法;知识图谱保存在服务器的内存里,如何保存到磁盘中?本文是针对问题1的。
2021-07-07 16:10:03
604
原创 使用SOH 以代码化的方法更新Apache Jena fuseki 的知识图谱
参考 《实践篇(四):Apache jena SPARQL endpoint及推理》(方法不完全一样),搭建了一个知识图谱,在fuseki的web页面上传从结构化数据构建而来的本体实体后,能够正常使用,但是有几个问题:OWLFBRuleReasoner推理机开启后查询速度太慢,慢到只能被迫关闭推理机的程度;知识图谱的结构化数据源定时刷新,相应的知识图谱也应该定时刷新,这需要代码化的更新fuseki的本体和实体的方法;知识图谱保存在服务器的内存里,如何保存到磁盘中?本文是针对问题2的。查阅官方文
2021-07-05 17:08:22
273
原创 大规模时序预测项目中分布式进程的使用
进程:操作系统分配资源的最小单元,每个进程之间独立内存。内含一个或多个线程。线程:系统调度的最小单元,一个进程内的各线程共享内存。多进程:创建多个子进程,绕过Python的GIL,利用多个CPU并行计算。能够提升cpu密集型任务的运行效率。https://zhuanlan.zhihu.com/p/46368084多线程:对python的多进程来说,由于GIL(全局解释锁)的限制,同一时刻CPU执行的任务只有一个,CPU在不同的线程间切换执行。多线程能够提高IO密集型任务的效率。IO密集型时,大部分
2021-07-05 16:25:35
219
原创 pandas的乘法
今天有个刚学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], ...
2020-04-07 23:28:37
9407
原创 Python和C语言中的不定长参数
Python*argsdef test(a,b,c,*args): print("a = ", a) print("b = ", b) print("c = ", c) print("args = ", args)test(1,2,3,4,5)输出:a = 1b = 2c = 3args = (4, 5)*args会将所有多余参数以元祖的形式保存。**ar...
2020-02-28 16:35:44
218
原创 Pytorch-7:The Train Process 和 Comfusion Matrix
已有的代码:import torchimport torch.nn as nnimport torch.nn.functional as Fimport torchvisionimport torchvision.transforms as transformstorch.set_printoptions(linewidth=120)train_set = torchvisio...
2020-02-05 15:51:33
501
原创 Pytorch-6:建立一个CNN
继承 nn.Module ,建立一个 network class在 network class 的构造函数中定义== layers 为 类的属性(attributes)==用 layers 属性和 nn.functional 的方法来定义forward()torch.nn.Module 类神经网络 和 神经网络的layers 都继承自 torch.nn.module 。forward...
2020-01-16 23:49:37
423
原创 Pytorch-1:关于Tensor
TensorTensor-张量,是一种数据类型,基本上来说是多维array的别名,这里的“多维”可以是任何维数,也就是说1d-tensor → vector。Rank,Axes and shapeTensor的三个基本属性:Rank,Axes and shape。**Rank:**维数,其大小恰好说明了需要多少个Index来取得Tensor里的一个数。Axes: axis复数形式,sh...
2020-01-16 23:03:07
271
原创 Pytorch-5 : 视觉深度学习prepare data - ETL流程,Dataset 和 DataLoader类
ETLExtract : 获得图片数据Transfrom :将图片转换为tensor形式Load : 将数据转为对象,以便于使用为了实现以上流程,PyTroch提供这两个类:torch.utils.data.Dataset : 抽象类(abstract class),代表datasettorch.utils.data.DataLoader : 包装dataset,从而方便诸...
2020-01-11 19:30:09
810
原创 Pytorch-4 :Tensor Reduction Operation
Element-wise Operation是多个 tensor 间的操作,Reduction Operation 是一个tensor内部的操作。Reduction OperationReduction Operation的返回值总是使 tensor 的元素数量变小。t = torch.tensor([[0, 1, 0],[2, 0, 2],[0, 3, 3]], dtype=tor...
2020-01-10 19:57:56
296
原创 Pytorch-3:element-wise operation(包括element-wise大小比较)
Element-wise operationElement-wise 也称为 Componet-wise 或者 Point-wise这种操作在匹配的元素间起作用,“匹配”的含义是:张量有同样的shape元素的“位置”相同t1 = torch.tensor([ [1, 2], [3, 4] ])t2 = torch.tensor([ [9, 8], [7, 6] ])...
2020-01-10 18:38:44
4525
原创 为什么深度学习要使用CUDA
GPU相比CPU,GPU有上千个cores,在并行计算方面有巨大优势,与深度学习的计算需求一致。例如卷积,卷积可以并行计算kernal的中心点不同位置的情况。cuDNN如何利用GPU?CUDA为开发者们提供利用GPU并行计算的API。CUDNN,CUDA Deep Neural Network Library.Example(Pytorch)t = torch.tensor([1,...
2020-01-06 16:41:25
3181
原创 Pytorch之上采样
nn.UpsampleCLASS torch.nn.Upsample(size=None, scale_factor=None, mode='nearest', align_corners=None)参数:size – 根据不同的输入类型制定的输出大小scale_factor – 指定输出为输入的多少倍数。如果输入为tuple,其也要制定为tuple类型。注意:size跟sca...
2020-01-01 19:52:32
875
原创 depthwise separable convolution,深度可变卷积
深度可变卷积把传统的卷积过程分成两步:depthwise convolution和pointwise convolution。depthwise convolution:过滤器的层数等于输入通道数,输出的featuremap的层数也就等于输入的通道数。pointwise convolution:类似常规卷积操作,filter尺寸是1×1×M×N。M是上层输入通道数,输出featuremap数...
2019-12-31 17:16:58
327
原创 win10跑Pytorch模型出现RuntimeError: CUDA out of memory的解决方法
Kaggle官方提供的GPU频繁断开,被迫在自己的机器上跑Kernal,显卡是贫民配置1050TI,显存4GB。训练无法开始,直接报错RuntimeError: CUDA out of memory,尝试多种方法后解决,现在能够龟速训练了。1.修改Dataloader中的num_worker参数为0(似乎仅针对windows系统下)2.缩小batch_size3.把训练的代码块放入if __...
2019-12-29 15:59:36
3124
3
原创 YOLO V1到V3
YOLOYOLO是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...
2019-12-24 11:36:50
232
原创 高级车道线查找项目的检测车道部分
采用组合梯度阈值和色彩信息来检测车道,组合梯度阈值组合x灰度梯度、yx灰度梯度、xy灰度梯度和方向梯度信息。基于梯度:Sobel算子X方向的Sobel算子检测X方向的梯度;Y方向的Sobel算子检测Y方向的梯度。Sobel算子对灰度图进行操作,故需要进行灰度转换:灰度转换的公式:Gray=R0.299+G0.587+B*0.114gray = cv2.cvtColor(img, cv...
2019-12-23 14:34:37
385
1
原创 高级车道线查找项目的透视变换
整体思路1.传统视觉检测车道2.透视变换为鸟瞰3.多项式拟合透视变换接受原点和目标点,计算透视变换M注意:原点是原图上的四个点,目标点是想要这四个点前往的位置M = cv2.getPerspectiveTransform(src, dst)接受原图和目标图,计算逆透视变换MMinv = cv2.getPerspectiveTransform(dst, src)使用M进行透视...
2019-12-22 20:19:16
781
原创 高级车道线查找项目的相机标定
标定相机矫正失真的公式其中r是未矫正的点(x,y)对应的棋盘上的点距离棋盘中心的距离。使用棋盘矫正法,推荐至少拍摄不同角度和距离的20张棋盘照片。OpenCV标定步骤:1.objpoints,对应实体的3D坐标,项目中使用的棋盘尺寸是8x62.imgpoints,对应照片的2D坐标3.cv2.calibrateCamera()4.cv2.undistort()objpoints...
2019-12-22 16:21:27
640
原创 python的list扩充
append() 追加单个元素到List的尾部,只接受一个参数,参数可以是任何数据类型,被追加的元素在List中保持着原结构类型。extend() 将一个列表中每个元素分别添加到另一个列表中,只接受一个参数。insert() 将一个元素插入到列表中,但其参数有两个(如insert(1,”g”)),第一个参数是索引点,即插入的位置,第二个参数是插入的元素。加号,将两个list相加,会返回...
2019-12-22 15:21:57
2436
原创 CNN个人笔记3-目标检测、YOLO
目标检测目标检测的要求是在给出图片内容是什么,以及在哪儿。其中“在哪儿”通过方框或者坐标点给出。边界框检测比较大的物体时,用边界框框定位置。方框的位置由bw, bh, bx, by描述。图像的左上角标记为(0, 0),右下角为(1, 1),也就是说bw, bh, bx, by均在区间[0 , 1]内。bw, bh, bx, by和P(表示是否检测到内容) 是增加神经网络在使用softma...
2019-12-21 01:51:23
372
原创 交通标志识别-语句笔记
np.unique()该函数是去除数组中的重复数字,并进行排序之后输出。计算label个数时适用。from colletions import Counter求数组中每个数字出现了几次from collections import Counter a = [1,4,2,3,2,3,4,2] b = Counter(a) #求数组中每个数字出现了几次print(b)输出C...
2019-12-21 01:51:13
259
原创 CNN个人笔记4-人脸识别
face verification人脸验证的任务是验证一张图片是不是与给出的 NAME/ID 对应face recognition人脸识别的任务是输入一张图片,和一个数据库,输出这张图片对应的数据库中的ID。这比人脸验证要复杂一些。One-shot LearningOne-shot Learning问题指的是只对一个test data进行人脸识别。这实际运用中是经常出现的情况。按照传统...
2019-12-19 16:33:58
359
原创 CNN个人笔记2
CNN实例1.经典网络LeNet-5AlexNetVGG2.ResNet3.Inception经典网络LeNet-5AlexVGG-16优点:规整,简化了网络结构,卷积层和全连接层(也就是有权重的层)加起来有16个,每轮filter size增加一倍;当feature map尺寸缩小一半,feature map层数增加一倍,呈现规律性。缺点:非常深,1.38亿个参...
2019-12-18 19:32:40
401
原创 Tensorflow入门笔记
输入inputtf.palceholder()接收数据并返回一个tensor,这个tensor用来传入tf.session.run()。Session’s feed_dict在**tf.Session.run()**中使用feed_dict参数来为placeholder传递tensor。注意Session大写!!!x = tf.placeholder(tf.string)y = tf....
2019-12-14 18:01:18
259
原创 numpy矩阵相乘与拼接
1.元素乘:multiply,*2.矩阵乘:numpy的matmul;dot在二维矩阵计算的情况下,dot和matmul的结果是相同的,但是其他维度情况下可能会有差异。
2019-12-13 18:06:56
546
原创 嵌入式第七课-系统时钟和UART试验
对于JZ2440开发板,有三个时钟:FCLK是CPU时钟,HCLK是外设时钟,通讯输入用PCLK时钟。2440的晶振频率是12Mb,设置PLL寄存器将其提高,再将其分频给FCLK, HCLK和PCLK。如何设置FCLK, HCLK, PCLK?1.锁定时间:设置PLL的同时,FCLK停止(CPU停止运行),经过一定的锁定时间后,CPU以设定的新频率运行(FCLK以新的频率)2.PLL寄存器(...
2019-12-09 22:57:21
321
原创 嵌入式第六课-中断控制器
ARM存在多种工作模式,这些工作模式大体来说有三点差异:1.使用的寄存器有差异2.不同的权限,通过MMU实现3.不同的触发条件,上电时进入SVC,发生中断时进入IRQ等中断中断是一种异常。当异常发生后:1.CPU进入异常模式,切换寄存器;2.CPU跳至异常入口中断的使用:1.中断发生:保存中断前的状态,使能中断,初始化2.中断处理:分辨中断源以进行不同的处理;清理工作3.恢复状态...
2019-12-09 15:24:25
326
原创 嵌入式第五课-NAND FLASH控制器
SDRAM, DM9000 的地址总线与2440地址总线相连,而NAND FLASH没有地址总线,他们的寻址方式不同:1.CPU统一编址:片内内存(0-4096),SDRAM(0x34000000-0x30000000),网卡,寄存器。2.NAND编址:块,64页;页,2048+64字节。访问NAND:从NAND硬件上看,改变引脚输出来访问:1.命令: CLE, DATA BUS...
2019-12-09 01:24:42
248
原创 嵌入式第四课-内存管理单元MMU
MMU的作用1.权限管理:每个程序都占用一定的地址空间,A程序不能访问B空间内的地址,从而防止整体的错误和崩溃。2.地址映射:CPU发出的虚拟地址由MMU处理得到物理地址。虚拟地址(VA)如何转换为物理地址(PA)?对ARM架构,使用页表。映射方式分为段映射、大页、小页、极小页映射。段映射:以1M为单位大小讲SDRAM分为多个表格项,每一段有对应的物理地址。试验:使用虚拟地址来点亮LE...
2019-12-08 17:02:52
283
原创 嵌入式第三课-存储管理和SDNAND
存储管理和SDRAM存储管理器的作用是,CPU根据存储管理器内的配置信息,决定如何访问外部设备。负责包括片选信号、bank选择信号、列地址、行地址等内容。配置信息内含有访问芯片的条件:1.地址线2.数据线的位宽()3.时钟/频率4.芯片相关内容(行列bank的位数)对JZ2440,使用SDRAM需要配置存储管理器,操作方式还是改写三个寄存器:BWSCON,BANKCON,BANKSI...
2019-12-08 15:57:13
253
原创 嵌入式第二课-GPIO试验
1.点亮一个led 步骤: 1.配置GPIO为输出功能:修改con值。例:GPFCON[9:8]=0b01(0b表示二进制)→设置GPF4为输出。 2.设置输出值,修改dat值。例:GPFDAT[4]=1 or 0;汇编方法:.text.global _start_start: LDR R0,=0x56000050 @ R0设为G...
2019-12-08 02:00:17
741
原创 韦东山笔记-Precourse
1.串口-观察;2.JTAG-烧写系统;1.串口工具:MOBAXTERM:serial协议,选择COM口、波特率,流量控制选None,通过串口传输指令,操作板上已有的系统。2.JTAG:EOP接JTAG,USB连接电脑,安装EOP驱动(3次),烧写软件为OpenOCD(自带oflash)。...
2019-12-07 01:45:17
323
转载 vi编辑器常用命令
vi编辑器常用命令vi编辑器有3种模式:命令模式、输入模式、末行模式。掌握这三种模式十分重要:1.命令模式:vi启动后默认进入的是命令模式,从这个模式使用命令可以切换到另外两种模式,同时无论在任何模式下只要按一下[Esc]键都可以返回命令模式。在命令模式中输入字幕“i”就可以进入vi的输入模式编辑文件。2.输入模式:在这个模式中我们可以编辑、修改、输入等编辑工作,在编辑器最后一行显示一个“–...
2019-12-07 01:20:52
298
原创 Linux基础命令
SHELL基础命令:1.pwd :当前路径 //print working directory。Tab键可用于查找和补全,要多用。2.ls :显示当前路径下的文件 //list files //初级常用**-l(long)详细信息**,-a(all)显示隐藏文件,-h(human-able)文件大小以KMG显示,可组合使用。ls A:显示A文件夹的内容3.cd :...
2019-12-06 01:12:11
178
原创 Opencv语句笔记
1.cap = cv2.VideoCapture(0)参数0表示打开内置摄像头,参数为路径则是打开视频文件。2.ret,frame = cap.read()按帧读取视频,ret为布尔值,正常为True,读取到结尾返回Flase。frame返回图像。3.cv2.imread()读取图片,颜色空间为BGR。4.cv2.cvtColor(image, fomat)用以转换图片的颜色空间。O...
2019-11-24 14:07:10
617
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人