• Vim 基本命令

    注意,Vim 区分大小写。

    移动

    方向键移动

    • h 光标左移
    • l 光标右移
    • j 光标下移
    • k 光标上移

    单词移动

    • w (“word”) 光标向右移动一个单词
    • b (“back”) 光标向左移动一个单词
    • e (“end”) 移动光标到当前单词的最后一个字母

    行首行末移动

    类似正则表达式

    • ^ 移动光标到行首
    • $ 移动光标到行末

    屏幕位置移动

    • H (“high”) 移动光标到屏幕上端
    • M (“middle”) 移动光标到屏幕中端
    • L (“low”) 移动光标到屏幕下端

    页面滚动

    • Ctrl-f (“forward”) 向下翻页(整个屏幕)
    • Ctrl-d (“down”) 向下翻半页(半个屏幕)
    • Ctrl-b (“backward”) 向上翻页(整个屏幕)
    • Ctrl-u (“up”) 向上翻半页(半个屏幕)

    插入文本

    • a 在光标右侧插入文本
    • A 在行末插入文本
    • i 在光标左侧插入文本
    • I 在行首插入文本
    • o 在光标下插入新行
    • O 在光标上插入新行

    修改文本

    • cw 删除当前单词的光标右侧部分,进入编辑模式
    • cc 将当前行替换为空行,进入编辑模式
    • s 删除当前字母,进入编辑模式
    • r 替换当前字母,输入一个字母后自动返回命令模式

    撤销修改

    • u 撤销上次修改
    • U 撤销对当前行的所有修改
    • Ctrl-r 恢复上次修改

    删除文本

    删除字母

    • x 删除光标右侧字母
    • X 删除光标左侧字母

    删除单词

    • dw (“delete word”) 删除当前单词的光标右侧部分 (cw 会进入编辑模式)
    • daw (“delete a word”) 删除光标所在的整个单词 (包括该单词后面的空格)
    • diw (“delete inside word”) 删除光标所在的整个单词 (不包括该单词后面的空格)

    删除行

    • dd 删除一行
    • dt<char> 删除当前行光标到指定字母 <char>

    参考

    • https://docs.oracle.com/cd/E19683-01/806-7612/editorvi-43/index.html
    • https://til.hashrocket.com/posts/fbfwnjxgtd-deleting-words-in-vim
  • Docker 基本命令

    下载镜像

    docker pull [OPTIONS] NAME[:TAG|@DIGEST]
    # eg:
    docker pull nvcr.io/nvidia/pytorch:20.06-py3
    

    启动镜像

    docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
    # eg:
    docker run --gpus all -ti -v /:/data --ipc=host -p 8000:8000 --name lufficc nvcr.io/nvidia/pytorch:20.03-py3
    
    • -it 交互模式运行
    • --rm 容器退出时自动删除此容器
    • -v 绑定磁盘,/:/data 即将容器下 /data 目录映射到主服务器的 / 目录
    • --ipc IPC mode
    • -p 映射端口
    • --name 容器名称

    启动容器

    docker start [OPTIONS] CONTAINER [CONTAINER...]
    # eg:
    docker start lufficc
    

    停止容器

    docker stop [OPTIONS] CONTAINER [CONTAINER...]
    # eg:
    docker stop lufficc
    

    显示所有容器

    docker container ls -a
    

    进入容器

    docker exec -it CONTAINER bash
    # 如果使用 zsh
    docker exec -it CONTAINER zsh
    

    删除容器

    docker rm CONTAINER
    

    删除镜像

    docker rmi IMAGE
    

    参考

  • SENet: Squeeze-and-Excitation Networks

    Squeeze-and-Excitation Networks 提出了 SENet,进一步提高了 ResNet 的表达能力。

    image.png

    对于由卷积神经网络(Convolutional Neural Networks)得到的特征图(Feature Map),其每一层通道(Channel)由上一个特征图所有通道经过卷积操作然后加权相加得到。不同通道由不同组独立的参数得到,这些参数在当前层并无直接交互,互不影响。

    且卷积操作是局部的,而 SENet 用全局的 Global pooling 操作计算权值,动态地调整了特征图不同通道之间的权值,给予了通道层与层之间直接交互的能力,提高了表达能力。

  • ResNet: Deep Residual Learning for Image Recognition

    Deep Residual Learning for Image Recognition 一文提出了残差连接,并以此为 building block 构建了 ResNet,大大提高了网络深度,在多项计算机视觉任务中取得最佳成绩。

    Read on →

  • Batch Norm, Layer Norm, Instance Norm, Group Norm

    Batch Normalization 从 2015 年被 Google 提出来之后,又诞生了很多 Normalization 方法,如 Layer Normalization, Instance Normalization, Group Normalization。 这些方法作用、效果各不相同,但却有着统一的内核和本质:计算输入数据在某些维度上的方差和均值,归一化,最后用可学习参数映射归一化后的特征。这可以统一表达为:

    Read on →