之前因为考虑不得当,没有采用分支的方法管理同一个工程。在github上建立了多个仓库,强迫症发作了,想合并这些仓库到同一个git中,并保留所有的git记录。具体来说,假设我们有如下几个仓库:
- OldA:要合并的仓库A
- OldB:要合并的仓库B
- C:将OldA和OldB两个仓库合并到该git中
具体操作过程如下:
1 | mkdir C |
接着合并其余仓库,如OldB
之前因为考虑不得当,没有采用分支的方法管理同一个工程。在github上建立了多个仓库,强迫症发作了,想合并这些仓库到同一个git中,并保留所有的git记录。具体来说,假设我们有如下几个仓库:
具体操作过程如下:
1 | mkdir C |
接着合并其余仓库,如OldB
Vim大概有如下几个版本:vim、vim-athena、vim-gnome、vim-gtk、vim-gtk3、vim-noxvim-tiny。它们中有编译进最小功能的 Vim 包(vim-tiny),有较全功能的文本界面 Vim 包(vim-nox),有适用于老的 X-Window 界面的版本(vim-athena),有适用于 KDE 环境的 GTK2 版本(vim-gtk),等等。
对于Ubuntu而言,一般情况下sudo apt install vim-gtk3
即可。在 Ubuntu 上,vim 和 gvim 都是指向同一个应用程序的符号链接,且 gvim
的执行效果和 vim -g
相同。所以要启动图像化界面的vim
,直接在终端执行gvim
即可。
另外,若使用远程软件连接到Linux机器上,需要注意远程终端软件的远程字符集(如 PuTTY 中的“Windows > Translation > Remote character set”)应当设置成 UTF-8。
然后,还可以安装中文版本的帮助文件:
dockerfile记载了从一个镜像创建另一个新镜像的步骤。撰写好Dockerfile文件之后,我们就可以轻而易举的使用docker build
命令来创建镜像了。Dockerfile 是一个文本文件,其内包含了一条条的指令(Instruction),每一条指令构建一层,因此每一条指令的内容,就是描述该层应当如何构建。有了 Dockerfile,当我们需要定制自己额外的需求时,只需在 Dockerfile 上添加或者修改指令,重新生成 image 即可,省去了敲命令的麻烦。
部分 | 命令 |
---|---|
基础镜像信息 | FROM |
维护者信息 | MAINTAINER |
镜像操作指令 | RUN、COPY、ADD、EXPOSE、WORKDIR、ONBUILD、USER、VOLUME等 |
容器启动时执行指令 | CMD、ENTRYPOINT |
下面主要列举出Dockerfile中比较常用的指令及其用法和说明,需要注意的是这些指令都是全部大写。
FROM
:最近快要面试了,再刷一遍剑指Offer,看大家分享刷LeetCode和剑指Offer的时候都是有模板的,如果按照随机顺序刷,很容易忘记而且不容易总结刷题思路。所以常常把一类题放到一块一起刷。
《剑指Offer》有如下优点:
缺点是:
本篇文章主要参考了TensorRT(5)-INT8校准原理,并添加了一些自己的见解。
现有的深度学习框架,如Pytorch、Tensorflow在训练一个深度神经网络时,往往都会使用 float 32(Full Precise ,简称FP32)的数据精度来表示,权值、偏置、激活值等。若一个网络很深的话,比如像VGG,ResNet这种,网络参数是极其多的,计算量就更多了(比如VGG 19.6 billion FLOPS, ResNet-152 11.3 billion FLOPS)。如果多的计算量,如果都采用FP32进行推理,对于嵌入式设备来说计算量是不能接受的。解决此问题主要有两种方案:
下面从经验上分析低精度推理的可行性。
狭义上的face localisation的定义是传统意义上的face detection。广义上的face localisation包括了face detection、face alignment、pixel-wise face parsing、3D dense correspondence regression。