- 博客(19)
- 资源 (1)
- 收藏
- 关注
原创 如何构建一个以使用简单为核心目标的轻量级C++ JSON库
对于用户自定义的类,也能够很好的提供支持,只需要添加一个get_config函数即可,多个类可以互相嵌套混合(对于派生类也是支持的,详细可以见github的readme.mdint x = 1;//嵌套类,两个自定义类都是可序列化的,组合起来也是可序列化的//序列化node_list//反序列化到node_list2上去//然后再次序列化node_list2,查看结果是否正确运行这段代码将会得到如下的输出"nodes":["x":1,"y":[1.2,
2024-08-05 08:56:04 1039
原创 目标追踪中的卡尔曼滤波公式的推导总结
卡尔曼滤波是一种迭代的过程,它不断地交替进行预测和更新,以利用系统模型和传感器数据来估计系统状态。预测:根据上一时刻的状态估计和控制输入,预测当前时刻的状态和协方差更新:根据当前时刻的输出或者测量值,计算卡尔曼增益,并用它来修正预测状态和协方差,得到最佳状态估计本质:卡尔曼滤波就是利用传感器读数和状态预测来融合得到一个更加准确的状态估计,然后用这个状态估计来预测下一个状态。卡尔曼滤波的核心思想是利用两个高斯分布的乘积来得到一个方差更小的高斯分布,这个方差更小的高斯分布就是最佳状态估计的分布。
2023-05-26 20:41:36 1313 1
原创 Python如何借助Numpy将列表中的每个数字都保留两位有效数字
借用Numpy实现并行化的“保留N位有效数字”,相比于Python的for循环实现,可以实现7倍的速度提升
2022-11-24 09:44:02 2378
原创 C++实现任意自定义类型的反射、序列化与反序列化
CppJson轻量级C++对象序列化框架,同时支持部分运行时反射项目背景C++没有原生的反射与序列化,至少从语言层面来说是暂时不支持的很多时候是需要自己手动去写反射相关的代码自己实现方案很多,也有很多现成的库可以使用但是很多代码用起来都异常繁琐,包含各种模板以及宏,比如类似这样的Ubp.a:99 行实现 C++ 简单反射“全球最强” | C++ 动态反射库int main(){ Reflection<Point>::Instance() .Regist(
2021-11-15 13:30:58 2327
原创 Tensorflow1.15实现Transformer(一):使用self-attention来实现文本分类
要学会一个算法,最好的办法还是自己复现一遍这里也是对自己学习的过程做一个记录了o( ̄▽ ̄)ブTransformer介绍Transformer结构是google在17年的Attention Is All You Need论文中提出,在NLP的多个任务上取得了非常好的效果,可以说目前NLP发展都离不开transformer。最大特点是抛弃了传统的CNN和RNN,整个网络结构完全是由Attention机制组成。 由于其出色性能以及对下游任务的友好性或者说下游任务仅仅微调即可得到不错效果,在计算机视觉领域不断
2021-04-24 17:58:26 7072 8
原创 神经网络语义分割模型C++部署(VS2019+ONNXRuntime+OpenCV)
C++的API跑神经网络模型相比于Python可以得到数倍的提升同时类似TensorRT会提供非常多的模型优化,比如int8推理而且实际项目中一般考虑性能等各种因素也不会直接使用Python而是会选择C++或者Java等这次我在做项目中遇到了必须要用C++来做模型部署的问题,这里做个记录我这次选择了ONNXRuntime这个框架做CPU推理ONNXRuntime的GPU推理和TensorRT将在未来有空的时候进行跟进另外本来我是想直接用Tensorflow的C++api,但是坑爹的是windo
2021-04-21 13:10:47 11497 39
原创 如何用tensorflow实现一个CIFAR10分类准确率94%以上的网络(附完整代码)
之前的一些记录数据集读取的通用流程(梳理)用Tensorflow实现SE-ResNet(SENet ResNet ResNeXt VGG16)的数据输入,训练,预测的完整代码框架(cifar10准确率90%)balabalabala之前的代码感觉还是太乱了,我刚开始学的时候还是用的tensorflow1.2现在2.5都要出来了,就重新梳理了一下这次用了Tensorflow1.15,统一使用了tf.keras和tf.data接口代码看起来简洁了不少tf.keras的模型model是支持直接传入
2021-01-01 21:26:06 2712 8
原创 语义分割VOC2012数据集各个分类像素点的占比权重统计
VOC2012数据集存在各个类别不均衡的问题,类别数量差异达到几十倍采用交叉熵损失函数中我发现对于个别类别准确率很高(比如 人),但是对于个别类别几乎没有预测对原因就在于类别不平衡所以可以考虑采用Focal loss来训练(或者说带权交叉熵损失函数)多分类问题的Focal loss 的权重设置为 (1-class_weight)^γclass_weight为各个类别的占比,γ一般取值为2我做了一个统计,得到如下结果 [0.7411024 , 0.0060736 , 0.00261201,
2020-06-09 02:57:54 2793 3
原创 如何在tensorflow/keras上实现warmup学习率策略代码示例
Warmup策略Warmup为什么有效?这个问题目前还没有被充分证明,我们只能从直觉上和已有的一些论文[1,2,3]得到推测:有助于减缓模型在初始阶段对mini-batch的提前过拟合现象,保持分布的平稳有助于保持模型深层的稳定性可以认为,刚开始模型对数据的“分布”理解为零,或者是说“均匀分布”(当然这取决于你的初始化);在第一轮训练的时候,每个数据点对模型来说都是新的,模型会很快地进行数据分布修正,如果这时候学习率就很大,极有可能导致开始的时候就对该数据“过拟合”,后面要通过多轮训练才能拉回来,
2020-05-29 15:18:13 4518 7
原创 在语义分割中数据增强的正确打开方式(tf.data)
通过一系列的随即翻转随机旋转随机剪裁随机亮度调节随机对比度调节随机色相调节随机饱和度调节随机高斯噪声让数据集变得更强大!class Parse(object): ''' callable的类,返回一个进行数据解析和数据增强的仿函数 使用示例: def make_dataset(self,batch_size,output_shape,argumentation=False,buffer_size=4000,epochs=None,shuffle=True):
2020-05-13 16:07:19 868
原创 (梳理)用Tensorflow实现SE-ResNet(SENet ResNet ResNeXt VGG16)的数据输入,训练,预测的完整代码框架(cifar10准确率90%)
//之前的代码有问题,重发一遍这里做个整理,打算给一个ResNet的完整代码实现当然也包括ResNeXt和SENet其中SE-ResNeXt是最后一届ImageNet比赛的冠军模型当然可能我写得烂……参数没精调…准确率提升也不是很明显首先是数据处理部分,我自己实现过几个框架多线程数据读入和处理框架(tf.data)较早版本的队列多线程读入处理框架最普通的单线程(用法和自带MNIST...
2020-02-29 11:56:07 6388 65
原创 Tensorflow图像分类数据集读取处理和分批次的代码通用框架(tf.data APIs)
数据集有很多,但我希望能有一个通用的框架来一劳永逸不知道tf自己有没有,我似乎是没找到花了半天来写了一个看起来比较通用的框架,顺便加了点进度条和提示用语要求数据集的结构是一个文件夹内有train和test两个文件,内部每个类别一个文件夹,文件夹内是图片数据应该大部分都是这么结构把其他的遇到再说import tensorflow as tffrom PIL import Image ...
2020-02-23 14:07:31 868 3
原创 用几行代码将MNIST数据集图片提取并分类存放
#inputs dateimport osimport numpy as npimport matplotlibimport matplotlib.pyplot as pltimport tensorflow.examples.tutorials.mnist.input_data as input_datamnist_path="D:\\log\\MNIST"save_path="D...
2020-02-23 03:18:50 1074
原创 一个tensorflow多线程读入数据和数据增强的框架:
总是跑cifar10 mnist啥的,其他数据集还是跑一跑把闲着没事把数据读取部分重写了一遍代码比以前要更加通用一点考虑到大部分数据集都可以有一下的储存形式(我把cifar10图片也像这样分类了)写了一个较为通用的数据读取和预处理的class在处理之前会转化为TFRecord并放在TFRecord文件夹内,这个步骤会对图片resize(本地图片大小随意)图片统一mode为RGB...
2020-02-12 01:50:14 661
原创 tensorflow实现在cifar10上达到90+%的准确率的VGG16
不会keras,slim,TFlearn…所以自己写了一些函数接口来写目前测试在cifar10上训练的准确率至少为91%(由于时间有限,暂时没有做足够测试,只训练了30个epoch)我的实现中用全局平均池化代替第一层全连接层,第二三层全连接用1x1卷积来代替每组卷积之后添加BN层,并且卷积通道数量大致为原网络的1/4左右(训练真的太慢了……不相等)初始化使用Xavier方法训练时将cif...
2020-02-10 23:51:55 9153 7
原创 用全局平均池化和1x1卷积代替全连接层的AlexNet在Cifar10上实现86%的准确率
新人刚学神经网络没多久……还处于木工乱搞阶段啥都想搞来试一试重新实现了一下AlexNet,就当复习一遍了顺便在AlexNet基础上加上了很多其他技术BatchNormalization,label_smoothing,GlobalAveragePool,Warmup,ExponentialDecay当然还了解到一切其他的比如可分离卷积,不过不确定是否看懂了由于现在只能用几年前的笔记本跑...
2020-02-03 20:25:50 2538 2
原创 FRN归一化层(Tensorflow)实现
由Google发布,据说效果超越BN不过似乎没有找到什么测评之类的我也暂时没有认真测试,单从FRN结构来看计算量似乎比BN小,网络跑得比用BN快很多然后可学习的部分挺多的……(所有参数都是可学习的,不过eps也可以用定制1e-6)从最终模型测试集准确率上来看似乎没有BN层高,当然可能是我初始化参数的问题也可能是学习率问题,BN对学习率不怎么敏感,我很大胆的改到了0.1都能正常收敛回头调...
2020-02-02 01:44:53 1015
原创 Warmup学习率策略Tensorflow的实现:
def exponential_decay_with_warmup(warmup_step,learning_rate_base,global_step,learning_rate_step,learning_rate_decay,staircase=False): with tf.name_scope("exponential_decay_with_warmup"): line...
2020-01-29 05:38:00 2843 12
基于Pytorch的UNet语义分割模型与代码
2022-12-26
基于GFPGAN的超分辨率模型
2022-12-26
viabtc-exchange-server-docker-with-nginx
2022-10-25
基于CUDA并行计算的中文分词算法实现
2022-10-22
Cifar10数据集jpg图片分类打包.7z
2020-02-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人