自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

菜狗的玄学修炼室

沉迷学习无法自拔!

  • 博客(29)
  • 收藏
  • 关注

原创 BLE Spec 链路层的传输包(Uncodeed PHYs) 梳理

本篇主要为梳理 BLE spec 中传输包的格式(因为有好几种包;另外,本文讲解只针对 Packets Format for the LE Uncoded PHYs,且本文仅梳理包的结构,故介绍中不会对其中的参数进行详细解释,需自行查阅 BLE spec_v5.0)

2023-09-02 23:38:11 134

原创 cstartup.s与boot.link的学习

在芯片的启动中,主要涉及cstartup.s与boot.link两个文件,简单的去看的话,就是,boot.link文件主要是为cstartup.s文件提供包括如各个段的起始地址、标识符等信息的(两个文件的具体交互过程我就不懂了,涉及到编译器的链接规则啥的,且每家编译器的链接规则都有区别),而cstartup.s则是程序启动前要执行的代码。另外,由于telink的b91芯片是基于risc-v架构搭建的,因此,启动代码中的一些指令与ram的还是有些区别的。其中,size表示为对应段的大小,即len;

2023-08-22 09:48:13 163

原创 生产者消费者 && 哲学家就餐

生产者消费者 && 哲学家就餐

2022-08-28 09:49:39 188

原创 基于相机的危险物报警监测

基于相机的危险物报警监测

2022-08-28 09:04:19 158 1

原创 H264编码

本文是我在对H264编码格式学习完后的一个记录总结,大多讲的都是一些值得注意或很常遇到的点。如果文中内容有误,还望在评论中提出,我会及时更正,感谢!

2022-08-12 17:08:49 369

原创 图像的YUV表示

我们通常会认为图像都是RGB格式的,但在实际的使用过程中,YUV格式的图像会更常见一些。相比RGB格式(红 - 绿 - 蓝)的图像而言,它只需要占用极少的带宽,能够节约不少的存储空间。因此,一般的视频采集芯片输出的码流是 YUV 格式的数据流.........

2022-08-08 14:48:24 218

原创 Makefile

本文是我在对Makefile学习完后的一个记录总结,大多讲的都是一些值得注意或很常遇到的点,具体详细的Makefile操作在我这里是看不到的,这种网上有很多,建议大家积极Google。

2022-08-02 14:25:15 364

原创 Vim

本文是我在对vim学习完后的一个记录总结,大多讲的都是一些值得注意或很常遇到的点,具体详细的vim指令等在我这里是看不到的,这种网上有很多,建议大家积极Google。如果文中内容有误,还望在评论中提出,我会及时更正,感谢!...............

2022-07-20 08:42:25 163

原创 Shell

本文是我在对Shell学习完后的一个记录总结,大多讲的都是一些值得注意或很常遇到的点,具体详细的Shell指令、参数等文档在我这里是看不到的,这种网上有很多,建议大家积极Google。如果文中内容有误,还望在评论中提出,我会及时更正,感谢!............

2022-07-19 14:22:14 1341

原创 知识点练习对话辅助器(简易版)

八股文练习对话辅助器(简易版)一、概述在专业面试的时候经常会有人(比如说我自己=_=)八股文(知识点)理解的很好,且在平时中也能够比较清晰的讲述出来。但是到了面试的时候,在面试官的注视下,经常会因为紧张啥的造成忘词,头脑一片空白的情况,最终导致了面试的体验不是很好。因此,基于这种问题的考虑,我就在想,能不能自己整一个虚拟的面试官来模拟面试,减少面试紧张等情况的出现。当然了,目前是有类似的公司来专门做AI面试的开发的,但是那得花钱啊,对于我们这群囊中羞涩的年轻人来说性价比确实不是太高。因此,我打算自己试试

2022-04-28 03:00:00 1198

原创 C++学习记录 五:KMP算法

KMP个人解析

2022-02-07 17:38:00 760

原创 keras-yolo部署 - 权重转换(h5 ->tflite) (2.0版)

本来我tensorflow1.13转换tflite还能转换的,但是后面我们对模型改造了一下,代码突然就抽风了,直接说当前版本不支持’流‘(Switch、Merge…)等等问题,我顿时懵了。后面看了GitHub大佬们的交流,发现如果想用tensorflow1.0版本去转换也不是不行,就是很麻烦,对于我这种懒人来说肯定是对这种麻烦事表示抗拒的(其实改的时候还容易报出一连串未知错误,浪费时间),最终,我索性创了个tensorflow2.0版本的环境,专门用来转换模型。环境如下:python 3.6.2te

2022-01-06 15:26:18 1601 10

原创 keras-yolo部署 - 权重转换(h5->pd->tflite) (偶尔会抽风报错,看2.0版)

一、前言前段时间基于某个项目的需求,需要将自己魔改的yolo框架部署到单片机上(由于是第一次部署,真是一波三折啊~~),其中的一个环节便是要将keras训练好保存的h5文件转换成tflite(我h5保存的是weights)。接下来,我将就这一环节详细说明下,让各位少踩点坑(因为各类包的版本问题,还是有不少坑的)。首先说明下我使用的库的版本(对于模型转换主要关注下keras和tensorflow的版本就行了)python - 3.6.12keras - 2.2.4tensorflow - 1.13

2021-12-29 16:05:24 1477

原创 C++学习记录 四:基本内置类型 & 变量

1.当一个算术表达式中既有无符号数又有int值时,那个int值就会转换成无符号数例如:unsigned u = 10;int i = -42;std::cout << u + i << std::endl;2.当赋给无符号类型一个超出它表示范围的值时,结果是初始值对无符号类型表示数值总数取模后的余数例如:unsignedchar(8位)可以表示0~255区间的值,但如果我们赋了一个区间外的值,比如-1,则实际的结果是该值对256取模后所得的余数,因此,-1赋给u

2021-09-30 20:59:33 110

原创 C++学习记录 三:cin / cout(iostream)缓冲buffer的刷新机制

cin和cout

2021-09-26 10:46:56 1483 3

原创 C++学习记录 二:scanf、printf与cin、cout

scanf、printf与cin、cout都是C++中用于打印输出的函数,常见的区别在网上都能查到,今天所要记录的是:为什么C++中cin和cout相对于scanf和printf运行速度慢呢?答: 原来这是因为C++中,cin、cout为与stdio保持同步,从而导致cin、cout语句输入输出缓慢,并不是所谓的在C++中cin或cout的速度不如scanf、printf,这个锅他们不背好吧(·—·)那么,我们该如何提高cin、cout的运行速度呢?或者说解放它俩的速度?答: 其实,C++有相应的函

2021-09-25 14:34:53 642

原创 C++学习记录 一:main函数

C++学习系列记录所用教材为C++ Premer(第5版),有需要的可以配合着书来进行学习main函数目前看来有两个比较重要的注意点:一、main函数的返回类型必须为int型,即整数类型(第3页后半段) 以前写成 void main()的形式没有报错,以为是可以这样写的,但是现在才发现void作为main函数的返回类型并不是遵循C++的标准,也就是说其实这种写法是无迹可寻的。那么,为什么这样写没有报错呢?原来这与编译器有关,在一些编译器中,这种写法是不会报错的,也就是说这种写法不是说对,只是编译器没有

2021-09-24 16:10:18 190

原创 目标检测 - YOLOv1

YOLOv1目标检测一、 算法介绍YOLO是一个可以一次性预测多个bbox位置和类别的卷积神经网络,能够实现端到端的目标检测和识别,其最大的优势就是速度快。事实上,目标检测的本质就是回归,因此一个实现回归功能的CNN并不需要复杂的设计过程。YOLO没有选择滑动窗口或提取proposal的方式训练网络,而是直接选用整幅图片来训练模型。这样做的好处在于可以更好的区分目标和背景区域。二、 原理实现2.1 网络设计YOLOv1的网络结构主要是借鉴了GoogLeNet网络,该网络包括了24个卷积层,2个全链

2021-07-10 19:13:58 773

原创 基于SOM算法的Iris数据分类

自组织特征映射神经网络SOM(Self-Organizing Feature Map)是一种无监督学习算法,不同于一般神经网络基于损失函数的优化训练,SOM是运用竞争学习策略来逐步优化网络的。SOM算法作为一种优良的聚类工具,具有无需监督,能自动对输入模式进行聚类的优点,目前已经得到了广泛的应用。本文利用SOM算法,最终实现了对Iris数据集的分类。一、 算法介绍1.1 SOM算法自组织映射神经网络(self-organizing map,SOM)是20世纪80年代 ...

2021-06-28 21:10:45 3624

原创 基于python实现单目三维重建

客观世界的物体是三维的,而我们用摄像机获取的图像是二维的,但是我们可以通过二维图像感知目标的三维信息。三维重建技术是以一定的方式处理图像进而得到计算机能够识别的三维信息,由此对目标进行分析。而单目三维重建则是根据单个摄像头的运动来模拟双目视觉,从而获得物体在空间中的三维视觉信息,其中,单目即指单个摄像头。...

2021-06-28 16:01:36 12683 42

原创 利用Q-learning解决Cliff-walking问题

在写的过程中参考了大量其他人所写的算法教程,因为看太多了,我也不太记得参考过谁的了,在此统一感谢了!格式排版有点难整,和word不太一样,大家将就的看吧。。。

2021-06-24 16:38:26 4455 1

原创 GroupNormalization

在前面的文章中我讲到了keras下BN层的一些使用问题,那么为什么我们要使用BN层呢?一、GroupNormalization的先辈 - BatchNormalizationBatch Normalization - “批归一化”,简称BN,是神经网络中一种特殊的层,如果batch_size为n,则在前向传播过程中,网络中每个节点都有n个输出,即对该层每个节点的这n个输出进行归一化再输出,具体相关计算如下所示:其tf的实现代码如下(这一部分为源码,大家可以选择性跳过):class BatchNor

2021-06-08 16:11:20 686 1

原创 Ransac拟合椭圆

一、Ransac算法介绍RANSAC(RAndom SAmple Consensus,随机采样一致)最早是由Fischler和Bolles在SRI上提出用来解决LDP(Location Determination Proble)问题的,该算法是从一组含有“外点”(outliers)的数据中正确估计数学模型参数的迭代算法。“外点”一般指的的数据中的噪声点,比如说匹配中的误匹配和估计曲线中的离群点。除去“外点”后剩下的数据点则为“内点”,即符合拟合模型的数据点。RANSAC算法的主要处理思想就是通过不断的迭代

2021-05-09 12:44:38 4252 1

原创 python-opencv部分函数使用

python-opencv部分函数使用记录opencv库版本 - 4.4.0.42安装指令:pip opencv-python4.4.0.42 / conda opencv-python4.4.0.42(记得换安装源)1.cv2.findContours简介:cv2.findContours()函数是用来检测物体轮廓的函数函数定义:def findContours(image, mode, method, contours=None, hierarchy=None, offset=None)i

2021-04-19 22:05:48 162

原创 个人深度学习keras环境配置介绍

因为我主要使用的是keras,所以我所要介绍的也是keras的环境,如果以后我转pytorch后再补充我的pytorch环境配置情况我的keras环境配置如下:cudatoolkit 10.0.130cudnn 7.6.5keras 2.2.4tensorflow-gpu 1.13.1python 3.6.1

2021-03-24 15:16:05 339

原创 Keras进度条显示

用过pycharm编keras代码的大兄弟们可能都知道,如果我们在训练模型时,一般是默认不断的换行输出,如这样子的:当然我们可以通过fit_generator函数中的verbose来进行输出的调节,当verbose=1时,输出的就是上面这种,每一个Step输出一次;当verbose=2时,每一个Epoch输出一次,输出如下:虽然verbose=2时是按照每一个Epoch输出一次,不会像每一个Step输出一次时那么乱但是,如果每一个Epoch输出一次的话,我们

2021-03-24 15:01:44 2344

原创 深度学习(进阶)- 毒丹师的一些炸炉心得

开始测试程序时,最好用Adam优化器,SGD优化器虽然到后期在参数调好的情况下会比Adam优化器效果好,但是SGD的速度慢,在初期验证是否程序能实现需求的时候,一般选Adam会好点,这样不至于速度过慢,收敛状态也不会太差。当batchsize增大时,一般也需要适当的增大学习率,但两者也不宜过大。具体调参情况,取决于你个人的经验积累和工程实践需求了。当你所跑的实验不对劲时,首先检测数据集的数据读入、处理、读出是否有误;然后检查你的代码是否有逻辑错误;接着

2021-03-19 10:02:49 206

原创 深度学习(入门篇)

深度学习入门篇很多刚开始接触深度学习的小伙伴们内心常常会非常纠结,深度学习是不是很难,没有机器学习基础是不是学不起来等等。但是,我今天要说的是,没有机器学习的基础也能直接上手深度学习!!!如果是放到以前的大环境下,跳过机器学习直接进行深度学习,那必然是非常困难的,毕竟以前各类的代码集成库都不多。但是随着时间的推移,深度学习各类的代码库在不断的增加,使得我们直接进行深度学习的愿望变成了可能。当然,这其中必然少不了前辈们的努力,正所谓前人栽树,后人乘凉嘛,哈哈。下面我将就我个人初涉深度学习时的情况来讲讲刚

2021-03-10 21:23:28 947

原创 BatchNormalization的相关注意点

学习记录贴(1)- 2021.3.10keras BatchNormalization今天重新学习了BatchNormalization,发现遗漏的小知识还是不少的,今天的学习主要是参考了这位大佬的一篇文章:keras BatchNormalization的坑(training参数和 momentum参数)根据了解,总结如下:batch,即每个epoch训练的样本数,最好不要小于100个,因为:使用权重滑动平均法时,若将衰减率momentum设置为0.99,最后moving_mean的值越约

2021-03-10 19:39:44 352

空空如也

空空如也

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

TA关注的人

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