![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
trick
Yemiekai
418504286@qq.com
展开
-
一种快速的幂运算方法(底数是自然数e,指数是浮点数)
问题 给一个浮点数 yyy,现在需要你求出 eye^yey 的值是多少。 最便捷的方法是用库函数,例如在C++中<math.h>头文件提供了exp()函数,但是速度不够快。 在深度学习(DeepLearning)中经常需要花费大量时间进行幂运算,典型场景是使用激活函数和计算概率分布的时候。例如在 SoftMax 层通常需要进行底数是 eee ,指数是浮点数的幂运算。 提高幂运算的速度能有效提高神经网络的推理速度。方法 参考文章《A Fast, Compact Approx原创 2020-09-07 13:02:45 · 4314 阅读 · 0 评论 -
几种内存遍历写法的效率比较
众所周知,要访问数组中某个变量,有几种方式:(1)用数组下标;(2)用指针;现在有一个很大的数组,要给它的元素逐个赋值(或者遍历),怎样遍历效率较快?看看下面demo: void test_accessMemory(){ double time[10]; int *memory = new int[7680*4320]; // 一幅8K图像 int *ptr = memory; int index = 0;原创 2020-09-04 19:27:47 · 845 阅读 · 0 评论 -
小技巧
1. 求余数要求A除以x余几,若x是2的n次方,则答案是:// c++代码int ans = A & (x-1);按位与的速度很快。举个例子:A = 7,x = 4,答案是3。过程:// c++代码int A = 0b111; // 二进制表示, A为7int x = 0b100; // 二进制表示, x为3int ans = A & (x-1); ...原创 2020-07-30 20:04:06 · 132 阅读 · 0 评论