- 博客(169)
- 资源 (8)
- 收藏
- 关注
原创 使用tensorrt加速深度学习模型推断
此博客介绍如何将resnet101模型在CIFAR100数据集的分类任务,使用tensorrt部署。完整代码如下。
2023-12-03 18:40:36 522
原创 KL散度 JS散度 熵 互信息
KL(P∥Q)=∑xp(x)logp(x)q(x)=−∑xp(x)logq(x)p(x)KL(P∥Q)=x∑p(x)logq(x)p(x)=−x∑p(x)logp(x)q(x)其中p,qp,qp,q是两个概率分布,KL散度可用来衡量两个分布之间的差异。KL散度满足非负性,即KL(P∥Q)≥0。...
2022-07-28 18:22:15 636
原创 降维及可视化
降维及可视化1.PCA2.T-SNE3.Unimap4.phate5.seaborn参考文献1.PCA2.T-SNE3.Unimap4.phate5.seaborn参考文献[1] seaborn之kdeplot
2022-07-28 18:18:17 1206
原创 小波变换第2讲:尺度函数与小波函数
Content1 尺度函数1.1 Harr尺度函数1.2 尺度函数的重要性质1.2.1 VjV_jVj空间的正交基1.2.2 嵌套子空间1.2.3 交空间和并空间1.2.4 尺度函数递归等式2 小波函数2.1 Harr小波函数参考文献前文Why wavelet?介绍了FT以及STFT在时频分析方面的缺陷,本文将介绍小波变换的主体部分。小波变换(WT)方面的不同书籍,涉及到的一些定义不尽相同,对理解小波造成了一些困扰。本文主要参考的是冈萨雷斯 数字图像处理 第3版第7章的有关内容。本文中的尺度函
2021-08-25 16:53:01 12301
原创 小波变换第1讲:Why wavelet?
Content1 傅里叶变换(FT)2 短时傅里叶变换(STFT)2.1 窗函数如何选2.2 窗口大小的问题参考文献这部分主要是结合对参考1:The Wavelet Tutorial一书中Part 1和Part 2内容的理解,做一个简单地小结,顺带致敬。另外,知乎:形象易懂讲解算法I——小波变换这部分也做得不错。PCA是从空间维度进行正交变换分解及重构;而傅里叶变换FT是以复指数函数(三角正弦/余弦)为正交基的的正交变换,通过FT,可以方便地看到信号中隐藏的频率成分。那么为什么还需要小波?情况是这样的
2021-08-19 19:34:11 1300
原创 聊一聊Normalization
聊一聊pytorch的BN module1.BN简介1.1 关于Internal Covariate Shift1.2 BN公式2.BN transform计算3.BN 各系数(μ、Var等)的计算及更新过程3.1 running_mean(μ值)的更新3.2 running_var(var值)的更新3.3 其他参数(γ、β)的更新4.来自大拿的实现参考文献BN1块在深度学习中可以说是经常用的一个工具,但是对其细节学深学透,还真的是需要钻研下。1.BN简介1.1 关于Internal Covariat
2021-05-18 17:55:50 806 2
原创 人工智能训练过程中的进度条(python)
人工智能模型训练过程中的进度条(python)1.基于print的进度条1.1 基础介绍1.2 代码举例2.使用sys.stdout.write进行打印2.1 一般情况2.2 存在多个sys.stdout.write的情况2.2.1 不符合预期的打印结果2.2.2 一般性的解决方法参考文献1.基于print的进度条1.1 基础介绍这里使用了转义字符\r,其目的是下次打印时从本行开头进行打印。如果print里设置end='',则不会换行,这时下次打印会对上次结果进行覆盖。如果print里设置end=
2020-12-11 10:58:23 4041
原创 一文GET python图片及文件的读写操作
python文件的读取、保存操作1.图片的操作1.1 图片的读取1.1.1 cv2读取图片1.1.2 cv2保存为图片2.保存结果至txt参考文献1.图片的操作1.1 图片的读取1.1.1 cv2读取图片cv2.imread(filename[, flags])以读取一张tif图片为例:img="D:\\***.tif"data2=cv2.imread(img,2)opencv 官方文献中给出的不同flags代表的读取类型,如下:filename – Name of file t
2020-11-24 16:51:38 4644 1
原创 matplotlib画图示例
使用matplotlib.pyplot将几个子图画在一幅图中1. matplotlib.pyplot(plt)程序2. 结果参考1. matplotlib.pyplot(plt)程序各二维子图的值均为np.random.random产生的随机数。import numpy as npimport matplotlib.pyplot as pltimport os fig, axs = plt.subplots(nrows=2, ncols=2, figsize=(8, 8)) for i i
2020-09-11 09:23:28 1421 1
原创 一文GET Kmeans、DBSCAN、GMM、谱聚类Spectral clustering 算法
聚类常用方法学习1.DBSCAN2.高斯混合模型(GMM)与EM算法的推导参考文献1.DBSCAN下面网址提供了很好的演示。https://www.naftaliharris.com/blog/visualizing-dbscan-clustering/2.高斯混合模型(GMM)与EM算法的推导具体推导过程可见李航老师《统计学习方法》9.3节。算法实现可参考:https://github.com/chenwj1989/MLSP/tree/master/gmm以3个高斯混合分模型为例:参考文
2020-07-16 14:42:40 1291 1
原创 pytorch 常用loss函数整理篇(一)
loss函数大全参考文件平均绝对误差(MAE)/L1 Loss当torch.nn.L1Loss的参数reduction选择’sum’时即为L1 loss;当选择 ‘mean’ /'none’时,即为MAE。KaTeX parse error: Can't use function '\]' in math mode at position 74: …_i^p} \right|} \̲]̲............
2020-05-04 13:13:12 7586
原创 一文看懂variant convolutions
一文看懂普通卷积、反转卷积以及空洞卷积convolution、 transform convolution、dilated convolution首先是普通卷积新的改变我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:全新的界面设计 ,将会带来全新的写作体验;在创作中心设置你喜爱的代码高亮样式,...............
2019-12-17 10:23:09 3420 1
原创 cuda加速:memory coalescing,Bank Conflicts
实际的共享内存由32个bank组成,warp由32个线程组成。这里仅用4个bank(A、B、C、D)以及4个thread来进行说明。参考【1】中给出的定义:一个warp中,thread 0到thread 31访问连续的内存空间,则这些线程的访问被合并为一次访问。下图两种情况均能保证一个thread访问不同的bank,不会造成bank conflict。不同的线程访问同一个bank,会导致串行访问,这称之为bank conflict。
2024-02-22 18:20:54 373
原创 混合精度训练
下图是使用FP32训练Multibox SSD detector network时梯度的直方图。当这些数据用FP16进行表示时,很大一部分FP32表示时的非零值,就会变成0。这将会导致一些权重无法实现更新,进而导致模型不收敛。为了防止FP16表示时很多梯度数据为0的问题,就需要使用 loss scaling。下图灰色曲线代表不使用loss scaling,进行混合精度训练时不收敛。中的一张图,来说明 loss scaling的必要性。
2024-02-22 18:19:02 443
原创 c++ class总结
在父类中对某成员函数不进行实现,而放在子类中具体实现,就要用到纯虚函数。静态成员变量不专属于某一个类对象,可以通过类或者类对象进行访问。当基类指针指向派生类对象时,调用时却使用了基类中相应的成员函数。除了将整个类都作为友元类,还可以定义将类的函数作为其他类的友元。const修饰的成员函数中,成员变量通常来说不能进行修改。静态成员函数也是相似的,可以通过类或者类对象进行访问。类进行实例化后,通过其对象不能访问类的私有属性和函数。另外,子类对应的成员函数定义时,也可加上。中public属性的成员及成员函数。
2024-01-24 09:39:30 613
原创 Jetson nano 系列之8—jetson nano的PWM驱动
本博客介绍了使用jetson nano及PCA9685芯片,实现舵机的PWM控制。
2023-12-16 15:43:57 1226
原创 shell脚本入门
中的内容:循环打印该文档中的内容:2.if语句参考文献[1] Shell循环语句详解–for循环[2] [shell脚本报错:“[: =: unary operator expected“解决办法(https://blog.csdn.net/weixin_42891455/article/details/121339338)
2023-11-02 12:42:05 77
原创 Jetson nano 系列之7—jetson 通过rtp将视频发给远程host
本博客介绍了将jetson nano csi摄像头的视频通过rtp发给其他主机(这里是一台windows笔记本)。
2023-10-15 11:44:39 620
原创 使用opencv及FFmpeg编辑视频
我使用的是第一个压缩包。剪切到自定义位置,并设置好系统路径。在这之前音频文件要准备好。此时保存的视频没有声音。其中一个视频为背景。
2023-10-07 00:23:03 1363
原创 [cuda 技术总结1] 第一次调用 cuda 库函数 耗时很长
在cuda编程中,发现调用cuda文件总耗时一百多ms,而纯kernel计算时间才3ms。时间都去哪了?查资料,trouble shooting,最后才发现这多出来的时间,就是第一次调用cuda api的时间:隐式cuda初始化,加载上下文…2.Linux下将驱动加载的默认模式改成“持久保存”
2023-07-14 14:16:00 869
Spectral Representations of Natural Images
2022-10-19
GCN的pytorch实现
2022-10-08
small_object_detection
2021-11-10
YOLO_V4模型可视化.zip
2021-05-08
mnist_kd.ipynb
2021-04-27
faster_rcnn.vsd
2021-04-10
使用resnet FCN训练VOC2007 数据集语义分割
2020-12-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人