- 博客(79)
- 资源 (5)
- 收藏
- 关注
原创 ffmpeg 切割音频文件,各种格式(wav, flac, mp3, m4a等)
ffmpeg切分m4a音频的方法,绕过ffmpeg引擎不支持m4a编码的问题。
2024-03-17 17:18:29
2492
1
原创 pthread.h中的函数
参考pthrad.h中的函数以及man手册,列举了pthread库中的工具函数并做了分类。pthread库中的重点当然是thread、mutex和condition。此外,pthread提供了读写锁、自旋锁的实现,以及控制多线程启动的pthread_barrier和线程全局变量(thread_local)的实现。帮助我们快速开发多线程的访问控制。
2023-04-03 14:17:01
648
原创 C/C++常用数据类型的转换
(如:浮点数在机内用指数型式表示,分解为:数符,尾数,指数符,指数四部分记录最高的有效位,当整数的有效位数超过浮点数的尾数时,有可能会舍弃一部分精度)在这种情况下,unsigned int 将超越 long int,因为它可以保存更高的值。总结:位数不同的转换采用补零和舍弃的方式,有无符号的转换本质是二进制不变的转换,整型浮点型的转换是舍弃小数,保留整数位的转换。但是有符号数和无符号数的最高位表示不同,所以负数转为无符号 = 2^32 - 负数的绝对值。有符号数,符号位不变,多了裁剪高位,少了高位补零。
2023-03-03 16:11:43
800
原创 torchaudio的I/O函数
torchaudio如何加载保存音频、查看音频信息遇到保存为flac格式,报错flac does not support encoding怎么解决torchaudio IO函数的backbone
2023-03-02 18:50:41
2117
原创 统计二进制中比特1的个数
这样从后往前,依次将1置为0同时result+1,最终n为0时,得出result表示共有多少个1。通过这种方式计算非常快,最差时间复杂度为o(n),且仅有减法和与操作这种简单的操作。正数可以得到正确的比特1的数量,负数得到的是。
2023-02-19 19:38:32
720
原创 通过位运算快速获得二进制前i位为0或1的掩码
所以想要获得前i位为0的二进制掩码,需要将1左移sizeof(T)*8 - i。因此,左移i位后i位为1,前sizeof(T)-i位为0。在前i位置0的基础上。
2023-02-16 16:54:01
249
原创 unix网络编程(四) 线程池并发服务器
问题2解决思路就是利用回调机制,我们同样可以借助结构体的方式,对任务进行封装,比如任务的数据和任务处理回调都封装在结构体上,这样线程池的工作线程拿到任务的同时,也知道该如何执行了。创建线程时需要给出入口函数thrRun,该函数的核心功能是从任务队列取任务执行,执行结束再取任务,循环上述步骤。线程池是一个抽象概念,可以简单的认为若干线程在一起运行,线程不退出,等待有任务处理。核心功能:向任务队列添加任务,并通知因任务队列空而阻塞的线程。2.线程池上的线程如何能够执行不同的请求任务?
2022-12-11 20:59:55
615
原创 unix网络编程(四)epoll反应堆
epoll_wait()返回cfd—>cfd回调senddata()—>将cfd摘下来监听读事件—>…epoll_wait()返回cfd—>cfd回调recvdata()—>将cfd摘下来监听写事件—>lfd满足accept—>返回cfd---->read()读数据—>write()给客户端回应。有客户端连接上来—>lfd调用acceptconn()—>将cfd挂载到红黑树上监听其读事件—>有监听fd事件发送—>返回监听满足数组—>判断返回数组元素—>,其中有具体的epoll和epoll反应堆模型的分析。
2022-11-21 11:29:20
373
原创 unix网络编程(三) 两种模式下的epoll服务端
Edge Triggered (ET) 边缘触发只有数据到来才触发,不管缓存区中是否还有数据。Level Triggered (LT) 水平触发只要有数据都会触发。LT模式是默认的工作模式,在这种模式下epoll相当于一个效率较高的poll。
2022-11-14 15:49:28
753
原创 unix网络编程(二) select实现tcp的sever端
(select)初始化fd_set ===> select监听fd_set ===> fd_set中未变化的位置置零(0)依据fd_set中剩余的有变化的位置(1) ===> 判断是监听套接字还是已连接的套接字。select 即是采用轮询内核的方式,获知哪些连接发送或接受消息了。(start)监听套接字:创建绑定监听。select 最大监听1024个连接。
2022-11-04 18:02:30
611
原创 unix网络编程(一) 封装常用的socket函数
sever端socket连接的流程:创建socket ====> 绑定ip和端口 ====> 监听listen ====> 接受连接accept。由于上述流程是通用的,过程中还有大量的错误判断和网络字节序的转换,因此封装成一些函数方便调用。其中accpet易受信号中断和软件中断,使用goto语句,在中断时再次accept。
2022-11-04 12:20:29
369
原创 makedown文字上色技巧
makedown是开发者常用的编辑器,其特点是以代码的风格组织页面,深受开发者欢迎。然而makedown本身不支持为文字添加颜色高亮显示,初学者面对这种需求时可能会无从下手。这里提供两种为文字添加颜色高亮的方法,仅供参考,欢迎指导交流。
2022-09-14 16:13:50
947
原创 arcface的前世今生
ArcFace/InsightFace(弧度)是伦敦帝国理工学院邓建康等在2018.01发表,在SphereFace基础上改进了对特征向量归一化和加性角度间隔,提高了类间可分性同时加强类内紧度和类间差异。论文链接:ArcFace: Additive Angular Margin Loss for Deep Face RecognitionLFW上99.83%,YTF上98.02%作为基于 softmax 改进的损失函数,arcface loss 的出现不是一簇而就的,在 arcface loss 之前有大
2022-07-08 11:04:50
4862
1
原创 torch中的替换操作
目录1.1通过比较操作得到布尔矩阵1.2布尔矩阵作为索引1.3布尔矩阵的强转1.通过比较替换1.1通过比较操作得到布尔矩阵a = torch.rand((5, 6), dtype=torch.float32)print(a)print(a > 0.5)-----------------------------------------------------------------------------------------tensor([[0.7172, 0.0.
2022-05-31 12:16:05
2633
原创 torchaudio频谱特征提取
torchaudio频谱特征提取1.读取和保存音频2.提取特征2.1短时傅里叶变换2.2pytorch复数值的变换和使用2.3Spectrogram的逆变换1.读取和保存音频再torchaudio中,加载和保存音频的API 是 load 和 saveimport torchaudiofrom IPython import displaydata, sample = torchaudio.load(r"E:\pycharm\data\2s数据集\test\audio\c6.flac")print(
2022-05-17 14:44:17
3987
4
原创 pytorch的梯度传递
pytorch的梯度传递1.requires_grad的传递1.1三种情况下的梯度传递1.2利用requires_grad=False冻结骨干网络1.3网络中的数据是记录梯度的1.requires_grad的传递requires_gard 是tensor的一个属性,requires_gard=False表示不记录梯度,requires_gard=True表示记录张量的梯度。每次的计算抽象为张量 A 与 B 做数学运算得到张量 C,C 是否记录梯度取决于 A 和 B的情况。1.1三种情况下的梯度传递
2022-05-11 16:35:42
1247
原创 随机梯度下降算法原理
目录1.算法目标2.算法描述3.算法推导4.注意1.算法目标逐渐逼近损失函数 loss 的极小值,简单抽象为求函数的极小值。2.算法描述每次取一个增量,使得,每次向函数值更小的地方前进一小步,多次迭代就能做到逐渐逼近函数的极小值。3.算法推导展开得到公式。其中H为海森矩阵,暂且不考虑。为使成立,只需要保证。即,当时,,如此即可保证每次更新在逐渐逼近函数的极小值。其中为学习率是一个较小的正数。每次更新时做 操作,求得的最小值。4.注意上..
2022-05-04 14:56:01
1775
原创 css+div(一)用 dl 列表实现导航卡片
动态的导航卡片1.html部分2.css部分2.1规划页面2.2设置菜单项的链接2.3设置 ul 列表和 li 列表项最终成果:1.html部分<div><dl> <dt><a href="#a">军事新闻</a><a href="#b">财经资讯</a><a href="#c">娱乐资讯</a></dt> <dd> <ul id="a">
2022-04-25 18:08:56
1225
原创 normalization对比
1.batch normalizationper channel across mini-batch对于四维张量[N, C, W, H],取每个批次的均值 torch.mean(dim=(0,2,3), keepdim=True)得到[1, C, 1, 1]形状的张量,即在批次的每个通道上求一个均值做归一化。2.layer normalizationper sample,per layer对于四维张量[N, C, W, H],取每个样本的每层的均值 torch.mean(dim=(1
2022-04-18 21:25:08
477
原创 Layer Normalization 中的不变性Invariance 分析
Layer Normalization 中的不变性Invariance 分析1.介绍2.计算2.1计算矩阵1.介绍引用文章引用2016年的Layer Normalization 这篇文章,总结文章中所提及的层归一化、批量归一化、权重归一化的不变性对比。原文链接:layer normalization计算公式The proposed layer normalization is related to batch normalization and weight normalization. Alt
2022-04-13 21:21:28
286
原创 Vue(一)组件
组件1.组件的使用步骤1.1创建组件1.2注册组件1.2.1全局注册1.2.2局部注册1.3使用组件标签1.4局部注册与全局注册2.单文件组件2.1单文件组件的结构2.2使用2.3单文件组件的优点1.组件的使用步骤1.1创建组件通过一个普通的 JavaScript 对象来定义组件。注意与创建App的差异,配置项中不能出现data: 和 el:选项,传递数据时使用 data( ){ } 函数。const ComponentA = { data() { return { count: 1 }
2022-04-03 12:46:22
2058
原创 Html(三)图像img
Html(三)图像img1.介绍1.1属性2.使用2.1基础使用2.2图片超链接2.3图像热区链接1.介绍在 HTML 中,图像由 标签定义。<img> 是空标签,意思是说,它只包含属性,并且没有闭合标签。1.1属性属性值描述alttext规定图像的替代文本srcURL规定显示图像的urlheightpixels%定义图像的高度ismapURL将图像定义为服务器端图像映射longdescURL指向包含长的图像描述文档的U
2022-03-23 16:39:49
1035
原创 Html(二)超链接
Html(二)超链接1.介绍1.1 属性2.使用2.1新窗口打开链接2.2锚点链接2.3外部链接1.介绍HTML使用标签 <a>来设置超文本链接。超链接可以是一个字,一个词,或者一组词,也可以是一幅图像,您可以点击这些内容来跳转到新的文档或者当前文档中的某个部分。当您把鼠标指针移动到网页中的某个链接上时,箭头会变为一只小手。在标签<a> 中使用了href属性来描述链接的地址。1.1 属性语法:<a herf="url">Link text</ a>
2022-03-23 16:01:58
725
原创 Html(一)元信息
Html(一)元信息1.介绍1.2属性2.使用2.1设置网页关键字 keywords2.2设置网页说明2.3添加作者信息2.4规定字符编码2.5定时跳转1.介绍meta标签描述了一些基本的元数据。<meta> 标签提供了元数据.元数据也不显示在页面上,但会被浏览器解析。META 元素通常用于指定网页的描述,关键词,文件的最后修改时间,作者,和其他元数据。元数据可以使用于浏览器(如何显示内容或重新加载页面),搜索引擎(关键词),或其他Web服务。<meta> 一般放置于
2022-03-23 15:18:22
490
原创 基于GAN的音频隐写术最优嵌入方法研究
目录1.1简介1.2训练算法1.3隐写算法1.3.1使用GAN的图像隐写引用文章:APPROACHING OPTIMAL EMBEDDING IN AUDIO STEGANOGRAPHY WITH GAN1.1简介该文实际是对STC方法的改进。使用GAN方法训练的得到一个生成器,该生成器根据载体音频 cover audio生成最佳嵌入概率图,该嵌入概率图的上的每个点反映了对应的载体点的嵌入程度。1.2训练算法在文中给出的训练算法,c = {ci} ∈ 表示载体, ...
2022-02-26 16:19:50
2654
1
原创 目标检测——paddleYOLOv3
1.导入包,配置参数import timeimport osimport paddleANCHORS = [10, 13, 16, 30, 33, 23, 30, 61, 62, 45, 59, 119, 116, 90, 156, 198, 373, 326]ANCHOR_MASKS = [[6, 7, 8], [3, 4, 5], [0, 1, 2]]IGNORE_THRESH = .7NUM_CLASSES = 7def get_lr(base_lr = 0.0001, .
2022-02-24 17:29:22
4465
1
原创 目标检测——数据集处理
1.数据处理1.1标号数据读取1.1.1数据集划分安全帽数据集共有5000张图片和5000个标注文件xml,每个xml文件对应一张图片,在提取数据集的标号前,首先应该划分数据集train、test、val各3750、625、625张,分别占全部数据集的1/4、1/8、1/8。# 数据预处理:5000张图片和5000个标注xml文件# 划分集合:train:3750, test:625, val:625import osimport shutilfilenames = os.list
2022-02-23 18:22:35
4302
商品价格预测的transformer模型优化
2023-10-03
TA创建的收藏夹 TA关注的收藏夹
TA关注的人