自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

@司南牧|知乎|博客|易懂教程|李韬

他是华工机器人硕士,蓝桥杯重点本科组国奖获得者,知乎@司南牧 有百万级阅读量,专注初学者教程跨界机器人,人工智能,算法不再困难.

  • 博客(25)
  • 资源 (2)
  • 收藏
  • 关注

原创 【易懂教程】我是如何快速理解卡尔曼滤波Kalman Filter(KF)算法的(1)?

牛逼的算法往往都是来源于一个很简单的思想所演化而来,如果你不了解这个思想和演化过程那就谈不上了解那个牛逼的算法——@Ai酱直观理解首先卡尔曼滤波要解决的问题是什么?我以机器人估计自己离障碍物距离为例答:首先机器人已知“上个时刻机器人离障碍物距离”,“传感器测量的机器人离障碍物的距离(我们称它为观测值,比如雷达直接测量机器人离障碍物距离7m)”和“自己当前时刻的速度”这三个数据。而根据“上...

2019-08-01 14:50:54 3266 7

原创 pandas dataframe常见使用场景大总结

import pandas as pddata = pd.DataFrame([1,2,3,4],columns=['a', 'b', 'c','d'])

2019-08-30 15:45:55 937

原创 python读取matlab保存的点mat文件

Python下读取.mat文件import scipy.io as siodata= sio.loadmat('./nidewenjianming.mat') # 返回一个字典(dict)类型的数据

2019-08-30 15:32:33 307

原创 如何直观理解粒子滤波并进行Python编程实践

疯言疯语:如果你对一个算法有什么用都一无所知,那么学这个算法的难度那就增加了100倍。——知乎@Ai酱首先我们看看粒子滤波怎么用的。我以粒子滤波可以用来机器人自主定位为例。现在已知机器人脑子里面有某个商场的地图,然后它想知道自己到底在哪。注意:现在机器人已知商场地图,并且能看到周围长啥样,需要求机器人位于地图哪个位置(就像我们人自己在商场都经常迷路不知道自己在哪)。那么根据粒子滤波算法机器...

2019-08-28 17:17:20 3883 1

原创 分类交叉熵与二元交叉熵区别?Categorical Cross-Entropy Loss, Binary Cross-Entropy Loss

有时候你用交叉熵发现损失值很低但是识别效果就是不好这可能是因为你有多个分类但是却用二元交叉熵的原因。

2019-08-27 19:34:01 3487 1

原创 [易懂实例讲解]离散型贝叶斯滤波python编程代码实践

本文是从例子的角度来讲解贝叶斯滤波。如果你想看贝叶斯滤波的理论推导的话可以看这篇文章《我是如何十分钟理解与推导贝叶斯滤波(Bayes Filter)算法?》。不懂贝叶斯滤波理论也凭直觉可以看懂本文的例子和Python代码实践。例子的背景介绍假设有一个机器人它在困在一个管子里面了,只能前进或后退。管子的长度是20cm。机器人收到"前进"命令后有三种可能“有25%概率不执行,有50%概率前进1cm...

2019-08-27 16:25:53 4713 4

原创 易懂的机器人理论与实践(2): 机器人移动模型建模(Motion model)Python代码编程实现

**很多滤波算法(如贝叶斯滤波,卡尔曼滤波)需要根据机器人移动模型和测量值来融合估计机器人当前所在的位置**。**什么是滤波算法**?这里的滤波算法是指从有噪声的机器人位置数据中估计出机器真实位置。据移动模型可以依据控制命令对机器人现在所在位置和姿态进行估计,也就是说根据移动模型可以得到机器人位置和姿态的一个粗略估计值。**然后使用滤波算法将移动模型输出的这个粗略的机器人位姿估计值和传感器(如GPS,陀螺仪)实际测量值融合就可以得到精确的机器人位置和姿态的估计值**。那**什么是移动模型**,给定上一个机器

2019-08-26 15:42:30 7801 4

原创 技巧:python如何对某段代码运行时间计时

def test(): """test function""" # 你的代码....if __name__ == '__main__': import timeit print(timeit.timeit("test()") #输出test()这个代码运行时间

2019-08-24 21:11:33 1053

原创 机器人理论与实践(1): 差分模型差速驱动原理与python编程模拟 (控制模型建模)

差速驱动的原理就是:利用左轮和右轮的速度差异来旋转。它的控制命令是[左轮速度,右轮速度,持续时间]。本文要解决的问题是:在已知控制命令,和机器人当前时刻的位置,朝向;我们如何求得执行完控制命令后机器人的位置和朝向?博主先介绍了差速运动的轨迹与速度之间的联系,然后介绍如何求执行命令后机器人位置和朝向的理论,最后介绍了Python编程实践。差速驱动的轨迹与速...

2019-08-23 23:34:15 3810 5

原创 PyTorch代码识别手写数字

完整的PyTorch代码识别手写数字# -*- coding: utf-8 -*-import torchimport torchvisionfrom torchvision import datasets, transforms# 1. 加载MNIST手写数字数据集数据和标签transform = transforms.Compose( [transforms.ToTenso...

2019-08-20 19:24:33 229

原创 随机梯度下降与梯度下降的区别?

如果你还不了解梯度下降请参考:知乎@Ai酱:{高中生能看懂的}梯度下降是个啥?。随机梯度下降与梯度下降之间有什么区别?假设你已经懂了梯度下降的原理与公式。接下来我会举个例子来讲随机梯度下降与梯度下降的区别。假如损失(误差)函数对参数w的导数是x(wx−label)x(wx - label)x(wx−label),然后我们需要更新的参数是www,学习率是α\alphaα。现在有一堆数据(x1...

2019-08-18 17:54:19 4712

原创 对L1,L2正则化和dropout的理解

L1L2正则化L1,L2正则化目的是为了防止过拟合。为何会出现过拟合?答:权重过大。所以L1和L2正则化就是用来防止权重过大的。他们是怎么做的呢?很简单:我们优化参数都是通过最小化损失函数来优化,那么只要我通过某种策略把“防止权重过大”这个目的也加入到损失函数中就可以。L1正则化是这样做的:loss = 损失函数+权重的绝对值之和L2正则化是这样做的:loss = 损失函数+权重的平方和...

2019-08-16 13:37:44 772

原创 pytorch mode = sequential() 为何model(input)这样调用就直接执行了forward

pytorch mode = sequential() 为何model(input)这样调用就直接执行了forward这是因为它实现了__call__方法model(input)相当于调用了model.call(input)下面这个是__call__的源码 def __call__(self, *input, **kwargs): for hook in self._for...

2019-08-15 23:37:39 1729

原创 IEEE 期刊缩写大全列表

IEEE Periodicals Transactions/Journals Department 445 Hoes Lane Piscataway, NJ 08854 USA V 11.12.2018 © 2018 IEEE IEEE Journal Titles and Reference Abbreviations Title Reference Abbreviation Access, I...

2019-08-15 22:45:21 26403 3

原创 windows下如何使用kaggle命令行下载数据集?

我们在kaggle打比赛不可避免的需要下载数据集。而kaggle官方提供了命令行下载数据集。本文将介绍如何使用命令行下载kaggle数据集首先安装kaggle apipip install kaggle然后生成一个kaggle口令my Account->Create New API Token->下载kaggle.json到你的用户名目录下下载数据集kaggle命令行下载前...

2019-08-15 15:18:03 1897

原创 python如何将某个文件夹变成包?(Python为何无法导入某个文件夹下的函数/包/类)

在那个文件夹下增加一个__init__.py的文件就可以把它变成一个可以被导入的包

2019-08-15 14:54:33 10705 5

原创 python import导入包时前面加个点是什么意思?

python import导入包时前面加个点是什么意思?import .abc这个表示导入当前文件夹下的一个包(而不是导入其他文件夹的包)。

2019-08-15 14:52:54 8240 3

原创 Ubuntu下Python安装了依赖包后仍然找不到包 python setup.py install 解决方案

安装了依赖包后仍然报错Traceback (most recent call last): File "<stdin>", line 1, in <module> ImportError: No module named。Python直接用源码安装python setup.py install但是它只是本地安装,但是没有添加到python环境变量。需要执行下面这行代...

2019-08-14 10:49:23 7206 1

原创 Ubuntu/Linux下如何管理不同版本的python教程

Linux已经安装了python 2.7,在本教程中我们将它更新到3.6.0版本,你只需按照以下步骤操作即可: 安装pyenv curl -Lhttps://raw.githubusercontent.com/yyuu/pyenv-installer/master/bin/pyenv-installer| bash 在pyenv之前安装依赖项 sudo apt-get...

2019-08-13 20:23:51 324

原创 PyTorch代码识别手写数字并进行评估教程

PyTorch代码识别手写数字# -*- coding: utf-8 -*-import torchimport torchvisionfrom torchvision import datasets, transforms# 1. 加载MNIST手写数字数据集数据和标签transform = transforms.Compose( [transforms.ToTensor()...

2019-08-13 10:37:35 722

原创 我为何看到你的提问不想回答?关于如何提问的一些看法

在提问之前在你准备要通过电子邮件、新闻群组或者聊天室提出技术问题前,请先做到以下事情:尝试在你准备提问的论坛的旧文章中搜索答案。 尝试上网搜索以找到答案。 尝试阅读手册以找到答案。 尝试阅读常见问题文件(FAQ)以找到答案。 尝试自己检查或试验以找到答案 向你身边的强者朋友打听以找到答案。 如果你是程序开发者,请尝试阅读源代码以找到答案当你提出问题的时候,请先表明你已经...

2019-08-12 16:13:24 1313

原创 零基础一步一步pytorch实现Logistic regression逻辑回归编程教程

为什么我们需要了解Logistic regression逻辑斯蒂回归?因为神经网络的一个神经元就是Logistic regression逻辑斯蒂回归。Logistic regression(LR)逻辑斯蒂回归是什么?它就是套一个概率分布模型上去。什么是模型?模型就是一个函数比如:f(x)=ax+b。至于逻辑斯蒂回归套的那个概率分布模型是什么稍后再说,先说套概率分布模型上去有什么用?在前面提到...

2019-08-10 15:56:53 1233

原创 numpy与pytorch实现梯度下降,实现一个简单的两层神经网络

numpy 实现梯度下降参考教程:pytorch神经网络实践(1): 安装与初次使用pytorch搭建神经网络实践手写数字识别教程# -*- coding: utf-8 -*-"""让神经元学习到逻辑与这个规则@author: 李韬_varyshare"""# 先随便猜w1,w2,b是多少w1 = 0.666w2 = 0.333b = 0.233def train(): ...

2019-08-09 15:11:40 647

原创 pytorch神经网络实践(1): 安装与初次使用pytorch搭建个神经网络实践手写数字识别教程

安装pytorch如果有anoconda的话直接:conda install PyTorch -c PyTorch。(安装过程要等相当一段时间)然后为了方便可视化我们再安装下pytorch的可视化工具:pip install torchvisionpytorch使用...

2019-08-05 15:43:32 1065 1

原创 [易懂]FAST特征点提取与匹配算法教程Python实践

特征点提取与匹配在计算机视觉中是一个很重要的环节。比如人脸识别,目标跟踪,三维重建,等等都是先提取特征点然后匹配特征点最后执行后面的算法。因此学习特定点提取和匹配是计算机视觉中的基础。本文将介绍FAST特征点提取与匹配算法的原理,并使用Python不调用OpenCV包实现FAST特征点提取算法。特征点提取到底是提取的是什么?答:首先,提取的是角点,边缘。提取角点可以进行跟踪,提取边就可以...

2019-08-05 11:24:25 6110 1

驯服烂代码

Kent Beck、Martin Fowler、Michael C. Feathers、Robert C. Martin、Joshua Kerievsky、Gerard Meszaros等大师们的传世著作为如何提升编程技艺和代码质量提供了思想和原则上的指导,本书则为实践和融合这些思想、原则提供了过程和方法上指导。本书通过编程操练的方式讲述了如何用TDD(测试驱动开发)的方法来驯服烂代码,通过结对编程的对话形式展示了驯服烂代码的完整过程,将驯服烂代码所需要的思想、态度、习惯、方法和技艺完全融入编程操练实践中,是目前最具实践指导意义的驯服烂代码的著作。, 全书共20章,分为四个部分:第一部分(第1~10章)首先通过测试后行和测试先行两种方法完成了一个名为“码农酒店”(世界时钟)的编程操练题目,然后对这两种方法进行对比,引出了烂代码的概念,读者能非常直观看出哪一种方法更容易写出烂代码。第二部分(第11~15章)通过一个名为Trivia(答题闯关游戏)的经典编程操练题目详细讲述了驯服一段烂代码的过程,首先讲解了代码腐臭的识别和记录,然后讲解了如何通过一系列的重构来清除这些腐臭。第三部分(第16~18章)通过三个编程操练题目详述了编写真正的单元测试的过程,首先讲解了用提取接口的办法编写Stub来进行单元测试,以及用子类化并覆写方法的办法编写Mock来进行单元测试,然后讲解了如何将被测类与文件系统之间的这种不适用于单元测试的耦合,转化为被测类与字符串之间这种适合与单元测试的耦合。第四部分(第19~20章)总结了驯服烂代码的步骤及方法,首先讲解了TDD开发方法的一种实现:I-EPP-TR方法,该方法中的全面重构的概念对传统的重构概念进行了扩展,然后讨论了如何才能将前面所讨论的良好的编程方法形成习惯并固化下来。

2017-04-15

汇编编译器

汇编集成开发环境

2016-06-27

空空如也

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

TA关注的人

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