- 博客(39)
- 收藏
- 关注

原创 Jacob迭代+Gauss–Seidel迭代求解线性方程组
解线性方程的迭代法对于阶数不高的方程组,高斯消元法非常有效,对于阶数高,而系数矩阵稀疏的线性方程组却存在着困难,在这类矩阵中,非零元素较少,若用直接法求解,就要存贮大量零元素。为减少运算量、节约内存,使用迭代法更有利。迭代法就是用某种极限过程去逐步逼近线性方程组精确解的方法,迭代法需要的计算机存储单元少、程序设计简单、原始系数矩阵在计算过程中不变,这些都是迭代法的优点;但是存在收敛性和收敛速度的问题。迭代法适用于解大型的稀疏矩阵方程组。一般的线性方程组形式如下:方程组AX=bAX = bAX=b的雅
2021-03-22 11:36:11
2300

原创 Keras实现ResNet残差网络
# from keras.models importfrom keras.layers import *from keras.models import Inputfrom keras import Modelimport tensorflow as tfimport numpy as npdef conv2d_bn(input, kernel_num, kernel_size=3, strides=(1, 1), layer_name='', padding_mode='same'...
2020-07-26 11:22:44
4723
3

原创 求解两个坐标系之间的刚性变换矩阵
-- coding: utf-8 --任意的两个三维笛卡尔坐标系之间的转换都可以用一个3x3的矩阵来表示。在关于相机标定的问题里,经常需要计算两个坐标系之间点的关系。只要能算出变换矩阵,就可以算出A坐标系的一个点P在坐标系B里的对应点坐标,即P(B)=T*P(A)+t,T为3x3的转换矩阵,t为3x1的位移变换向量,点坐标均为3x1的列向量。只要给定至少3个点,就能计算出T和t,一般来说点越多...
2019-10-25 20:56:12
13777
26
原创 anaconda建立新环境,报错:CondaHTTPError: HTTP 000 CONNECTION FAILED for url <https://mirrors.tuna.tsi
anaconda新建环境报错condaHTTPError
2022-06-03 22:11:12
1015
原创 numpy返回上下三角矩阵
numpy的triu和tril函数计算矩阵的上、下三角矩阵。这两个函数的第二个参数表示第几条斜对角线,默认是包含这条斜对角线上的元素,对角线默认是0,例如1表示对角线上面的斜对角线,-1表示对角线下面的斜对角线。In[6]:a=np.arange(1,17).reshape(4,4)aOut[7]: array([[ 1, 2, 3, 4], [ 5, 6, 7, 8], [ 9, 10, 11, 12], [13, 14, 1.
2021-03-23 16:04:38
5563
原创 python-OpenCV处理视频
读取帧OpenCV读取视频是读取每一帧,下面的代码功能是截取从startSec到endSec内的视频存储起来,实际截取的图像有(endSec-startSec)*fps帧图像。def video_process(videoPath, saveVideoPath, startSec, endSec, savePic=False): cap = cv.VideoCapture(videoPath) img_cnt = 0 print(cap) fps = cap.ge
2020-12-31 10:54:21
1049
1
原创 PCL点云过滤
以下函数实现的功能是根据x,y,z轴方向对点云进行过滤,例如对于x坐标值大于1的点进行滤除,就是range_remove(cloud, "x", 1, ">")#include <pcl/point_cloud.h>#include <pcl/point_types.h>#include <iostream>typedef pcl::PointCloud<pcl::PointXYZRGB> PointCloudRGB;PointCloudRG
2020-12-11 19:06:05
1522
原创 PCL点云欧式聚类
PCL库里有pcl::EuclideanClusterExtraction函数,可以提取点云的欧式聚类,把每个点簇的索引存到vector里。threshold 欧式聚类的最小距离阈值MinClusterSize 点簇的最小数目MaxClusterSize 点簇的最大数目下面代码里的cluster_indices就是欧式聚类的结果,想要提取出最大的点云,可以根据点簇的数目。pcl::PointCloud<pcl::PointXYZRGB>::Ptr get_max_cluster(pc
2020-12-11 18:54:55
4817
原创 C++读取文件夹中的文件
下面是一种简便的读取文件夹里所有子文件夹和文件的方法,如果想读取子文件夹下所有文件,可以递归一下。#include <dirent.h>#include <stdio.h>#include <string.h>void read_dir(std::string fileDir, std::vector<std::string>& files){ struct dirent *ent = NULL; DIR *dir = ope
2020-12-11 17:02:22
1778
原创 dropout层的实现
dropout的思想和目的这里就不赘述了。dropout的原理是根据一定概率,丢掉一些输入,代码如下:def dropout(x, level): if level < 0. or level >= 1: # level是概率值,必须在0~1之间 raise Exception('Dropout level must be in interval [0, 1[.') retain_prob = 1. - level # 我们通过binomial
2020-08-27 20:39:14
2010
原创 Keras实现Xception
关于Xception的结构,参考:https://zhuanlan.zhihu.com/p/127042277论文地址:https://link.zhihu.com/?target=https%3A//arxiv.org/abs/1610.02357from keras.layers import *from keras.models import Input, load_modelfrom keras.optimizers import SGDimport numpy a...
2020-08-21 17:11:13
1784
2
原创 TensorFlow实现mnist数字识别
数据集可以从http://yann.lecun.com/exdb/mnist/下载输入为784,中间层有500个节点,输出为10维的向量,激活函数为softmax,loss选用cross_entropy,使用了L2正则化。import tensorflow as tffrom tensorflow.examples.tutorials.mnist import input_dataINPUT_NODE = 784OUTPUT_NODE = 10LAYER1_NODE = 500.
2020-08-20 11:38:11
165
原创 Numpy实现LDA
LDA与PCA的区别如下表:LDA的原理如下:LDA降维的流程总结。 输入:数据集D={(x1,y1),(x2,y2),...,((xm,ym))},其中任意样本xi为n维向量,yi∈{C1,C2,...,Ck},降维到的维度d。 输出:降维后的样本集$D′$ 1) 计算类内散度矩阵Sw2) 计算类间散度矩阵Sb3) 计算矩阵Sw^−1*Sb4)计算Sw^−1*Sb的最大的d个特征值和对应的d个特征向量(w1,w2,...wd),得到投影矩阵W5) 对样本集中的每一个样本.
2020-08-06 17:10:43
697
原创 Keras实现VGG
VGG的网络结构如图,16和19的网络结构的差异是每个layer的卷积核的数目、卷积的次数不同。代码如下,这里使用了mnist数据集训练,注意每次maxpooling后,图像的分辨率是减半的,所以4次pooling之后,分辨率就是1了,第五次maxpooling就会出错。所以maxpooling之后,可以zeropadding一下;或者直接取消第五次pooling。# from keras.models importfrom keras.layers import *from ker...
2020-07-28 10:35:16
672
原创 LeetCode Binary Search专题
50.Pow(x, n)题目链接:https://leetcode.com/problems/powx-n/class Solution(object): def myPow(self, x, n): """ :type x: float :type n: int :rtype: float """ def pow2(t,n): if n==1: ..
2020-07-24 18:33:00
171
原创 LeetCode排序类专题
215.Kth Largest Element in an Array题目链接:https://leetcode.com/problems/kth-largest-element-in-an-array/题目思路是利用快排找到pivot,如果k刚好是pivot,就返回;如果pivot<k,就到右边去找;如果pivot>k,就到左边去找。class Solution(object): def findKthLargest(self, nums, k): "".
2020-07-18 14:35:22
169
原创 LeetCode BFS/DFS
BFS/DFS专题目录695.Max Area of Island695.Max Area of Island题目链接:https://leetcode.com/problems/max-area-of-island/利用队列实现BFS,当队列不为空时,出列一个位置,对该位置的四个相邻位置,判断是否已经访问过,值是否为1,若都满足,则放入队列,并设置状态为已访问。import Queueclass Solution(object): def maxAreaOfIsla..
2020-07-12 17:08:11
188
原创 在docker上部署深度学习模型对图像进行预测
(gpu) E:\tmp\tfserving\ur_seg\00000123>saved_model_cli show --dir . --allMetaGraphDef with tag-set: 'serve' contains the following SignatureDefs:signature_def['serving_default']: The given SavedModel SignatureDef contains the following i...
2020-06-27 15:49:00
1760
4
原创 利用docker的TensorFlow serving镜像部署深度学习模型
所在位置 行:1 字符: 208+ ... s/half_plus_three -e MODEL_NAME=half_plus_two -t tensorflow/serving &+ ~不允许使用与号(&)。& 运算符是为将来使用而保留的;请用双引号将与号引起来("&"),以将其作为字符串的一部分传递。 + C...
2020-06-23 10:00:56
1893
原创 Python socket实现客户端和服务器端传输图片
使用python在网络上传送图片数据,需要以byte格式读取图片,这样才可以通过socket传输。服务器端代码如下,当客户端连上服务器,服务器首先把图片数据的尺寸传输过去,然后再传输图片。# serverimport socket # 导入 socket 模块import base64s = socket.socket() # 创建 socket 对象host = socket.gethostname() # 获取本地主机名port = 1
2020-06-19 17:47:40
3342
1
原创 Python实现kd树
参考链接:https://www.cnblogs.com/pinard/p/6061661.html?utm_source=itdadao&utm_medium=referralKD树建树采用的是从m个样本的n维特征中,分别计算n个特征的取值的方差,用方差最大的第k维特征nknk来作为根节点。对于这个特征,我们选择特征nknk的取值的中位数nkvnkv对应的样本作为划分点,对于所有第k维特征的取值小于nkvnkv的样本,我们划入左子树,对于第k维特征的取值大于等于nkvnkv的样本,我们划入右.
2020-06-17 10:57:22
2336
原创 Keras plot_model GraphViz’s executables not found报错解决方案
Keras里搭建好网络之后,使用keras.utils.plot_model绘制模型结构的图像,但是出现了以下问题:OSError: `pydot` failed to call GraphViz.Please install GraphViz (https://www.graphviz.org/) and ensure that its executables are in the $PATH.解决方法:目录安装graphvis修改vis_utils.py添加代码,修改环...
2020-06-13 11:26:02
376
原创 Keras实现U-net
U-net论文地址:https://arxiv.org/pdf/1505.04597v1.pdfU-net的网络结构如图import tensorflow as tffrom keras.layers import *import numpy as npimport kerasfrom keras.models import *from keras.optimizers import *def unet(pretrained_weight=None, input_size=(.
2020-06-13 10:30:42
812
原创 Python读取pcd点云文件
关于Kinect采集点云数据,可以参考https://blog.csdn.net/qq_35565669/article/details/106627639因为Kinect的使用是用C++,而当对点云数据进行处理时,使用Python比较方便。pcd文件其实就是一个txt文件,里面存储了点云信息,包括点云的数目,点云的类型(是pointxyz还是pointxyzrgb),还有点云的宽度和高度。这里使用的点云文件存储的点是pointxyzrgb类型,每个点存储了xyz坐标信息,还有rgba信息。可以看到
2020-06-11 14:27:59
16260
5
原创 C++环境下Kinect采集图像和PCL点云数据
事先需要先编译好Kinect和PCL的库先用Kinect获取视野里camerSpace的三维坐标点和colorSpace的rgb图像,因为这两个数据都是depthFrame map过去的,所以这两组点可以看做是一一对应的,把三维坐标和颜色结合就能得到点云的pointxyzrgb数据了。CMakeLists.txt文件如下:# cmake needs this linecmake_minimum_required(VERSION 3.1)# Enable C++11set(CMAKE_
2020-06-08 20:24:46
2888
6
原创 python-OpenCV寻找角点findChessBoardCorners
DIY一个python画棋盘格的代码(改colors的顺序,可以改变黑白颜色出现的次序)def draw_chessboard(row, col, size): img = np.zeros([(row+1)*size, (col+1)*size]) colors = [0, 255] for i in range(row+1): for j in range(col+1): img[i*size:(i+1)*size, j*size:.
2020-06-07 20:45:36
9410
原创 Keras实现一个简单的线性回归
这里x,y的关系是y=2x+3因为输入的x是1维的数字,输出的y也是1维的,所以dense层的输出维度为1,总共的参数为(1+1)*1=2个,分别是w和bimport numpy as npfrom keras.models import *from keras.layers import *import matplotlib.pyplot as pltx_train = np.linspace(-1, 1, 200)y_train = 2 * x_train + np.rand...
2020-06-07 10:23:31
272
原创 PCA方法Python代码实现
关于PCA方法的原理这里就不介绍了,网络上很多文章写得都很好,这里给出以三维点集的PCA为例,在python里实现PCA方法。PCA方法的主要步骤是:数据中心化 计算协方差矩阵 根据协方差矩阵计算出特征值和特征向量python代码如下def pca(x): # Data matrix X, assumes 0-centered # print x.shape n, m = x.shape x = x - np.mean(x, axis=0) # #
2020-06-06 17:22:24
1978
原创 anaconda下TensorFlow和keras兼容问题
在一台新电脑上第一次跑深度学习训练的时候,出现了Process finished with exit code -1073740940 (0xC0000374)问题发生在搭建网络的部分,这时网络甚至都没编译,可能是TensorFlow和keras的兼容性出了问题。关于keras和TensorFlow的版本对应,可以查看这个链接:https://docs.floydhub.com/guides/environments/因为我电脑上的TensorFlow和keras是pip安装的,使用con
2020-05-26 15:21:22
283
原创 LeetCode刷题:Tree专题
112.Path Sumclass Solution(object): def hasPathSum(self, root, sum): """ :type root: TreeNode :type sum: int :rtype: bool """ de...
2020-04-04 21:56:32
610
原创 LeetCode刷题:Linked List专题
328.Odd Even Linked List目录328.Odd Even Linked List要注意的是需要奇偶同步遍历链表,如果分开遍历的话,会出现不同步的问题。而同步遍历,可能会存在最后一个odd节点没有被遍历到,最后判断一下就好了。class Solution(object): def oddEvenList(self, head): ...
2020-04-04 21:56:02
129
原创 LeetCode刷题:动态规划专题
10.Regular Expression Matching目录10.Regular Expression Matching70.Climbing Stairs72.Edit Distance322.Coin Change这个问题主要是正则规则的理解,多submit几次就懂了【滑稽】。需要关注的判断条件是s[i],p[j]是否相等,p[j+1]是否为‘*...
2020-03-31 15:25:53
222
原创 一个不易注意的python列表浅拷贝问题
这里分享一个不容易遇到的python浅拷贝问题a=[[0]*2]*2print(a) #[[0, 0], [0, 0]]a[0][0]+=1print(a) #[[1, 0], [1, 0]]上面的代码其实是浅拷贝,改成下面的形式更容易理解一些b=[0]*2a=[b]*2b[0]+=1print(a) #[[1, 0], [1, 0]]程序给[0]...
2020-03-28 20:07:24
170
原创 Intel SGX程序编写
1 背景知识当程序在enclave里和enclave外切换时,会发生上下文切换、保存CPU状态,参考https://eprint.iacr.org/2016/086.pdf,因此会有一定的开销。enclave内被视为是可信的,enclave外被视为是不可信的。从enclave外调用enclave内的程序为ECALL,从enclave里调用enclave外的程序为OCALL,https://dow...
2019-08-19 20:50:27
2275
原创 Ubuntu18.04下Intel SGX开发环境搭建
1.准备工作1.1 查看硬件SGX支持首先应该确认计算机CPU是否支持SGX,此处有两种方法:https://ark.intel.com/content/www/us/en/ark.html#@PanelLabel12213 为Intel提供硬件信息的官方网址,输入电脑CPU型号,查看是否有SGX支持。根据https://github.com/ayeks/SGX-hardware/blo...
2019-08-18 17:27:08
8287
12
原创 计蒜客/阿里的新游戏
阿里九游开放平台近日上架了一款新的益智类游戏——成三棋。成三棋是我国非常古老的一个双人棋类游戏,其棋盘如下图所示: 成三棋的棋盘上有很多条线段,只能在线段交叉点上放入棋子。我们可以用坐标系来描述棋盘: 如果一条线段上的三个交叉点都被同一玩家的棋子占据的话,则称这条线段被该玩家 成三。现在,小红和小明两人在游戏平台上下棋,其中小红的棋子是黑色的。请你帮小红计算他成三的线段数。样例对应...
2018-03-03 20:14:11
672
原创 在cmd命令行里进入和退出Python程序
进入:直接输入python即可,如图所示退出:1:输入exit(),回车2:输入quit(),回车3:输入ctrl+z,回车
2018-01-23 09:55:00
59613
4
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人