https://mp.weixin.qq.com/s/p_qdKcQwQ8y_JUw3gQUEnA
谷歌大脑用强化学习为移动设备量身定做最好最快的CNN模型
https://mp.weixin.qq.com/s/OyEIcS5o6kWUu2UzuWZi3g
这么Deep且又轻量的Network,实时目标检测
https://mp.weixin.qq.com/s/8NDOf_8qxMMpcuXIZGJCGg
Google又发大招:高效实时实现视频目标检测
https://mp.weixin.qq.com/s/IxVMMu_7UL5zFsDCcYfzYA
AutoML自动模型压缩再升级,MIT韩松团队利用强化学习全面超越手工调参
https://mp.weixin.qq.com/s/BMsvhXytSy2nWIsGOSOSBQ
自动生成高效DNN,适用于边缘设备的生成合成工具FermiNets
https://mp.weixin.qq.com/s/nEMvoiqImd0RxrskIH7c9A
仅17KB、一万个权重的微型风格迁移网络!
https://mp.weixin.qq.com/s/pc8fJx5StxnX9it2AVU5NA
基于手机系统的实时目标检测
https://mp.weixin.qq.com/s/6wzmyhIvUVeAN4Xjfhb1Yw
论文解读:Channel pruning for Accelerating Very Deep Neural Networks
https://mp.weixin.qq.com/s/-X7NYTzOzljzOaQL7_jOkw
惊呆了!速度高达15000fps的人脸检测算法!
https://mp.weixin.qq.com/s/Faej1LKqurtwEIreUVJ0cw
普林斯顿新算法自动生成高性能神经网络,同时超高效压缩
https://mp.weixin.qq.com/s/uK-HasmiavM3jv6hNRY11A
深度梯度压缩:降低分布式训练的通信带宽
https://mp.weixin.qq.com/s/MDbbGzDOGHk5TBgbu-oA
中大商汤等提出深度网络加速新方法,具有强大兼容能力
https://mp.weixin.qq.com/s/gbOmpP7XO1Hz_ld4iSEsrw
三星提出移动端神经网络模型加速框架DeepRebirth
https://mp.weixin.qq.com/s/rTFLiZ7DCo6vzD5O64UnMQ
阿里提出新神经网络算法,压缩掉最后一个比特
https://mp.weixin.qq.com/s/m9I5TM9uJcgZvMusO667OA
5MB的神经网络也高效,Facebook新压缩算法造福嵌入式设备
https://mp.weixin.qq.com/s/FFs0-ROvbXSAIOspW_rMbw
超越MobileNetV3!谷歌大脑提出MixNet轻量级网络
https://mp.weixin.qq.com/s/uXbLb5ITHOU0dZRSWNobVg
算力限制场景下的目标检测实战浅谈
https://mp.weixin.qq.com/s/DoeoPGnS88HQmxagKJWLlg
小米开源FALSR算法:快速精确轻量级的超分辨率模型
https://mp.weixin.qq.com/s/wT39oUWfrQK-dg7hGXRynQ
实时单人姿态估计,在自己手机上就能实现
https://mp.weixin.qq.com/s/RVsXUnAJ2f0Cby7BPaWifA
人物属性模型移动端实验记录
https://mp.weixin.qq.com/s/yCcK6UJqm850HON7xU3R6g
模型压缩重要方向-动态模型,如何对其长期深入
https://zhuanlan.zhihu.com/p/93020471
轻量型网络:IdleBlock
https://mp.weixin.qq.com/s/AjuTXFmxHYdUUqodSpP_4w
10倍加速!爱奇艺超分辨模型加速实践
https://mp.weixin.qq.com/s/rzv8VCAxBQi0HsUcnLqqUA
处理移动端传感器时序数据的深度学习框架:DeepSense
https://mp.weixin.qq.com/s/UYk3YQmFW7-44RUojUqfGg
上交大ICCV:精度保证下的新型深度网络压缩框架
https://mp.weixin.qq.com/s/ZuEi32ZBSjruvtyUimBgxQ
揭秘支付宝中的深度学习引擎:xNN
https://mp.weixin.qq.com/s/0KlnQ8UUxpyhBRdeo0EOAA
用于网络压缩的滤波器级别剪枝算法ThiNet
https://mp.weixin.qq.com/s/FvR6loJ8KUxm7qwclestcQ
专门为卷积神经网络设计的训练方法:RePr
https://mp.weixin.qq.com/s/67GSnZnJySFrCESvmwhO9A
论文解读Channel pruning for Accelerating Very Deep Neural Networks
https://mp.weixin.qq.com/s/Lkxc_9sbRY157sMWaD5c7g
视频分割在移动端的算法进展综述
https://mp.weixin.qq.com/s/ie2O5BPT-QxTRhK3S0Oa0Q
剪枝需有的放矢,快手&罗切斯特大学提出基于能耗建模的模型压缩
auto tuple = std::make_tuple(1, 'A', "test");
std::cout << std::get<0>(tuple) << std::endl;
std::cout << std::get<1>(tuple) << std::endl;
std::cout << std::get<2>(tuple) << std::endl;
可用tuple或pair返回多个返回值,然后用tie进行解包。这里的语法非常类似python。
std::pair<int, std::string> fun_tie(int a, std::string str)
{
return std::make_pair(a, str);
}
int a;
std::string str;
std::tie(a , str) = fun_tie(12, std::string("Pony Ma"));
std::cout << a << "," << str << std::endl;
inl文件是内联函数的源文件。内联函数通常在C++头文件中实现,但是当C++头文件中内联函数过多的情况下,我们想使头文件看起来简洁点,能不能像普通函数那样将内联函数声明和函数定义放在头文件和实现文件中呢?
当然答案是肯定的,具体做法将是:将内联函数的具体实现放在inl文件中,然后在该头文件末尾使用#include引入该inl文件。
参考:
https://www.cnblogs.com/findumars/p/4340936.html
C++中的INL
libc是C语言标准库的简称,它有多种实现。除了最常用的gcc自带的glibc之外,还有musl、uClibc、dietlibc等。
http://www.etalabs.net/compare_libcs.html
这个网址是以上4种libc实现的比较结果。从结果来看,musl比较有投资价值。实际上,最近(2015.5)的OpenWrt项目就已经将libc由uClibc改为musl。我也是因为这个原因,才知道musl的。
当然这个表并不完整,其他的libc可以参见:
https://en.wikipedia.org/wiki/C_standard_library
https://github.com/fffaraz/awesome-cpp
一个专门收集各种C/C++库的网页
https://github.com/gabime/spdlog
一个C++的log库
https://zhuanlan.zhihu.com/p/674073158
超详细!spdlog源码解析
这段代码用来在编译期根据“一堆长度”生成一个N维静态数组类型。
template<typename A, size_t... dims>
struct variadic_array;
// 告诉编译器:后面会有一个模板variadic_array,它接收一个类型A和任意数量的size_t类型的参数。此时没有定义,只做了声明。
template<typename A, size_t first_dim, size_t... rest_dims>
struct variadic_array<A, first_dim, rest_dims...> {
using type = typename variadic_array<A, rest_dims...>::type[first_dim];
};
// 当模板实参列表里至少有一个size_t时,这个版本被选中。它把第一个维度first_dim拿出来,然后递归到剩下的维度rest_dims...。
template<typename A>
struct variadic_array<A> {
using type = A;
};
// 当把所有维度都剥光后,只剩下类型A,递归停止。
template<typename A, size_t... dims>
using variadic_array_t = typename variadic_array<A, dims...>::type;
// 给整个元函数起一个别名,variadic_array_t<float, 3, 4, 5>等价于float[3][4][5]。
...只能出现在模板参数列表或函数参数列表里,声明一般为typename... Ts的形式,而使用则是Ts...。前者也被称为pack,后者则是unpack。
使用sizeof...(Ts)运算符可以得到pack的数量。
vector<bool>并不是一个通常意义上的vector容器,这个源自于历史遗留问题。 早在C++98的时候,就有vector< bool>这个类型了,但是因为当时为了考虑到节省空间的想法,所以vector<bool>里面不是一个Byte一个Byte储存的,它是一个bit一个bit储存的!
https://www.zhihu.com/question/23367698
c++中为什么不提倡使用vector<bool>?
struct Test {
int a;
int b;
char c[0];
};
Zero-length array不占用结构体的空间,但可以由编译器计算offset,例如上例中指向c的指针,实际上指向了整个结构体的尾部(不含结构体本身)。
C++已经有不少解释器:clang-repl,cling等。
https://zhuanlan.zhihu.com/p/23016264
这么多款STL,总有一款适合你
https://mp.weixin.qq.com/s/Hpn7KqYlBKz0JdryiozqyQ
每个开发者都应该了解的一些C++特性
https://www.cnblogs.com/wuchanming/p/3913492.html
emplace_back与push_back的区别
https://zhuanlan.zhihu.com/p/82895086
当我们谈论C++时,我们在谈论什么?
https://mp.weixin.qq.com/s/pxyTlQn4wx-N_MaWZc0oAQ
漫谈C++的各种检查
https://mp.weixin.qq.com/s/LchYGGcSbIMVGxO0Uea0RA
深入C++回调

您的打赏,是对我的鼓励