自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(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 727

原创 Jena fuseki开启推理机时查询性能问题

参考 《实践篇(四):Apache jena SPARQL endpoint及推理》(方法不完全一样),搭建了一个知识图谱,在fuseki的web页面上传从结构化数据构建而来的本体实体后,能够正常使用,但是有几个问题:我默认使用OWLFBRuleReasoner推理机,开启后查询速度太慢,慢到只能被迫关闭推理机的程度;知识图谱的结构化数据源定时刷新,相应的知识图谱也应该定时刷新,这需要代码化的更新fuseki的本体和实体的方法;知识图谱保存在服务器的内存里,如何保存到磁盘中?本文是针对问题1的。

2021-07-07 16:10:03 519

原创 使用SOH 以代码化的方法更新Apache Jena fuseki 的知识图谱

参考 《实践篇(四):Apache jena SPARQL endpoint及推理》(方法不完全一样),搭建了一个知识图谱,在fuseki的web页面上传从结构化数据构建而来的本体实体后,能够正常使用,但是有几个问题:OWLFBRuleReasoner推理机开启后查询速度太慢,慢到只能被迫关闭推理机的程度;知识图谱的结构化数据源定时刷新,相应的知识图谱也应该定时刷新,这需要代码化的更新fuseki的本体和实体的方法;知识图谱保存在服务器的内存里,如何保存到磁盘中?本文是针对问题2的。查阅官方文

2021-07-05 17:08:22 228

原创 大规模时序预测项目中分布式进程的使用

进程:操作系统分配资源的最小单元,每个进程之间独立内存。内含一个或多个线程。线程:系统调度的最小单元,一个进程内的各线程共享内存。多进程:创建多个子进程,绕过Python的GIL,利用多个CPU并行计算。能够提升cpu密集型任务的运行效率。https://zhuanlan.zhihu.com/p/46368084多线程:对python的多进程来说,由于GIL(全局解释锁)的限制,同一时刻CPU执行的任务只有一个,CPU在不同的线程间切换执行。多线程能够提高IO密集型任务的效率。IO密集型时,大部分

2021-07-05 16:25:35 172

原创 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 9115

原创 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 187

原创 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 427

原创 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 370

原创 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 211

原创 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 683

原创 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 234

原创 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 4347

原创 Pytorch-2:张量关于shape的操作

flattenreshapesqueeze explainedreshape

2020-01-10 18:04:17 3274

原创 为什么深度学习要使用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 3018

原创 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 817

原创 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 256

原创 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 3049 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 187

原创 高级车道线查找项目的检测车道部分

采用组合梯度阈值和色彩信息来检测车道,组合梯度阈值组合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 312 1

原创 高级车道线查找项目的透视变换

整体思路1.传统视觉检测车道2.透视变换为鸟瞰3.多项式拟合透视变换接受原点和目标点,计算透视变换M注意:原点是原图上的四个点,目标点是想要这四个点前往的位置M = cv2.getPerspectiveTransform(src, dst)接受原图和目标图,计算逆透视变换MMinv = cv2.getPerspectiveTransform(dst, src)使用M进行透视...

2019-12-22 20:19:16 734

原创 高级车道线查找项目的相机标定

标定相机矫正失真的公式其中r是未矫正的点(x,y)对应的棋盘上的点距离棋盘中心的距离。使用棋盘矫正法,推荐至少拍摄不同角度和距离的20张棋盘照片。OpenCV标定步骤:1.objpoints,对应实体的3D坐标,项目中使用的棋盘尺寸是8x62.imgpoints,对应照片的2D坐标3.cv2.calibrateCamera()4.cv2.undistort()objpoints...

2019-12-22 16:21:27 587

原创 python的list扩充

append() 追加单个元素到List的尾部,只接受一个参数,参数可以是任何数据类型,被追加的元素在List中保持着原结构类型。extend() 将一个列表中每个元素分别添加到另一个列表中,只接受一个参数。insert() 将一个元素插入到列表中,但其参数有两个(如insert(1,”g”)),第一个参数是索引点,即插入的位置,第二个参数是插入的元素。加号,将两个list相加,会返回...

2019-12-22 15:21:57 2327

原创 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 332

原创 交通标志识别-语句笔记

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 226

原创 CNN个人笔记4-人脸识别

face verification人脸验证的任务是验证一张图片是不是与给出的 NAME/ID 对应face recognition人脸识别的任务是输入一张图片,和一个数据库,输出这张图片对应的数据库中的ID。这比人脸验证要复杂一些。One-shot LearningOne-shot Learning问题指的是只对一个test data进行人脸识别。这实际运用中是经常出现的情况。按照传统...

2019-12-19 16:33:58 306

原创 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 331

原创 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 216

原创 numpy矩阵相乘与拼接

1.元素乘:multiply,*2.矩阵乘:numpy的matmul;dot在二维矩阵计算的情况下,dot和matmul的结果是相同的,但是其他维度情况下可能会有差异。

2019-12-13 18:06:56 473

udacity百度自动驾驶免费入门课程笔记

2019-12-12 22:13:47 526

原创 嵌入式第八课-LCD试验

2019-12-10 01:20:03 350

原创 嵌入式第七课-系统时钟和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 260

原创 嵌入式第六课-中断控制器

ARM存在多种工作模式,这些工作模式大体来说有三点差异:1.使用的寄存器有差异2.不同的权限,通过MMU实现3.不同的触发条件,上电时进入SVC,发生中断时进入IRQ等中断中断是一种异常。当异常发生后:1.CPU进入异常模式,切换寄存器;2.CPU跳至异常入口中断的使用:1.中断发生:保存中断前的状态,使能中断,初始化2.中断处理:分辨中断源以进行不同的处理;清理工作3.恢复状态...

2019-12-09 15:24:25 276

原创 嵌入式第五课-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 193

原创 嵌入式第四课-内存管理单元MMU

MMU的作用1.权限管理:每个程序都占用一定的地址空间,A程序不能访问B空间内的地址,从而防止整体的错误和崩溃。2.地址映射:CPU发出的虚拟地址由MMU处理得到物理地址。虚拟地址(VA)如何转换为物理地址(PA)?对ARM架构,使用页表。映射方式分为段映射、大页、小页、极小页映射。段映射:以1M为单位大小讲SDRAM分为多个表格项,每一段有对应的物理地址。试验:使用虚拟地址来点亮LE...

2019-12-08 17:02:52 221

原创 嵌入式第三课-存储管理和SDNAND

存储管理和SDRAM存储管理器的作用是,CPU根据存储管理器内的配置信息,决定如何访问外部设备。负责包括片选信号、bank选择信号、列地址、行地址等内容。配置信息内含有访问芯片的条件:1.地址线2.数据线的位宽()3.时钟/频率4.芯片相关内容(行列bank的位数)对JZ2440,使用SDRAM需要配置存储管理器,操作方式还是改写三个寄存器:BWSCON,BANKCON,BANKSI...

2019-12-08 15:57:13 207

原创 嵌入式第二课-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 659

原创 韦东山笔记-Precourse

1.串口-观察;2.JTAG-烧写系统;1.串口工具:MOBAXTERM:serial协议,选择COM口、波特率,流量控制选None,通过串口传输指令,操作板上已有的系统。2.JTAG:EOP接JTAG,USB连接电脑,安装EOP驱动(3次),烧写软件为OpenOCD(自带oflash)。...

2019-12-07 01:45:17 241

转载 vi编辑器常用命令

vi编辑器常用命令vi编辑器有3种模式:命令模式、输入模式、末行模式。掌握这三种模式十分重要:1.命令模式:vi启动后默认进入的是命令模式,从这个模式使用命令可以切换到另外两种模式,同时无论在任何模式下只要按一下[Esc]键都可以返回命令模式。在命令模式中输入字幕“i”就可以进入vi的输入模式编辑文件。2.输入模式:在这个模式中我们可以编辑、修改、输入等编辑工作,在编辑器最后一行显示一个“–...

2019-12-07 01:20:52 245

原创 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 137

原创 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 536

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除