LaTex 参考文献
使用 $\LaTeX$ 撰写科技论文,特别是数学论文,非常方便,本篇介绍如何在 tex 文档中增加参考文献。
对于 $\LaTeX$ 这种非所见即所得的文档撰写工具,我们一般要先在 .tex 文件中按照格式撰写文章内容,然后通过编译显示 pdf 文档。
bib 文件生成假设我们已经撰写了部分 .tex 文件,想要在该文件中增加参考文献,那么我们首先要撰写 .bib 文件(我这里命名为 ref.bib),里面增加上我们想要引入的参考文献内容:
12345678910@article{wasserman2018topological, title={Topological data analysis}, author={Wasserman, Larry}, journal={Annual Review of Statistics and Its Application}, volume={5}, pages={501--532}, year={2018 ...
Hexo 框架下博文数学公式显示
Hexo 是一个快速、简洁且高效的博客框架。 Hexo 使用 Markdown(或其他渲染引擎)解析文章,在几秒内即可利用靓丽的主题生成静态网页。使用 Hexo 部署个人博客时,对博文里书写数学公式渲染容易出现错误,导致渲染不成功,发布后的博文数学公式显示为源码,本篇介绍如何在 Hexo 框架中正常显示数学公式。
当在主题(如 next, butterfly 等)中开启 mathjax 开关,并在每篇博文头信息中指定:mathjax: true,此时我们就可以在博文中书写数学公式了,对于行内公式,我们用类似 $y=f(x)$ 的方式来表示。对于行间公式,我们常使用类似下面的形式
123$$f = a * \cos(x) + b * \sin(x)$$
来表示。
但是,当我们的公式的一些符号,如 *, {, }, \\,相连时容易造成博文中公式渲染出错的问题。有些人尝试将这些符号之间用空格分开,有些是安装一些工具,如 npm i hexo-filter-ignore-formula-rendering,但是,这些方法在我实际测试中发现并不可靠。
值得推荐的方法是 ...
计算机视觉之目标检测
目标检测是计算机视觉的一项基本任务。它能够告诉我们一幅图像中有什么(可能有多个)物体和这些物体在什么位置,位置常使用矩形框的形式给出。本篇我们介绍深度学习类目标检测算法及算法评估方法。
目标检测算法分类目标检测算法发展至今已经有几十年,出现有多种类型的图像目标检测算法,包括
两阶段目标检测算法
RCNN
Fast RCNN
Faster RCNN
单阶段目标检测算法
YOLO 系列
SSD
RetinaNet
FCOS
为了处理不同尺度目标的情况,很多深度学习目标检测算法都是基于锚框的,为了提高检测速度又发展出无锚框的算法:
有锚框算法
Faster RCNN
YOLO v2/v3
SSD
RetinaNet
无锚框算法
YOLO v1
FCOS
注意,RCNN 和 Fast RCNN 因采用常规算法(而不是 CNN)进行区域提议,因此,没有设置锚框。
两阶段目标检测算法的基本思路对一幅图像进行目标检测要求同时预测出图像中的物体及位置,最容易想到的方法是先将图片均匀分块,然后使用图像分类算法对每一块图片补丁或图像块进行分类,图片补丁在原图像上的位置 ...
Linux 新增硬盘
当我们 Linux 服务器硬盘容量不足时,那么就需要增加新硬盘。本篇介绍如何格式化新硬盘、挂载新硬盘并设置开机自动挂载。以 Ubuntu 18.04 为例,所有命令以 root 用户运行。
我们为服务器购买新硬盘需要根据服务器的规格要求选择尺寸(2.5英寸,3.5英寸)、接口(SAS,STAT)以及容量。当新硬盘购买回来后,我们需要关闭服务器安装新硬盘。有些服务器支持热插播,但为了保险起见,建议关闭服务器,如果服务器不方便关闭,那么可以不关。
格式化新硬盘通过如下命令判断新硬盘设备
1fdisk -l
根据提示可以看到安装在服务器上的新硬盘设备,假设是 /dev/sdb,那么我们就可以对设备 /dev/sdb 进行格式化并分区。
分区1234567891011121314fdisk /dev/sdb# 第一步是否进行分区,按 n 表示开始创建分区n# 第二步选择创建主分区,按 pp# 第三步分区编号,如果整个硬盘只划一个分区,则选 1 或直接回车,这里演示只划分一个分区# 第四步磁盘起始扇区,直接回车# 第五步磁盘结束扇区,直接回车# 第六步是否保存,按 w 保存w
格式化分区12 ...
Linux 网络流量统计工具 vnstat
Linux 服务器网络流量监测工具除了常见的 ifconfig, nload, iftop 等,但只有总流量信息,且当服务器重启后,监测数据会重新统计。本篇介绍 vnstat,它能够把监测数据保存到数据库中,可以根据需要显示流量统计信息。
安装12sudo apt updatesudo apt install vnstat vnstati
使用安装完成后有配置文件:/etc/vnstat.conf,里面配置参数,如 Interface 该参数默认会自动监测需要监控的网卡,MonthRotat 为每月流量结算日期,即每月流量重新计算的日期,默认为每月1号。
对网卡生产数据库文件:
1234# 假设网卡是 eth0# --dbdir 为我们保存数据路径,如果不指定,则默认保存到 /var/lib/vnstat 下# 数据名 vnstat.dbvnstat -i eth0 --dbdir /disk0/vnstat
常用命令:
1234567891011121314151617181920212223242526272829303132# 实时总流量vnstat# 查看网卡 eth0 ...
Linux 终端复用器 tmux 提高通过 SSH 运行的程序稳定性
在使用 SSH 远程连接服务器后,在终端上运行长时间占用终端的程序(如 pip install torch==1.10.1+cu111 torchvision==0.11.2+cu111 torchaudio==0.10.1 -f https://download.pytorch.org/whl/cu113/torch_stable.html 等大文件下载)容易受到网络中断等情况导致的 SSH 连接断开的影响。这是因为 SSH 终端窗口和会话是绑定的,当终端窗口断开时,会话也关闭,会话中的进程也随之关闭。使用 tmux 可以将会话与终端窗口“解绑”。这样,终端窗口关闭或异常断开时,不影响当前会话中运行的程序。
tmux 是一个终端复用器(terminal multiplexer),可以将会话与窗口“解绑”,窗口关闭时,会话不会终止,而是继续在后台运行,当重新把会话绑定到其他窗口时,里面运行的进程还在。tmux 有如下特点:
运行在单个窗口中同时访问多个会话;
新窗口可以接入已经存在的会话;
运行一个会话同时连接到多个窗口,实现多用户实时共享会话;
支持窗口在垂直和水平方向上任意拆 ...
MMDetection 目标检测使用
OpenMMLab 是香港中文大学-商汤科技联合实验室 MMLab 自 2018 年 10 月开源的一个计算机视觉领域的 AI 算法框架。其包含了众多计算机视觉多个方向的算法框架,本篇介绍 MMDetection 库,运行服务器 Ubuntu 18.04。本篇以 mmdet 2.x 版本为例,可能有些模块、类、函数在最新版中会有改变。请访问官网 docs 查看更新。
安装MMDetection 的安装需要在一些基础库之上进行,如 PyTorch,mmcv 等。假设显卡驱动、cuda、cudnn 等均已安装配置好,接下来就是安装 python 和一些包。我们这里采用 miniconda 来进行 python 安装和环境配置。
123456789101112131415161718192021222324252627282930313233# 安装 minicondawget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O miniconda.shchmod +x miniconda.sh ...
MMClassification 图像分类使用
OpenMMLab 是香港中文大学-商汤科技联合实验室 MMLab 自 2018 年 10 月开源的一个计算机视觉领域的 AI 算法框架。其包含了众多计算机视觉多个方向的算法框架,本篇介绍 MMClassification 库,运行服务器 Ubuntu 18.04。
安装MMClassification 的安装需要在一些基础库之上进行,如 pytorch,mmcv 等。假设显卡驱动、cuda、cudnn 等均已安装配置好,接下来就是安装 python 和一些包。我们这里采用 miniconda 来进行 python 安装和环境配置。
123456789101112131415161718192021222324# 安装 minicondawget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O miniconda.shchmod +x miniconda.shbash ./miniconda.sh -b -p /opt/miniconda# 配置 miniconda 环境echo &q ...
linux 上使用 samba 共享文件夹给 windows
想要在 Windows 客户端上像访问本地文件一样来访问 Linux 服务器上的文件,除了 rsync、sftp 等工具外能近似满足该需求,最经典、最方便的方式还是使用 Samba。本篇介绍如何使用 Samba 共享 Linux 文件给 Windows。
简介Samba 是 Linux 和 Unix 系统上实现 smb 协议的一个软件,分为服务端和客户端。smb 是一种在局域网上共享文件和打印机的一种通信协议,为局域网内的不同计算机之间提供文件和打印机等资源的共享服务。
Samba 监听端口有 TCP 139、445,UDP 137、138,其中 TCP 端口对应的服务是 smbd 服务,提供对服务器中文件、打印资源的共享访问;UDP 端口对应的服务是 nmbd 服务,提供基于 NetBIOS 主机名称的解析。
Samba 的使用用户都是系统用户,在 /etc/passwd 中,密码通过如下命令设置:
123456# username 取值 /etc/passwd,设置的密码可以与系统用户密码不同smbpasswd -a username# -a 表示添加系统用户为 Samba 用 ...
linux 中 screen 的使用
通过终端在远程服务器上执行长时间运行的任务时,因为突然的断开导致 SSH 会话终止,使得程序运行失败!使用 screen 能够避免上面情况的发生。同时,让我们在一个终端上可以运行多个终端程序,并可以自由切换这些终端。
Screen 或 GNU Screen 是一个终端多路复用器。换句话说,这意味着您可以启动一个屏幕会话,然后在该会话中打开任意数量的窗口(虚拟终端)。在 Screen 中运行的进程在它们的窗口不可见时将继续运行,即使您断开连接也是如此。
安装 screenDebian or Ubuntu 操作系统安装方法如下:
12sudo apt updatesudo apt install screen -y
RedHat or CentOS or Fedora 操作系统安装方法如下:
1sudo yum install screen
使用 screen123456789101112131415161718192021222324252627282930313233343536373839# 创建一个名字为 main 的 screen 终端screen -S main# 查看 ...
linux 下使用 rz 和 sz 传输文件
与 Linux 服务器互相传输文件方法很多,有 scp,sftp,rsync 等等。sz (从服务器发送下载文件) 和 rz (从本地发送上传文件) 是比较有交互性和方便的小文件传输方式。
rz\sz 使用 ZMODEM 协议,因此终端需要支持该协议才能使用该命令。常见的软件 windterm\xshell\securecrt\le putty 等支持。
安装12sudo apt updatesudo apt install lrzsz
rz 上传文件到服务器直接把文件拖动到终端上即可。或者使用命令方式:
123rz# orrz -be
会弹出一个交互界面,选择需要上传的文件(可多选)进行上传。常见选项有:
123456789101112131415161718192021222324252627282930-+, --append 将文件内容追加到已存在的同名文件-a, --ascii 以文本方式传输-b, --binary 以二进制方式传输,推荐使用--delay-startup N 等待 N 秒-e, --escape 对所有控制字符转义,建议使用-E, --re ...