自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(33)
  • 收藏
  • 关注

原创 使用KMP算法实现strstr()函数

strstr()函数是一个匹配函数,判断一个字符串是否包含另外一个字符串,并返回被包含字符串的起始位置。如果使用暴力匹配的话,时间复杂度非常高,最佳解法是使用KMP算法

2022-07-22 22:01:06 266 1

原创 将激光点云数据投影到二维图像及对三维点云上色

本次所用的数据是16线的激光点云数据和1080p的usb图像信息,内容涉及到标定,投影两个部分

2022-07-05 21:09:35 4915

原创 算法题位运算-数组中数字出现的次数

一个整型数组 nums 里除两个数字之外,其他数字都出现了两次。请写程序找出这两个只出现一次的数字。要求时间复杂度是O(n),空间复杂度是O(1)。

2022-06-30 11:56:51 276

原创 windows 和 ubuntu 或者 ubuntu 和ubuntu之间的SSH远程访问,和sftp文件传输

最近在一个项目上的需要对一个没有显示器的工控机进行访问和文件传输,把经历的过程记录一下。1、远程访问(windows使用cmd进行访问,使用的命令都是一样的)a、安装ssh远程访问的图形界面的话有点卡所以只访问字符界面,要使用ssh需要在ubuntu端安装服务器和客户端sudo apt-get install openssh-client sudo apt-get install openssh-serverb、访问字符界面首先打开ssh服务器sudo service ssh start

2021-10-19 22:32:32 417

原创 Ubuntu16.04安装iai_kinect2爬坑记录

Ubuntu16.04安装iai_kinect2爬坑记录安装iai_kinect2爬坑经共享1. iai_kinect2下载安装网上有很多的安装教程,将下载文件放入工作空间的src文件夹下。在src文件夹下打开终端输入命令git clone https://github.com/code-iai/iai_kinect2.gitcd iai_kinect2rosdep install -r --from-paths . cd ~/catkin_ws #进入自己的工作空间下catkin_make

2021-07-05 21:16:52 717 2

原创 ROS-Kinect安装时出现的rosdep init后不能rosdep update的问题。

ROS-Kinect安装时出现的rosdep init后不能rosdep update的问题。这段时间在搭建一台新电脑的ros环境时出现rosdep init 和rosdep update的问题,在这里把解决方法记录下来,一边参考。1、rosdep init的问题(1)Website may be dowm 错误ERROR: cannot download default sources list from:https://raw.githubusercontent.com/ros/rosdist

2021-03-19 11:50:47 682

原创 Tensorflow2.0学习笔记-RNN字母预测

字母预测循环计算过程输出abcde作为一个循环,根据输入的一个字母预测出下一个字母,例如a->b,e->a…,把abcde设置成12345的顺序,然后设置成独热码。上图中为本次循环计算过程。对应代码import numpy as npimport tensorflow as tffrom tensorflow.keras.layers import Dense, SimpleRNNimport matplotlib.pyplot as pltimport osinput_

2021-01-12 18:33:05 552 1

原创 Tensorflow2.0学习笔记-循环核

循环核1. 循环核介绍参数时间共享,循环层提取时间信息。2. 循环核按时间展开参数ht随着时间的变化而变化,输入数据x也随着变化而变化。训练优化的就是这些参数构成的矩阵,训练完成后,我们选择效果最好的模型,执行前向传播。3. 循环计算层向输出方向生长,循环核中记忆体的个数和参数可以自己设置。4. TF描述循环计算层tf.keras.layers.SimpleRNN(记忆体个数, activation = '激活函数', # 其中默认为

2021-01-12 16:01:15 439

原创 Tensorflow2.0学习笔记-神经网络典型结构

1. LeNetclass LeNet5(Model): def __init__(self): super(LeNet5, self).__init__() self.c1 = Conv2D(filters=6, kernel_size=(5, 5), activation='sigmoid') self.p1 = MaxPool2D(pool_size=(2, 2), strides=2)

2021-01-11 21:01:07 251

原创 Tensorflow2.0学习笔记-cifar10数据集操作

cifar图片数据训练Cifar10数据集:提供5万张32 * 32像素点的十分类彩色图片和标签,用于训练。提供1万张32 * 32像素点的十分类彩色图片和标签,用于训练。Cifar数据集是三通道的彩色图片所以我们在设置卷积核数量时,要设置正确。卷积核和个数代表着输出特征图的深度,代码如下:import tensorflow as tfimport osimport numpy as npfrom matplotlib import pyplot as pltfrom tensorflow

2021-01-11 17:14:59 445 1

原创 Tensorflow2.0学习笔记-神经网络卷积操作

之前的学习中,仅仅是两层神经网络就含有数十万个待训练参数,而参数数量过多很容易引起过拟合,导致测试结果不准确,所以我们可以采用卷积计算的方法对输入数据进行特征提取,再采取dropout的方式,降低过拟合。卷积传统的神经网络使用矩阵乘法来建立和输出的连接关系,每一个输出单元与每一个输入单元都产生交。然而。卷积网络具有稀疏交互(也叫稀疏连接或者稀疏权重)的特征。这是使核的大小远小于输入的大小来达到的。当我们处理一张图像时,输入的图像可能存在成千上万个像素点,但是我们可以通过只占用几十到上百个像素点的核来检测

2021-01-11 11:37:21 415

原创 Tensorflow2.0学习笔记-数字图片分类

数字图片分类使用我们之前使用mnsit训练的模型,对手写图片进行实际识别。本次课程中,需要使用model.predict() 函数,其中函数的输入参数为待测试图片特征,包括图片总数,宽,高。通过训练好的模型,预测我们输入图片的类别。由于训练时我们使用的是28 * 28的图片,所以在预测时,我们要将图片化为28 * 28的图片。代码如下:from PIL import Imageimport numpy as npimport tensorflow as tfmodel_save_path

2021-01-09 21:08:11 206

原创 Tensorflow2.0学习笔记-准确率和损失值的可视化

进行准确率和损失值的可视化,就是将acc和loss使用matplot画出来。我们在使用model.fit()函数进行训练时,同步记录了训练集和测试集的损失和准确率。可以使用history进行调用,如下:# 使用history将训练集和测试集的loss和acc调出来acc = history.history['sparse_categorical_accuracy'] # 训练集准确率val_acc = history.history['val_sparse_categorical_accuracy

2021-01-09 15:14:43 4761 2

原创 Tensorflow2.0学习笔记-提取可训练参数

参数的提取,把参数存入文本1. 参数打印输出。在实际训练过程中,我们可以将参数的训练通过文本进行记录,或者打印出来进行查看。其中model.trainable_variables可以返回模型中的参数。我们可以使用printf进行打印,但是直接使用打印可能为出现很多数据无法显示,我们可以先设置np.set_printoptions(threshold=10) # 其中threshold表示输出的阈值,超出阈值的参数会用省略号表示,

2021-01-09 14:55:30 3140 2

原创 Tensorflow2.0学习笔记-数据增强,断点续训

数据增强在小数据模型中,数据增强可以起到明显的效果,本次使用的是mnist数据集单靠准确率去证明数据增强的效果是不可行的,需要自己在实际运用中体会。import tensorflow as tffrom tensorflow.keras.preprocessing.image import ImageDataGeneratormnist = tf.keras.datasets.mnist(x_train, y_train), (x_test, y_test) = mnist.load_data(

2021-01-07 17:19:38 760

原创 Tensorflow2.0学习笔记-自制数据集及训练

自制数据集及应用本次使用mnist的图片做一个自制的数据集,其中在文件夹中存放需要用到的数据,包含了训练的60000张28 * 28的图片,和测试的10000张28 * 28图片。每个图片对应的有自己的标签。 直接上代码:import tensorflow as tffrom PIL import Imageimport numpy as npimport ostrain_path = './mnist_image_label/mnist_train_jpg_60000/' # 训练

2021-01-07 16:33:35 1489 1

原创 Tensorflow2.0学习笔记-mnist手写数据集训练

mnist手写数据集训练mnist数据集:  提供了6万张28 * 28像素点的0~9的手写数字图片,用于测试  提供了1万张28 * 28像素点的0~9的手写数字图片,用于测试导入mnist数据集:  mnist = tf.keras.datasets.mnist  (x_train, t_train), (x_test, y_test) = mnisti.load_data()作为输入特征,输入神经网络时,将数据拉直成了一维数组:  tf.keras.layers.Flatten()训

2021-01-02 16:43:01 436 2

原创 Tensorflow2.0学习笔记-使用API搭建神经网络

使用Tensorflow的API搭建神经网络1. 顺序搭建神经网络结构顺序搭建神经网络一般分为六步: (1)加载相关模块。(import) (2)指定训练集的输入特征和标签。(train,test) (3)搭建网络结构,逐层描述每层网络。(model = tf.keras.model.Sequential) (4)配置训练方法,包括优化器、损失函数和评测指标。(model.compile) (5)执行训练过程。(model.fit) (6)打印出网络结构和参数统计。 (model.summa

2021-01-02 15:03:19 345

原创 Tensorflow2.0学习笔记-神经网络参数优化器

神经网络参数优化神经网络中,很多的超参数难以设置,我们可以引入动量(momentum),通过算法来达到优化时间和准确率。1. 动量(momentum)常用的动量有一阶动量和二阶动量:   一阶动量m:与梯度相关的函数   二阶动量v:与梯度平方相关的函数w为参数,损失函数loss,dw为损失函数对w的倒数,学习率lr。其优化公式为:w=w−lr∗m/v{\rm{w = w - lr*m/}}\sqrt {\rm{v}} w=w−lr∗m/v​2. 随机梯度下降法(SGD)随机梯度下降

2020-12-29 22:12:22 369

原创 Tensorflow2.0学习笔记-正则化缓解过拟合

正则化缓解过拟合正则化在损失函数中引入复杂度指标,利用给W加权值,弱化了训练数据的噪声(一般不对b进行正则化)。正则化分为L1正则话和L2正则化,分别对应L1范数和L2范数。L1正则化:L1正则化会使很多的参数变为0,因此该方法可以通过稀疏参数,即减少参数数量,降低复杂度。L2正则化:L2正则化会使参数很接近零但是不为0,因此该方法可以通过减少参数值的大小降低复杂度。本次代码采用设计好的dot.csv数据集,其中包含x1,x2和y_c,我们先训练好神经网络结构,然后构思成一张图,找到y_c和x1,x

2020-12-29 20:12:52 709 1

原创 Tensorflow2.0学习笔记-损失函数

损失函数(loss)损失函数是使预测值y与已知答案y_的差距,神经网络的优化目标是让loss最小,主流的损失函数有3中计算方法:均方误差mse(Mean Squared Error),自定义函数,交叉熵。下面使用商品销量的例子进行代码运行。1.mse损失函数loss_mse = tf.reduce_mean(tf.square(y_ - y))例程代码:SEED = 23455 # 确定随机种子,使得每一次的随机数相同# 生成数据集rdm = np.random.RandomState(

2020-12-24 12:01:37 657

原创 Tensorflow2.0学习笔记-复杂度、学习率

一、神经网络的复杂度神经网络复杂度分为空间复杂度和时间复杂度空间复杂度:空间复杂度由层数,和待优化参数的个数进行表示。层数 = 隐藏层的层数 + 1个输出层总参数 = 总w + 总b上图中参数:3x4+4 + 4x2+2 = 26时间复杂度时间复杂度使用神经网络的运算次数进行表示。上图中3x4 + 4x2 =20二、学习率在使用中,我们可以使用指数衰减学习率来合理的设置学习率。我们可以先使用较大的学习率,快速得到最优解,然后使用指数衰减,逐渐减小学习率,使模型在训练后期稳定。指

2020-12-23 17:11:18 686 1

原创 Tensorflow2.0学习笔记-鸢尾花分类

使用简单的神经网络对鸢尾花分类,输入的数据为鸢尾花的花蕊长度、花蕊宽度、花瓣长度、花瓣宽度进行训练。绕后根据训练过后的权重和偏置进行测试,测试结果与鸢尾花的类别进行验证,查看准确率,具体代码如下:import tensorflow as tffrom sklearn import datasetsfrom matplotlib import pyplot as pltimport numpy as np# 导入数据,分别为输入特征和标签x_data = datasets.load_iris()

2020-12-23 14:29:08 263 1

原创 Tensorflow2.0学习笔记-数据集读入

鸢尾花数据集读入iris数据集中储存了鸢尾花花的,花萼长度宽度,花瓣长度宽度。以下函数加数据集中以链表形式存在的数据转换成表格进行输出。from sklearn import datasetsfrom pandas import DataFrameimport pandas as pdx_data = datasets.load_iris().data # .data返回iris数据集中的所有输入特征y_data = datasets.load_iris().target # .targe

2020-12-22 12:58:03 299

原创 Tensorflow2.0学习笔记-常用函数(二)

常用函数(二)enumerate枚举函数enumerate是python的内建函数,他可以遍历整个数组,组合为:索引,元素。常在for循环中使用。seq = ['one', 'two', 'there']for i, element in enumerate(seq): print(i, element)#输出结果0 one1 two2 thereone_hot独热码函数函数介绍:tf.one_hottf.onehot(indices ,#表示输入的数据

2020-12-22 12:02:26 137

原创 Tensorflow2.0学习笔记-常用函数(一)

常用函数使用数据类型转换函数# 定义一个张量a = tf.constant([[0, 1, 2], [3, 4, 5], [6, 7, 8]], dtype=tf.int64)# 强制转换类型函数b = tf.cast(a, tf.float32)# reduce_max查找张量中最大的数,axis=x表示对对应的行或者列求和# 本例中为二维张量,0对应的对列进行操作,1表示对行进行操作# 如果没有设置axis则表示在整个

2020-12-21 16:55:40 141

原创 Tensorflow2.0学习笔记-创建张量

创建张量使用constant创建张量# 使用constant函数创建张量# 其中[1,5]表示张量内容,dtype表示数据类型a = tf.constant([1, 5], dtype=tf.int32)# 输出a,a的数据类型,a的形状print(a)print(a.dtype)print(a.shape)# 输出结果tf.Tensor([1 5], shape=(2,), dtype=int32)<dtype: 'int32'>(2,)使用convert_to

2020-12-21 14:19:56 191

原创 在tensorflow2.0中使用tensorflow1.x的程序方法

在tensorflow2.0中使用tensorflow1.x的程序方法个人笔记:在tensorflow2.0中,使用低版本的tensorflow历程会出现错误提示。将对模块的调用修改。原调用方法:import tensorflow as tf修改后的调用方法:import tensorflow.compat.v1 as tftf.disable_v2_behavior成功调用...

2020-12-21 12:29:34 1641

原创 MathType7安装使用及please restart word to load mathtype addin properly的问题。

MathType7安装使用及please restart word to load mathtype addin properly的问题。最近在自己的电脑上安装Mathtype7,把遇到的问题和解决办法写下来,用作记录顺便参考。一、安装Mathtype71、下载Mathtype7Mathtype7可以去百度网盘进行下载。网盘下载地址。https://pan.baidu.com/s/1nP_5NlFRV1z0zQoGoW-_bg提取码:prq7提取文件,准备安装。2、安装Mathtype7

2020-11-24 12:16:58 39076 89

原创 Ubuntu16.04使用命令安装显卡驱动及双显卡切换至独显

Ubuntu16.04驱动安装及双显卡切换至独显最近发现电脑的处理速度有点跟不上,就去查看了一下ubuntu的驱动,结果发现自己的驱动是挂在集成显卡上面的,因为一开始自己手动下载过nvidia驱动,cuda,cudnn,然后发现其实一直都没用到独显卡驱动,因为读不到独显连tensorflow都是安装的cpu版本的。网上查了很久,最后重新安装驱动和tensorflow,现在能改正常使用独显了。各位可以在切换时用于参考。(GTX960M显卡)一、卸载、安装驱动1、禁用nouveau驱动输入下面这行代码没

2020-11-18 17:21:08 3750

原创 从百度文库上复制文字

从百度文库上复制文字首先要确定需要复制的文件文字可以选择,即为word文档。如果是PDF的建议使用截图加扫描文字。使用谷歌浏览器进行操作。操作步骤:1.打开百度文库打开自己需要使用的百度文库文件。这时不能复制选择文字2.打开浏览器设置这里是用的Ctrl+Shift+C,打开界面。点击右上角的设置按钮往下滑,可以看见debugger的选项将Disable JavaScript打上勾。再对内容进行复制,就会发现可以复制了。...

2020-10-19 21:41:14 1555 1

原创 ubuntu16.04上安装Anaconda3并搭建Tensorflow-gpu和spyder

ubuntu16.04上安装Anaconda3并搭建Tensorflow-gpu和spyder由于学习深度学习的需要,在这里做一个笔记为了方便以后配置环境。在这里我给自己的笔记本电脑上搭建一个GPU环境。电脑配置的显卡为GTX960M,cuda_9.0和cuda对应的cudnn版本。(一)安装Anaconda3(1)Anaconda3下载由于官网下载速度实在是慢到不行,所以这里使用清华的镜像源进行下载:Anaconda下载在这里选择需要的版本,不同版本的Anaconda对应不同的Python版本,

2020-10-05 15:34:11 402

原创 ubuntu16.04安装cuda9.0和cudnn对应版本教程

ubuntu16.04安装cuda9.0和cudnn对应版本教程为了学习过程中的环境需求,所以笔者需要搭建对应的学习环境。由于笔者接触ubuntu时间不长,所以在配置过程踩了很多的坑。在这里笔者把自己的经验给大家分享一下。本次教程是在ubuntu16.04系统和拥有nvidia显卡驱动的基础上进行的。笔者驱动版本450.57,能够满足cuda9.0需要。1.CUDA安装1)CUDA9.0下载CUDA系列的包可以直接去NVIDIA官网进行下载,而且下载速度也比较快。读者可以根据自己电脑驱动版本去下载

2020-10-05 13:23:45 1420

空空如也

空空如也

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

TA关注的人

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