Stay Hungry, Stay Young. 👋
– Marshall Liu
程序员的基本修养之代码编译 | 代码编译过程介绍,避坑指南,一些常用代码查看工具使用介绍 预处理 1.预处理的作用 宏替换: 替换 #define 定义的宏。 1 2 3 4 #define PI 3.14159 double circle_area(double radius) { return PI * radius * radius; // 替换后:3.14159 * radius * radius } 头文件包含 替换 #include 指令为头文件的内容。 ...
本文记录在mac mini m2 pro上搭建tensorflow gpu版本的过程,中间因为一些坑,导致环境搭建过程有点反复,希望对有相同需求的同学有帮助。...
什么是算子融合 算子融合是一种通过合并计算图中多个算子到一个算子,达到减少计算量和内存访问的优化方法。 Conv + BatchNormalization + ReLu融合 从融合后的最终公式可以看出,可以在初始阶段就通过BN的均值和方差(推理阶段BN的均值和方差是常量)更新Conv层的weights和bias参数,这样融合后的算子相当少了一个BN层的操作,既减少了内存访问,也减少了计算量 ...
Android中几种sdkVersion的区别 最近遇到一个由于升级了targetSdkVersion而引起的线上crash,之前一直对于Android里面几个sdkVersion的含义和作用很模糊,正好这次把这几个不同的sdkVersion理清楚。 ...
分析综合滤波器组的作用 由于音频信号在不同的频率范围具有不同的特性,因此在音频处理之前通常都会使用分析综合滤波器组将音频信号分成不同的频率子带,再分别进行处理。比如,音频编码中常用到的子带编码(Subband coding);webrtc的VAD中,会对不同的频率子带计算特征,再综合这些特征计算语音概率。 ...