北冥有鱼 记录生活点滴,分享学习心得

Paddle框架Op注册机制

宏展开调试技巧1 宏代码会在编译前全部展开,因此可以使用编译器(gcc)输出预处理结果。 gcc -E让编译器在预处理结束后停止,不进行后续的编译及链接操作。 gcc -P屏蔽编译器输出预处理结果的行标记 (如#line lineno "filename"),减少干扰。 由于输出结果没有格式化,可先传给clang-format --style=Google格式化后再输出。 ...

git常用功能总结

1. 首次配置git 1 2 3 4 5 6 7 8 9 10 11 # 为计算机上的每个仓库设置 Git 用户名,查看配置使用 git config --global user.name git config --global user.name "Mona Lisa" # 为计算机上的每个仓库设置电子邮件地址,查看配置使用 git config --global user.email ...

Docker容器/镜像备份命令

保存容器修改 1 2 sudo docker commit -a "paddle" -m "backup" d194406b113f paddlepaddle/paddle:latest-gpu-cuda10.0-cudnn7-dev # -a:修改者信息 -m:注释、说明 紧跟着当前操作的容器id 最后是要生成的新的镜像名称 保存镜像 1 sudo docker save -o p...

使用gdb调试并阅读TensorFlow源码

1. 环境准备 docker镜像: registry.baidubce.com/paddlepaddle/paddle:latest-dev-cuda11.4.1-cudnn8-gcc82 容器创建命令: 1 nvidia-docker run --ulimit core=-1 --cap-add SYS_ADMIN --security-opt seccomp=unco...

TF量化训练原理解析

1. TF量化训练概要 TensorFlow提供对量化训练(Quantization-aware training1)的支持,且主要是对Conv2D|MatMul|DepthwiseConv2dNative三类op做FakeQuant量化。除此之外,与上述三类Op相关(隶属于下文描述的某一pattern)的Relu|Relu6|Identity以及Add|AddV2等Op也会被FakeQua...

TF训练后量化原理解析

1. TF训练后量化概要 TensorFlow Lite支持对已训练好的模型进行训练后量化(Post-training quantization)。具体来说,TFLite支持对表1所列的38种Ops1进行训练后量化,这些Ops基本涵盖了当前的主流深度学习模型。 表1 TensorFlow Lite训练后量化所支持的Op种类 ADD ARG_MA...

C++11统一初始化

本文第一次编写于2017年11月26日,在深入理解C++11统一初始化后,于2022年5月3日进行完善。 统一初始化的用法 在C++11之前,我们多值填充初始化一个vector列表,需要书写如下的冗余代码: 1 2 3 4 5 6 7 vector<int> i; // populate the vector i.push_back(1); i.push_back...

C++11构造函数

defaulted函数和deleted函数

我们使用default关键字可以为函数指定一个默认的实现。这就是C++11中defaulted function的用法。在下面的例子中,person类没有写出其构造函数和析构函数,而是显式地强制编译器自动生成默认构造函数和析构函数。 1 2 3 4 5 class person { public: person(void) = default; virtual ~per...

C++11类型推导

auto、decltype和using

1. 介绍 C++11标准中,我们不需要指定变量的类型,编译器会自动完成这份工作。这篇短文简要介绍auto和decltype的用法。 2. auto和decltype的用法 我们可以将变量声明为auto类型,下面是一下简单数据类型变量的例子: 1 2 3 auto i = 10; auto ch = 'a'; auto f = 9.2f; 在我们在迭代STL的容器时,需要声明迭代...

Linux常用命令总结

常见压缩格式的解压与压缩 常见压缩格式以及它们对应的解压方法介绍如下1: 1 2 3 4 .tar 解包:tar xvf FileName.tar 打包:tar cvf FileName.tar DirName (注:tar是打包,不是压缩!) 1 2 3 4 .gz 解压1:gunzip FileName.gz 解压2:gzip -d FileName.gz 压缩:gzip Fi...