tools

文章目录

  • windows/ubuntu
  • nvidia cuda driver
  • conda
  • jupyter
  • linux
  • latex
  • Dos
  • Vim
  • references
  • PyCharm
  • server
  • tensorboard
  • torch cuda cudnn version


windows/ubuntu

Windows 10 启动盘
ubuntu 18.04 启动盘


nvidia cuda driver

ubuntu16.04安装NVIDIA驱动

安装方式 说明
命令行安装 1. 查看GPU是否是支持cuda lspci | grep -i nvidia
2. 卸载旧驱动 sudo apt-get remove –purge nvidia*
3. 把显卡驱动加入PPA源
sudo add-apt-repository ppa:graphics-drivers
更新测试版驱动
sudo apt-get update
4. 查找版本号 sudo apt-cache search nvidia*
5. 安装 sudo apt-get install nvidia-390 nvidia-settings nvidia-prime
6. 重启 reboot
文件安装
【推荐】
[下载指定版本驱动文件],例如:NVIDIA-Linux-x86_64-367.44.run
禁用nouveau并重启
1. 卸载nvidia旧驱动 sudo apt-get remove nvidia* 【【推荐】】
2. 安装需要的包 sudo apt-get install dkms build-essential linux-headers-generic
3. 禁用nouveau内核驱动 sudo vim /etc/modprobe.d/blacklist.conf
ubuntu 16.04默认安装驱动nouveau,和nvidia显卡驱动冲突。安装之前需要禁用nouveau。
4. 编辑blacklist.conf,插入以下内容,保存并退出
blacklist nouveau
options nouveau modeset=0
5. 如果nouveau-kms.conf文件存在,添加以下内容
echo options nouveau modeset=0
sudo tee -a /etc/modprobe.d/nouveau-kms.conf
6. build新核 sudo update-initramfs -u
7. 重启 reboot
重启并安装
8. 如果提示the system is running in low-graphics mode,选择running in cosole,关闭当前窗口
9. 进入命令行界面 Ctrl+alt+F1
10. 验证nouveau是否已禁用 lsmod | grep nouveau
没有信息显示,说明nouveau已被禁用
11. 关闭桌面模式 sudo service lightdm stop
12. 获取权限 sudo chmod a+x NVIDIA-Linux-x86_64-367.44.run
13. 安装驱动 sudo NVIDIA-Linux-x86_64-367.44.run --no-opengl-files
14. 恢复图形界面 sudo service lightdm start
15. 进入图形界面 Ctrl+alt+F7
问题 方案
安装时问题 1. 安装驱动提示You appear to be running an X server
1. 执行sudo init 3再执行安装命令
2. Would you like to register the kernel module sources with DKMS?This will allow DKMS to auomatically build a new module,if you install a different kernel later 。No
3. 安装程序问你是否使用nv的xconfig文件,这里一点要选yes,否则在启动x-window时不会使用nvidia驱动
4. 如果出现循环登录问题,尝试安装时添加选项
sudo NVIDIA-Linux-x86_64-367.44.run --no-opengl-files
5. 集显独显切换有时会涉及到BIOS设置中的设置,例如VGApriority的onboard/offboard
Ubuntu16.04安装NVIDIA驱动](https://blog.csdn.net/zhang970187013/article/details/81012845)
Ubuntu16.04+Caffe+GTX1070+CUDA8.0+OpenCV3.2安装
安装编译问题 安装时“CC Version Check”提示版本不匹配。比如,为了安装cuda9.2将gcc降级到5.0,但是安装驱动440.82需要7.0(编译内核)。
cd /usr/bin
rm gcc
sudo ln -s gcc-7 gcc
驱动售后 1. the system is running in low-graphics mode
用run文件重装【谨记:别更新!】
2. Failed to initialize NVML: driver/library version mismatch
sudo dpkg --list | grep nvidia-* # 英伟达驱动版本
cat /proc/driver/nvidia/version # NVRM version: NVIDIA UNIX x86_64 Kernel Module
sudo vim /etc/apt/apt.conf.d/50unattended-upgrades
tools_第1张图片
3. NVIDIA-SMI has failed because it couldn’t communicate with the NVIDIA driver. Make sure that the latest NVIDIA driver is installed and running
① 查看驱动版本号 ls /usr/src
sudo apt-get install dkms
sudo dkms install -m nvidia -v 410.93
④ 成功!!!

conda

操作 说明
下载安装anaconda sh Anaconda2-5.2.0-Linux-x86_64.sh
查看cuda版本 conda list cuda
查看cuda版本,[拷贝对应pytorch安装命令] nvcc -V
删除虚拟环境 conda remove -n pt0.2 --all -y
创建pytorch虚拟环境 conda create -n pytorch1.1 python=3.5 -y·
conda install pytorch torchvision cudatoolkit=9.0 -c pytorch
conda install pytorch=0.4.1 cuda80 -c pytorch # 旧版本
查看torch版本 conda list torch
验证pytorch是否安装成功 . activate pytorch1.1
python
import torch
torch.__version__
torch.cuda.is_available()
True表示成功
创建TensorFlow-gpu环境 查看显卡驱动cuda版本对应表
conda安装
cat /proc/driver/nvidia/version
conda create -n tf-gpu python=2.7
conda activate tf-gpu
conda install cudatoolkit==8.0
conda install tensorflow-gpu
pip安装
pip install tensorflow-gpu==1.4.0
验证TensorFlow是否安装成功 . activate tf1.4
python
import tensorflow as tf
tf.version
查看已安装环境 conda env list
conda info -e
激活/退出环境 source activate pytorch0.2.0
source deactivate pytorch0.2.0
重命名环境 conda create -n pytorch0.2.0–clone tf1.8
conda remove -n pt0.2 --all -y
实时监控GPU使用情况 watch -n 1 nvidia-smi
gpustat -i
查询当前环境下cuda cudnn版本号 conda list cudnn
conda list cuda
查询conda环境下的安装包 conda list
conda突然找不到了 查看~/.bashrc,更新一下,或者添加运行路径
终端提示会由yhr@ubuntu变成(base)yhr@ubuntu

jupyter

操作 说明
远程访问服务器 1. 安装python
2. 安装anaconda
3. 安装jupyter conda install jupyter
4. 生成配置文件 jupyter notebook --generate-config
5. 生成密钥
python
from notebook.auth import passwd
passwd()
#输入新的登陆密码(本地访问的时候使用)
#再次确认
#生成key,复制到配置文件中。
ubuntu终端中ctrl+shift+c复制,ctrl+shift+v粘贴
6. 修改配置文件
vim ~/.jupyter/jupyter_notebook_config.py
c.NotebookApp.ip=‘0.0.0.0’ # 所有ip地址皆可访问
c.NotebookApp.password = 'sha:ce… # 密文key
c.NotebookApp.open_browser = False # 禁止自动打开浏览器
c.NotebookApp.port =8888 # 指定端口,默认8888
7. 后台运行 nohup jupyter notebook &
后台运行并输出到空 nohup jupyter notebook >/dev/null 2>&1 &
远程访问服务器中的conda虚拟环境 9. 进入虚拟环境 source activate pytorch1.1
10. 安装jupyter和ipykernel ①pip install jupyterpip install ipykernel
11. 配置ipykernel
python -m ipykernel install --user --name pytorch1.0 --display-name "pytorch1.0"
12. 后台运行 nohup jupyter notebook &
参考:本地浏览器远程服务器上的jupyter notebook

linux

命令 说明
查找所有文件中的某字符串 grep "/home/yhr/" filename.txt #字符串 文件名
grep -r "/home/yhr/" /home/ #递归查找目录下所有文件
批量重命名文件夹下的文件 ls | xargs -t -i mv {} {}.bak
查找文件夹“DogsVSCats” find /home -name "DogsVSCats" -type d
138创建用户 sudo useradd -md /data2/yhr -m -s /bin/bash yhr
sudo passwd yhr
按文件名查找文件 find / -name “texstudio*.tex/pdf”
根据PID查看哪个用户使用哪个进程 ps -eo pid,user,group,euser,egroup,cmd
查找目录下的所有文件是否包含某字符串[只显示文件名] find .| xargs grep -ri "GTA5DataSet" [-l]
会显示很多的重复结果
查找目录下的所有文件是否包含某字符串[只显示文件名] grep -rn "ipv4" *
-r 是递归查找
-n 是显示行号
* : 表示当前目录所有文件,也可以是某个文件名
替换所有文件中的某字符串 ssed -i "s/std=c++11/std=c++14/g" xx.cpp
sed -i "s/\/root/\/headless/g" /etc/passwd
批量替换
find . -type f -name "*.yaml" -exec sed -i "s/\/data\/ycf\/data\//\/home\/yhr\/data\//g" {} \;

sed -i “s/CUB_200_2011/CUB/g” `grep ‘DATA_PATH’ -rl experiments/* `
统计当前目录下文件个数 find . -type f -print | wc -l
du命令(disk used) du -h a.txt //查看文件夹大小
du –h dir | tail -n 1 //查看文件大小
df –h (human) //查看磁盘大小
scp命令 scp [email protected]:/home/yhr/a.txt .
scp a.txt [email protected]:/home/yhr/
复制文件
scp local_file remote_username@remote_ip:remote_folder
scp local_file remote_username@remote_ip:remote_file
scp local_file remote_ip:remote_folder
scp local_file remote_ip:remote_file
复制目录
scp -r local_folder remote_username@remote_ip:remote_folder
scp -r local_folder remote_ip:remote_folder
ps命令 ps -ef #查看进程,常配合grep使用
tree命令 以树结构显示当前文件组织方式。
tree -d # 仅显示目录
tree -L n # 显示n层
tree -f # 显示完整路径
查找指定文件并删除 ref
find . -name *.png | xargs rm -fr

latex

代码 效果
花体大写字母 \mathcal {L} loss符号 L \mathcal {L} L
V \mathcal V V
S \mathcal S S
花体小写字母 \ell loss符号 ℓ \ell
正体 \rm {intC}
\textbf x
i n t C \rm {intC} intC
x \textbf x x
多行公式对齐 \begin{aligned}
a &= b + c \
&= d + e + f
\tag{4}
\end{aligned}
a = b + c = d + e + f (4) \begin{aligned} a &= b + c \\ &= d + e + f \tag{4} \end{aligned} a=b+c=d+e+f(4)
overleaf 参考文献引用方式 \usepackage[backend=bibtex]{biblatex}
\addbibresource{references.bib}
正文
\newpage
\printbibliography
\bibliographystyle{neurips_2020}指定参考文献风格,提示invalid
texstudio 参考文献引用方式 \bibliographystyle{elsarticle-num}
正文
\bibliography{references}
\bibliographystyle{neurips_2020}是有效的
overleaf指定参考文献文件的方式无效。原因是[backend=bibtex]回去查找bbl文件格式。应该是overleaf和texstudio的编译环境不同。
期望 空心符号
\mathbb E
E \mathbb E E

Dos

命令 说明
查看IPv4地址 ipconfig /all | find “IPv4”
查看文件夹/文件 dir
回到根目录 cd\
进入E盘 E:

Vim

命令 说明
行尾进入insert模式 Shift+A #会在行尾插入一个字符
查找xxx字符串并高亮 普通模式下,光标在“print”上。
Ctrl+#,<==>?\
tools_第2张图片
窗口水平分割,并打开a.cpp split a.cpp
窗口垂直分割,并打开a.cpp vsplit a.cpp
窗口切换 Ctrl + w
移动光标 [Ctrl]+[f] 屏幕[向下]移动一页// f – forward
[Ctrl]+[b] 屏幕[向上]移动一页// b – backward
[Ctrl]+[d] 屏幕[向下]移动半页// d – down
[Ctrl]+[u] 屏幕[向上]移动半页// u – up
移动到行首字符 0/Home
移动到行末字符 $/End
移动到文档第一行 gg
移动到文档最后一行 G
移动到文档第n行 nG <==> :n
查找与替换 100到200行查找asde并替换成ASDE
:100,200s/asde/ASDE/g
所有行行首加4个空格 :1,$s/^/ /g
所有行查找word1替换为word2,且取代前确认提示 :1,$s/word1/word2/g
复制/剪切文档中的word1并粘贴在某处 v l y/x p
依次解释:进入visual模式,移动光标,复制或剪切,粘贴
撤销和重做,重复 u [Ctrl] + r
VIM环境设定 高亮查询
:set hlsearch
:set nohlsearch
自动缩进
:set autoindent
:set noautoindent
自动备份
:set backup
vim ~/.vimrc set hlsearch set backspace=2 set autoindent set ruler set showmode set nu set bg=dark syntax on
语系编码转换 通过文本编辑器查看文件时出现乱码,主要原因是环境的语系编码和文件的编码不一致导致的。
比如,系统语系是简体中文(gb2312),文件语系是繁体中文(big5)。
1. 设置系统语系编码
LANG gb2312
2. 文件转换和系统一致
iconv --list iconv -f big5 -t gb2312 filename [-o newfile]
选项与参数
* --list列出支持的语系
* -f 原编码
* -t新编码
* -o file保留源文件

references

命令 说明
中文参考文献-知网 例子:“采用自适应搜索范围的多介质立体匹配算法”




批量:
1)一个一个复制
2)“导出”到EndNote等,再处理
英文参考文献-GoogleScholar 例子:“Imagenet classification with deep convolutional neural networks”


选择自己想要的格式

【小建议】
1. 录用未发表的,需要到会议网站上去找。比如CV
2. GoogleScholar的时候,查完一个文献,直接双击搜索框,不用X掉对话框。
知网论文下载 1. 输入网址 cnki.net
2. 机构登录
2.1 默认是登录的,右上角会显示,如下图
tools_第3张图片
2.2 如果没登录,点击"登录",选择IP登录,如下图
tools_第4张图片
3. 搜索硕士论文“基于卷积神经网络的行人性别识别方法研究”, 结果如下
tools_第5张图片
4. 修改搜索选项为“题名”成功找到
4.1 默认搜索选项中没有“题名”
tools_第6张图片
4.2 点击“学位论文”,选择搜索选项“题名”,找到
tools_第7张图片

PyCharm

命令 说明
学生免费使用pycharm专业版 tools_第8张图片
Pycharm配置远程调试 1.确保本地代码的改动已经同步到远程的服务器
2.在Pycharm中对指定的代码打断点
3. 使用debug模式启动代码
4. 访问远程服务器上的程序(如:远程服务是一个web服务,则需要访问远程的web访问地址)本地debug生效
要选对python解释器ssh://[email protected]:22/home/yhr/anaconda3/bin/python
PyCharm使用技巧及常用快捷键 Step Into F7
Step Over F8
Step Out Shift+F8

server

命令 说明
指定GPU运行程序 CUDA_VISIBLE_DEVICES=0 python train.py
CUDA_VISIBLE_DEVICES=0, 2, 5, 7 python train.py
查看占用GPU的进程 fuser -v /dev/nvidia*
fuser -v /dev/nvidia7
解除显存占用 fuser -k /dev/nvidia*
screen命令
后台运行程序
ssh [email protected] # 连接服务器
screen -S zsl0807 # 创建Session
python train.py # 运行程序
Ctrl+a+d # 离开Session
Ctrl+d # 断开客户端链接
重新进入Session ssh [email protected] # 连接服务器
screen -ls # 查看Session
screen -r test # 恢复Session
screen -d -r test # 恢复Session
nohup 命令 nohup python train.py &
添加用户 sudo adduser tt
adduser:自动创建主目录、系统shell版本,创建时输入用户密码。
sudo useradd -d /data/yhr -p yhr yhr
useradd:需使用参数选项指定上述设置;如果不使用,则创建的用户无密码、无主目录、没有指定shell版本。
删除用户 userdel -r 用户名
-r 选项表示在删除用户的同时删除用户的家目录。
查看磁盘剩余空间 df -h
服务器硬盘挂载190挂载硬盘 fdisk -l # 查看
mkfs.ext4 /dev/sda # 格式化分区
echo “/dev/sda /data ext4 defaults 0 0” >> /etc/fstab # 开机启动挂载
mount -a #重新挂载所有分区
df-lh
Linux下查看在线用户及用户进程 who
w
finger
users
查询周期运行程序 crontab -l
挖矿查杀 查看所有自动程序
开启防火墙
kswapd0挖矿病毒查杀过程
查看磁盘空间
计算磁盘文件夹占用空间
df -h
du -sh test
查看某个用户运行的程序,并按照时间排序输出 ps -ef --sort=start_time | grep '^yhr' | grep -v 'sshd' | grep -v '\-bash' | grep -v 'sftp-server' | awk '{print $5, $8, $9}'

tensorboard

  • 启动一个
    tensorboard --logdir dir
  • 启动两个
    tensorboard --logdir dir1 --host 210.30.97.111 --port 8899
    tensorboard --logdir dir2 --host 210.30.97.111 --port 8898

torch cuda cudnn version

import torch
import torch.nn as nn

print(torch.__version__)
print(torch.version.cuda)
print(torch.backends.cudnn.version())
print(torch.cuda.get_device_name(0))

你可能感兴趣的:(note,ubuntu)