Vim Configuration 02 Nvim的插件配置

Vim Configuration 02 Nvim的插件配置

@Aikenhong 2021

Vim is a important consistant for editing file in shell. It’s Hightly Customized for Everyone, In this part I’ll Show my personal Vim comfigurations

And I’ll Discuss about the diff between Spacevim & Neovim.

Give a conclusion in advance: Recommand Config the Vim for Yourself

  • You only need to config once, then you should save it in the cloud.
  • You will Know all the Keyshot you setting up, and you can customize it as you want.

image-20211014192437083

Based on neovim

基于NeoVim进行配置,不采用SpaveVim的配置文件,这里需要建议采用最新的测试版的NeoVim(>= 0.5),Stable的NVim已经很久没有更新,对一些新的插件缺乏支持。

Install

Installing Neovim Download NeoVim Package and Install from source

or Install from neovim-ppa Like Following:

1
2
3
sudo add-apt-repository ppa:neovim-ppa/unstable
sudo apt-get update
sudo apt-get install neovim

Vim Configuration 01 vim的无插件基础设置

Vim Configuration 01 vim的无插件基础设置

该配置笔记于 20230521 重新整理。默认的 Vimrc 位置为 /usr/share/vim/vimrc,也可以在 vim 界面使用 :echo $MYVIMRC 查看当前的配置文件,默认使用的配置文件地址为 ~/.vimrc

参考文献地址:Good VimRC | Backspace | AutoCmd | VIM配置入门
配置文件地址:AikenDotfile,本文这里只介绍部分配置,一些过于常见的配置等等这里就不再介绍,在 dotfile 中对每行配置均有的细致的注释。

基于 VimScript) 该 blog 主要记录基础 vim 的配置文件编写,旨在使用基础 vim 的时候也能有一个较好的代码编辑体验,同时提供部分 keymap 集成一些简单的功能,方便文档编写时候的格式转换等。这个配置文件在后续配置 nvim 的时候部分配置也会沿用。

Vim 的基础配置

自动检测文件修改,以及对多个文件的 workspace 自动切换

1
2
3
" >>0-1 state detection.
set autoread " when file change outside, we will know
set autochdir " change workspace when we swtich file, when we open multi-file in one session.

鼠标和剪切板功能

设置 vim 对鼠标的支持,支持鼠标选择等

1
2
3
4
5
6
" reference the web get the best setting and use it always
" suppose the mouse operation
" but this function not work well in the weterm, we disable this part for work.
set mouse=a
"set selection=exclusive
"set selectmode=mouse,key

设置和系统同步的剪切板,WSL 下的剪切板设置可以参考下面文章 WSL2 clipboard not shared between Linux and Windows || Reddit - Dive into anything

1
2
3
4
5
6
7
8
9
10
11
12
" set the clipboard
set clipboard+=unnamed

" WSL yank support
let s:clip = '/mnt/c/WINDOWS/system32/clip.exe' " change this path according to your mount point
if executable(s:clip)
augroup WSLYank
autocmd!
autocmd TextYankPost * if v:event.operator ==# 'y' | call system(s:clip, @0) | endif
augroup END
endif

设置撤销历史记录

多次编辑同一个文件的时候保持 Undo 的历史记录,便于对同一个文件进行编辑。

1
2
3
4
" >>0-2 keep file history
set undofile " keep the undo history in file.
set undodir=~/.vim/.undo//
set history=1000

通过上述命令启用 undofile 的选项,并设置存储目录,这里需要注意的是,存储目录需要手动创建,undo 的历史记录才能生效。


StyleGAN

StyleGAN

StyleGAN V1

@AikenHong 2020 10.8

《A Style-Based Generator Architecture for Generative Adversarial Networks》

继承的文献工作: ProGAN
参考解读:

Contribution(Problem):

  1. 解纠缠:Mapping Network
  2. Noise Generator
  3. AdaIN before all conv

Structure:

image-20210930135938114

image-20210930161258031

Part1:AdaIN


YOLOv4

YOLOv4

@AikenHong 20200726

基于YOLO v4 掌握一些CV方面训练的Trick,同时针对Typora的使用进行一个熟悉掌握。GITHUB CODE

一些相关的参考资料

⚡️https://zhuanlan.zhihu.com/p/150127712

机器之心YOLOv4

⚡️https://www.zhihu.com/question/390191723/answer/1177584901

本文中一些其他的收获

• 其他可替代的Object Detection的SOTA算法有哪些

• BoS,BoF方法

• 简直是一个Tricks的综述

Abstract

本文对近期再CNN上的一些Feature方法进行了尝试组合,并实现了新的SOTA,其实就是一些通用的**Trick**的组合尝试,包括

• 加权残差连接(WRC)

• Cross-Stage-Partial-connection,CSP

• Cross mini-Batch Normalization,CmBN


OW Object Detector

OW Object Detector

@Aiken 2021

框架撞车系列,主要看看这一篇论文中怎么解决如下的问题👇,并从中借鉴和优化的我框架设计

思路分析

Motivation

模型实现的主要的两个TASK:

  1. Open Set Learning : 在没有明确监督的时候,将尚未引入的目标类别识别为未知
  2. Incremental Learning:类别增量学习

实现这两个问题的主要思路:

  • 自动标注:借鉴RPN的class-agnostic,以及检测和分类的显著性指标的差异,找到并自动标注NewClass
  • 对比聚类:使用prototype feature来进行聚类,同时计算Distance损失
    it seems like contain a unknown prototype.
  • energy based:亥姆霍兹自由能公式?

image-20210412171723896

ENERGY BASED


Attention Mechanism
EfficientNet

EfficientNet

Tags: Paper
URL1: https://arxiv.org/pdf/1905.11946.pdf
URL2: https://arxiv.org/pdf/2104.00298.pdf

提出了一种模型缩放策略,如何更高效的平衡网络的深度、宽度、和图片分辨率
**1. Efficient Net: Rethinking Model Scaling for Convolutional Neural Networks

  1. EfficientNetV2: Smaller Models and Faster Training**

@Aiken H 2021 find detail to code his

Efficient Net V1

除了提出了缩放策略以外,还使用神经架构搜索还建立了一个新的baseline network,得到了一系列模型。

平衡网络宽度、深度、分辨率至关重要,这种平衡可以通过简单的恒定比率缩放维度来实现,于是我们提出了一种简单有效的复合缩放方法。

https://raw.githubusercontent.com/AikenH/md-image/master/img/image-20210610180603496.png

复合缩放的物理意义:输入图像更大的话就需要更多层来增加感受野和更多通道,从而能在更大的图像上捕获更多细粒度的图案,而宽度和深度(对于表达能力来说很重要)之间也存在着一定的关系,“我们”是第一个对此进行了建模的。

从各个维度单独的进行缩放能发现都存在着增益瓶颈,如何去得到这么一个合适的等比缩放增益


Astar

Astar

A* 是一种在平面图形上计算最优路径的方法,通常用来做 2D 游戏的最短寻路,该算法是一种 Dijkstra 算法的变体,使用启发式的策略来提高算法的搜索效率。

wikipediamediumpythonf

基本思想

基于启发式的方法,基于BFS去做最短路径搜索,借助类似Manhattan距离作为启发,每次加入后续的多个点,然后按照后续点的属性去排序,不断的加入close的区间,直到第一次遍历到终点就是最短的路径。

f代表的是经过当前点,从起点到最终点的距离,g代表的是从起点到当前节点的距离,h代表的是启发式方法到终点的距离。

维护三个list:open(候选列表)、close(状态确定的列表)、children(等待操作的列表)

首先用 bfs 的方法,找到当前节点的可达后续节点,将这些节点加入 children,确定 child 不在 close_list 中后(即在 open 中)则判断哪个是最优解,然后更新 openlist 和 closelist 。

即:每次遍历的当前节点都从 open 中总距离最小的选,然后放入 close。直到 openlist 为空。


Docker Configuration00 Install on WSL2

Docker Configuration00 Install on WSL2

基于 WSL2 对于 Docker 的适配,本文介绍 Windows 下利用 WSL2 对 Docker 的安装和部署,对于 WSL2 的安装可以参考上篇文章: Windows Configuration01 WSL2 - AikenH Blogs

Install Docker on Windows

该部分主要介绍以下几内容:安装,存储盘迁移,连接 WSL2 发行版,完成了这几步之后就可以畅游 Docker 世界了。

前置:先安装好一个 WSL2 的发行版

首先,官网 Docker: 下载 Docker Desktop for windows,安装基于 WSL2 的 docker,安装完成后 Docker 的发行版和存储目录会默认存放在,该地址可以用来确认后续的迁移状态。

  • Docker-Desktop/data:%LOCALAPPDATA%/Docker/wsl
  • WSL2:%LOCALAPPDATA%/packages/c......./local_state

Colab 使用的问题记录

Colab 使用的问题记录

@Aiken 2020

在使用Google Colab的时候会有一些常见的使用错误,然后我们记录一些常见的错误的解决方案,方便后续使用。

INDEX:

  • 命令行参数的输入问题

  • tensorboard的执行方法

    1
    2
    3
    # 在colab中写的时候要把前面的符号也写上
    %load_ext tensorboard
    %tensorboard --logdir './runs'
  • command命令的使用:包括库安装和卸载之类的。
    主要就是在命令前+!

    1
    2
    3
    4
    5
    !/opt/bin/nvidia-smi
    # 下面顺便解决了一下
    # ImportError: cannot import name 'PILLOW_VERSION'(版本问题)
    !pip uninstall pillow
    !pip install pillow==5.2.0