本文介绍在Ubuntu 18.04环境下搭建计算机视觉开发环境的过程,包括Python, C/C++的环境配置,PyTorch, TensorFlow和OpenCV的安装,以及VS Code配置等内容。
我的个人硬件型号及软件版本:
- i7-9700k @ 3.6GHz
- NVIDIA RTX 2080Ti
- Ubuntu 18.04 LTS
- PyTorch 1.4.0
- TensorFlow 2.1.0
- OpenCV 4.2.0
Ubuntu安装常见问题
本文暂不详述Ubuntu安装过程,只根据个人经验给出安装过程中设置分区大小的建议。
分区建议
下面以总共约400GB大小为例:
- /boot – 4GB。网上常见的文章大多建议为/boot分配512MB或1GB,但在更新系统内核时,新版本和旧版本的内核都在这个分区下,即便1GB的空间也可能会出现空间不足而无法再更新的情况。所以索性给它4个GB,未来几年应该会够用啦。另外,日常使用时,也可以随时用sudo apt-get autoremove命令,删除不用的包和老版内核,以节约空间。
- /swap – 16GB。这个一般都是建议和内存大小一致。跑深度学习模型时,也是经常出现内存被挤满需要征用/swap的情况,所以多分配一些也是可以的。
- / – 80GB。为了偷懒,/opt, /usr等都统一放在一个分区。系统软件和部分软件占用不了太多空间,我现在80GB的空间只用了一半左右。如果是实验室这种有多个用户需求的,最好单独分配/usr分区,保护数据的安全。
- /home – 300GB。/home分区多多益善尔~特别是重度Linux用户(比如打游戏和视频会议才会用Windows)。再加上深度学习的数据、模型参数、实验结果等都需要大量的空间,我这300GB空间也是常年处于空间不足的状态,苦不堪言。
如果用的是双系统,而且Windows位于其他硬盘的话,在安装Ubuntu过程中可以把引导文件安装在Windows的引导分区(Windows所在的硬盘有一个100MB大小的分区),它会自动识别并为Windows分配引导。这样以后开机时会进入Ubuntu的Grub引导,而且两个系统都可以选择。
启动Ubuntu黑屏的问题
由于Ubuntu的LTS并没有采用最新版本的Linux内核,而且系统本身也没有对硬件驱动做过多的适配,所以安装过程中很容易出现硬件无法识别的问题。比如我在安装Ubuntu时,以及卸载显卡驱动后重新启动时,由于Ubuntu系统无法识别GTX 1080Ti和RTX 2080Ti显卡,进入启动界面后要么是黑屏,要么所有文字显示异常。换显示器或视频线接口都不能解决。这里给出两种解决方法:
- 换用老型号显卡。如果手边有老显卡,比如GTX 960及同世代的显卡,可以先关机换上老显卡,安装系统和Nvidia显卡驱动之后,再关机换上新显卡。
- 修改Grub引导参数。在选择引导的界面可以修改Grub文件(一般是按“E”键或者进入高级选项之后再按“E”键)。在新的界面里找“quiet splash”几个字,把这两个单词删除,替换为“nomodeset”。然后按F10就可以进入系统了。改这个参数的目的是在启动系统时不采用Linux自己所带的针对高分辨率显示器设计的显示驱动,而是采用Bios提供的显示驱动。即便游戏显卡的型号再新,肯定是要对市面上主流的主板和Bios做适配的,所以这样基本可以保证能够成功进入系统。更改这个参数并不会对系统的引导方式产生影响,更不会影响已经存在的其他系统。
安装显卡驱动和CUDA
我们先介绍安装Nvidia显卡驱动,CUDA和cuDNN的过程。
Nvidia显卡驱动
1. 添加显示驱动的软件源并更新apt源
sudo add-apt-repository ppa:graphics-drivers/ppa sudo apt-get update
2. 查看可用的驱动版本
ubuntu-drivers devices
3. 直接安装推荐的驱动
sudo ubuntu-drivers autoinstall
或者手动安装某版本的驱动(比如440)
sudo apt-get install nvidia-driver-440
安装完成后可以重启一下,然后就可以安装CUDA了。
CUDA和cuDNN
如果需要安装TensorFlow,CUDA和cuDNN的版本需要小心选取,否则容易出现TensorFlow无法启用GPU训练的错误。官方给出了TensorFlow各版本所适配的CUDA和cuDNN版本,如下图所示:
本文后面要安装TensorFlow 2.1.0版本,所以这里需要下载并安装CUDA 10.1和cuDNN 7.6。
1. 可以在官网下载CUDA安装包:https://developer.nvidia.com/cuda-downloads。也可以在终端直接执行以下命令进行安装:
wget https://developer.nvidia.com/compute/cuda/10.1/Prod/local_installers/cuda_10.1.105_418.39_linux.run sudo chmod +x cuda_10.1.105_418.39_linux.run sudo ./cuda_10.1.105_418.39_linux.run
安装过程中会出现几次提示,大部分按照默认值直接回车即可。只有在提示是否安装显卡驱动时输入“no”就好。另外可以选择把CUDA Samples安装在用户的主目录下,方便后面测试。
2. cuDNN也需要到官网下载:https://developer.nvidia.com/compute/machine-learning/cudnn/secure/7.6.5.32/Production/10.1_20191031/cudnn-10.1-linux-x64-v7.6.5.32.tgz。下载之前需要注册Nvidia Developer的账号。这里选择的是适配CUDA 10.1的cuDNN v7.6.5版本。
然后解压下载好的压缩包,并把cuDNN的文件拷贝到系统目录下,以便其他程序调用:
cd cudnn-10.1-linux-x64-v7.6.5.32/cuda sudo cp -P include/cudnn.h /usr/local/cuda/include sudo cp -P lib64/libcudnn* /usr/local/cuda/lib64 sudo chmod a+r /usr/local/cuda/lib64/libcudnn*
3. 修改bashrc文件,添加CUDA目录。打开~/.bashrc文件(如果不存在的话建立该文件,文本编辑器按个人喜好,Ubuntu已自带Gedit,也可以用Vim),添加以下内容:
PATH=$PATH:/usr/local/cuda/bin LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib:/usr/local/cuda/lib64:/usr/local/cuda/extras/CUPTI/lib64
修改保存之后需要重新打开终端才能使修改生效,也可以执行source ~/.bashrc刷新环境变量。
4. 测试CUDA是否安装成功。进入CUDA Samples目录(如果之前没有安装在个人目录下,可以从/usr/local/cuda/samples拷贝过来),然后执行以下命令:
cd 1_Utilities/deviceQuery make ./deviceQuery
如果终端输出的最后一行是“Pass”,说明CUDA可以正常使用,已经安装成功。
C/C++环境
Linux下常用的C语言编译/调试工具包括gcc+gdb或者clang+lldb两种。这里分别介绍两种环境的安装。
gcc/gdb环境
sudo add-apt-repository ppa:ubuntu-toolchain-r/test sudo apt-get update sudo apt-get install gcc-8 g++-8
clang/lldb环境
1. 添加LLVM源。在终端执行
wget -O - http://apt.llvm.org/llvm-snapshot.gpg.key|sudo apt-key add -
或者在/etc/apt/sources.list文件中添加以下内容
deb http://apt.llvm.org/trusty/ llvm-toolchain-trusty-8 main deb-src http://apt.llvm.org/trusty/ llvm-toolchain-trusty-8 main
2. 安装clang和lldb
sudo apt-get update sudo apt-get install clang-8 lldb-8
C++环境的进一步配置和使用,可见下文VS Code配置部分。
Python环境
在安装Python之前,首先需要确定几个问题。
- Python 2还是Python 3?
- 具体采用Python的哪个版本?
- 原生Python还是虚拟环境?
本文默认安装Python 3。截至到Ubuntu 18.04,系统内的默认Python版本仍然是2.7。现在Python 2已经不再接受更新,而且Ubuntu 20.04也会改用Python 3。所以我们自己搭建的环境最好也采用Python 3。
几个月前Python 3.8已经发布,加入了一些新功能(比如:=操作符)。但主流的开源库还没有对Python 3.8进行适配,所以本文会安装Python 3.7。
直接用apt把Python安装到系统目录使用起来固然方便,但也会存在一些隐患。比如假如我们已经配置好了Python 3.7环境,但某一天想跑一下别人的代码,但那份代码只支持Python 3.5,该怎么办?又比如另外一份代码只支持Python 2.7,我们是不是还需要为Python 2.7安装所有的工具包?如果系统里同时存在Python 2和Python 3的环境,在调用脚本时也容易忘记指定Python的版本,比如本应调用python3却调用了python。这些问题都可以用虚拟环境解决。
本文建议用Anaconda建立和维护Python虚拟环境。原因有两点:一是Anaconda有丰富的软件源,官方和个人提供了很多第三方库的软件包,安装方便;二是Anaconda也能安装非Python编写的包,比如用conda install cudatoolkit就可以安装CUDA。
安装Anaconda
在官网下载Anaconda安装包:https://www.anaconda.com/distribution/#linux,比如https://repo.anaconda.com/archive/Anaconda3-2019.10-Linux-x86_64.sh。然后执行以下命令安装Anaconda:
chmod +x Anaconda3-2019.10-Linux-x86_64.sh ./Anaconda3-2019.10-Linux-x86_64.sh
安装过程中提示安装位置时,建议选择安装在个人目录下,比如~/anaconda3。在提示是否允许修改.bashrc文件时,建议输入“yes”。
修改conda源
修改为国内的conda源,以提高下载速度。打开~/.condarc文件(如果不存在的话建立该文件),修改文件内容如下:
channels: - defaults show_channel_urls: true channel_alias: https://mirrors.tuna.tsinghua.edu.cn/anaconda default_channels: - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/pro - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2 custom_channels: conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud msys2: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud bioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud menpo: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud pytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud simpleitk: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
之前出现过清华的conda源不能使用的问题,如果再遇到这种情况,可以改用上交的源:
channels: - https://mirrors.sjtug.sjtu.edu.cn/anaconda/pkgs/main/ - https://mirrors.sjtug.sjtu.edu.cn/anaconda/pkgs/free/ - defaults show_channel_urls: true
修改pip源
同样地,出于网速原因,改用国内的pypi源。建议执行该步骤前关闭conda的虚拟环境,可在终端中执行两次conda deactivate以退回到系统自带的Python环境。执行以下命令:
sudo pip install --upgrade pip pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
创建虚拟环境
重新打开终端,正常情况下,在用户名前会显示“(base)”字样,说明已经进入conda的默认环境。如果没有该字样的话,可以执行conda init,以激活conda环境。然后用以下命令建立一个名为”torch”的Python 3.7环境:
conda create -n torch python=3.7
然后执行以下命令开启该环境:
conda activate torch
可以顺便把常用的库安装好:
sudo apt-get install python3-pip pip install numpy scipy matplotlib pylint
PyTorch
我们在这一部分介绍在Anaconda虚拟环境下安装PyTorch 1.4.0的过程。可以用一行命令直接安装,也可以下载PyTorch的源码在本地编译安装。
安装官方包
确认开启conda的torch环境后,执行以下命令:
pip install torch torchvision
本地编译安装
1. 安装本地编译所需的依赖包
conda install numpy pyyaml mkl mkl-include setuptools cmake cffi
conda install magma-cuda100 -c pytorch
2. 安装Git和C++编译环境
sudo apt-get install git cmake build-essential
3. 下载PyTorch源码
git clone --recursive https://github.com/pytorch/pytorch
4. 编译PyTorch
cd pytorch export CMAKE_PREFIX_PATH="/home/john/anaconda3/envs/torch" python setup.py install
测试PyTorch
执行以下命令,打开Python交互模式
conda activate torch python
然后测试PyTorch是否安装好
import torch print(torch.cuda.is_available())
看输出结果是否为“True”。
也可以试一下简单的张量计算
a = torch.randn(1, 10).to(device) b = torch.randn(10, 1).to(device) c = a @ b print(c.item())
TensorFlow
这里介绍两种TensorFlow安装方法,一是在虚拟环境下直接安装官方包,二是安装Docker版本,便于模型的部署。
安装官方包
1. 创建新的虚拟环境
conda create -n tf python=3.7 conda activate tf
2. 安装TensorFlow
conda install cudatoolkit=10.1 pip install tensorflow-gpu
安装Docker镜像
1. 安装nvidia-docker
curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add - distribution=$(. /etc/os-release;echo $ID$VERSION_ID) curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list sudo apt-get update sudo apt-get install -y nvidia-docker2 sudo pkill -SIGHUP dockerd
2. 下载并运行TensorFlow镜像
docker run --runtime=nvidia -it --rm tensorflow/tensorflow:latest-gpu
测试TensorFlow
在终端执行以下命令
python -c "import tensorflow as tf; tf.enable_eager_execution(); print(tf.reduce_sum(tf.random_normal([1000, 1000])))"
OpenCV
OpenCV有多个语言的API,包括C/C++,Python,Java等。这里介绍Python与C++两个版本的安装。
Python版OpenCV
只需要执行以下命令即可
pip install opencv-python
C++版OpenCV
C++版本的OpenCV需要本地编译安装。这里以4.1.0版本为例,介绍编译过程。需要注意的是,不要在conda环境下编译OpenCV。
1. 下载OpenCV源码
分别下载主包源码、contrib源码和测试数据,下载地址如下:
- https://github.com/opencv/opencv/archive/4.1.0.tar.gz
- https://github.com/opencv/opencv_contrib/archive/4.1.0.tar.gz
- https://github.com/opencv/opencv_extra/archive/4.1.0.tar.gz
2. 提前下载容易在编译过程中由于网络原因造成失败的文件:
然后重命名为7505c44ca4eb54b4ab1e4777cb96ac05-face_landmark_model.dat,存放在.cache/data目录下。
重命名为c0bd78adb4156bbf552c1dfe90599607-ippicv_2019_lnx_intel64_general_20180723.tgz,并存放在.cache/ippicv目录下。
3. 安装所需的依赖包
sudo apt-get install build-essential checkinstall cmake pkg-config yasm git gfortran software-properties-common sudo apt-get install ffmpeg x264 v4l-utils sudo apt-get install libjpeg8-dev libpng-dev libtiff-dev libavcodec-dev libavformat-dev libswscale-dev libdc1394-22-dev sudo apt-get install libxine2-dev libv4l-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev sudo apt-get install libgtk2.0-dev libtbb-dev libatlas-base-dev libfaac-dev libmp3lame-dev libtheora-dev sudo apt-get install libvorbis-dev libxvidcore-dev libopencore-amrnb-dev libopencore-amrwb-dev libavresample-dev sudo apt-get install libprotobuf-dev protobuf-compiler libgoogle-glog-dev libgflags-dev sudo apt-get install libgphoto2-dev libeigen3-dev libhdf5-dev doxygen sudo add-apt-repository "deb http://security.ubuntu.com/ubuntu xenial-security main" sudo apt update sudo apt install libjasper1 libjasper-dev sudo pip3 install testresources
4. 开始编译并安装
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local \ -D WITH_TBB=ON -D WITH_V4L=ON -D WITH_IPP=ON -D WITH_OPENGL=ON -D WITH_CUDA=OFF \ -D CMAKE_PREFIX_PATH=/home/john/Qt5.12.3/5.12.3/gcc_64/lib/cmake \ -D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib-4.1.0/modules \ -D INSTALL_TESTS=ON -D OPENCV_TEST_DATA_PATH=/home/john/Downloads/opencv_extra-4.1.0/testdata \ -D OPENCV_ENABLE_NONFREE=ON -D BUILD_DOCS=ON \ .. make -j4 sudo make install
5. 运行测试
make test
VS Code配置
我平时主要用Visual Studio Code开发,这里介绍基于VS Code的Python和C++开发环境配置。
安装VS Code
VS Code可以通过Snap安装:
sudo apt install snapd sudo snap install --classic code
VS Code插件推荐
- autoDocstring (njpwerner.autodocstring) – 自动产生设定格式的注释块,比如为Python或C++的函数和类定义产生适合Sphinx的注释块,便于生成文档;
- Bracket Pair Colorizer (coenraads.bracket-pair-colorizer) – 匹配的括号、方括号、花括号等分别以不同颜色标记,便于辨识;
- Chinese (Simplified) Language Pack for Visual Studio Code (ms-ceintl.vscode-language-pack-zh-hans) – 中文语言包;
- CMake (twxs.cmake) – 为CMake代码提供高亮;
- Code Runner (formulahendry.code-runner) – 可以一键运行常见语言的代码文件。短小的代码使用方便,复杂一些的项目建议另外开终端运行(VS Code内部的终端也可能会出一些问题,最保守的还是系统本身的终端);
- GitLens – Git supercharged (eamodio.gitlens) – Git管理,可以查看分支、提交历史、文件历史,在编辑窗口里还会显示当前行最后一次修改提交的时间和作者;
- indent-switcher (ephoton.indent-switcher) – 可以一键切换不同风格的缩进(比如2空格切换为4空格),有效缓解程序员之间的仇恨^o^
- markdownlint (davidanson.vscode-markdownlint) – 为Markdown脚本提供高亮;
- Partial Diff (ryu1kn.partial-diff) – 可以比较两份代码的异同,支持两个文件之间的比较,也支持两段代码之间的比较(选项在右键菜单里);
- Path Intellisense (christian-kohler.path-intellisense) – 在代码中可以识别输入的路径字符串,并给出上下文建议;
- Settings Sync (shan.code-settings-sync) – 可以把对VS Code的各项设置和所下载的插件备份在私人Gist上,便于跨平台开发环境的快速配置;
- Visual Studio IntelliCode (visualstudioexptteam.vscodeintellicode) – 微软官方出品的代码自动补全插件。
Python开发配置
只要安装好Python (ms-python.python)插件和pylint(用pip安装)就可以开始Python开发了。
为了让VS Code能够识别安装在conda环境下的包,需要为settings.json添加以下内容:
{ "python.pythonPath": "/home/john/.conda/envs/torch/bin/python" }
C++开发配置
其实安装好C/C++ (ms-vscode.cpptools)和CMake插件之后,在图形界面点击几次就可以成功编译并运行C++代码。这里还是给出完整的基于clang+CMake+Boost.Test的C++环境配置。
1. (可选)安装Boost
Boost用于单元测试,执行以下命令编译并安装Boost 1.70.0:
wget -O boost_1_70_0.tar.gz https://dl.bintray.com/boostorg/release/1.70.0/source/boost_1_70_0.tar.gz tar xzvf boost_1_70_0.tar.gz cd boost_1_70_0/ sudo apt-get update sudo apt-get install build-essential g++ python-dev autotools-dev libicu-dev build-essential libbz2-dev libboost-all-dev ./bootstrap.sh --prefix=/usr/ ./b2 sudo ./b2 install
2. 项目结构
假设项目结构如下:
该项目结构比较简单,但很适合于LeetCode等刷题用。这里暂不给出C++的代码,只给出和环境配置相关的文件内容。
3. .vscode/c_cpp_properties.json文件
{ "configurations": [ { "name": "Linux", "includePath": [ "${workspaceFolder}/**" ], "defines": [], "compilerPath": "/usr/bin/clang++-8", "cStandard": "c11", "cppStandard": "c++17", "intelliSenseMode": "clang-x64" } ], "version": 4 }
4. .vscode/launch.json文件,这里同时设置了gdb和lldb的调试脚本
{ "version": "0.2.0", "configurations": [ { "name": "(gdb) Launch", "type": "cppdbg", "request": "launch", "program": "${workspaceFolder}/build/test_main", "args": [], "stopAtEntry": false, "cwd": "${workspaceFolder}", "environment": [], "externalConsole": true, "MIMode": "gdb", "setupCommands": [ { "description": "Enable pretty-printing for gdb", "text": "-enable-pretty-printing", "ignoreFailures": true } ] }, { "name": "(lldb) Launch", "type": "lldb", "request": "launch", "program": "${workspaceFolder}/build/test_main", "args": [] } ] }
5. .vscode/tasks.json文件
{ "version": "2.0.0", "tasks": [ { "label": "clean", "type": "shell", "command": "rm -r build/*" }, { "label": "configure", "type": "shell", "command": "cmake", "args": [ "--no-warn-unused-cli", "-DCMAKE_C_COMPILER=/usr/bin/clang-8", "-DCMAKE_CXX_COMPILER=/usr/bin/clang++-8", "-DCMAKE_EXPORT_COMPILE_COMMANDS=TRUE", "-DCMAKE_BUILD_TYPE=Debug", "-H${workspaceFolder}", "-B${workspaceFolder}/build", "-G'Unix Makefiles'" ] } ] }
6. CMakeLists.txt文件
cmake_minimum_required (VERSION 3.5) project(cpp) set(PROBLEM_NAME "src") set(CMAKE_CXX_STANDARD 14) set(SOLUTION_SOURCES ${PROJECT_SOURCE_DIR}/${PROBLEM_NAME}/solution.cpp) set(SOURCES ${SOLUTION_SOURCES}) add_library(solution STATIC ${SOLUTION_SOURCES}) enable_testing() find_package(Boost REQUIRED COMPONENTS unit_test_framework) set(TEST_SOURCES ${PROJECT_SOURCE_DIR}/${PROBLEM_NAME}/solution_test.cpp) set(TEST_LIBS solution) add_library(boost_unit_test_framework STATIC IMPORTED) set_target_properties(boost_unit_test_framework PROPERTIES IMPORTED_LOCATION /usr/lib/libboost_unit_test_framework.a) add_executable(test_main ${TEST_SOURCES}) target_link_libraries(test_main ${TEST_LIBS} boost_unit_test_framework) add_test(solution_test test_main COMMAND test_main)
7. 编译、调试和测试
按快捷键Ctrl+Shift+P,然后输入并执行“CMake: Configure”,配置CMake项目。
执行“CMake: Build”可以编译C++代码。
执行“CMake: Run tests”可以执行单元测试,测试结果显示在VS Code最下方的状态栏,比如“1/1 test passing”。
点击左侧的“运行和调试”,或者按快捷键Ctrl+Shift+D,就可以选择“(gdb) Launch”或“(lldb) Launch”进行调试。
其他有用的工具
常用软件
- Chrome浏览器:
wget -q -O - https://dl.google.com/linux/linux_signing_key.pub | sudo apt-key add - sudo apt-get update sudo apt-get install google-chrome-stable
- nvtop,用于在终端中显示显卡的使用情况:
sudo apt install cmake libncurses5-dev libncursesw5-dev git cd ~/Downloads git clone https://github.com/Syllo/nvtop.git mkdir -p nvtop/build && cd nvtop/build cmake .. make sudo make install
如果出现“Could NOT find NVML (missing: NVML_INCLUDE_DIRS)”的错误,可以先执行:
cmake .. -DNVML_RETRIEVE_HEADER_ONLINE=True
再执行make命令。
- 网易云音乐:
从官网下载安装包http://d1.music.126.net/dmusic/netease-cloud-music_1.2.1_amd64_ubuntu_20190428.deb。安装好之后可能会出现点击图标但无法启动的问题。可以修改图标的调用参数(图标文件位于/usr/share/applications)为:
sh -c "unset SESSION_MANAGER && netease-cloud-music %U"
- TexStudio以及可能会用到的中文包:
sudo add-apt-repository ppa:sunderme/texstudio sudo apt-get install texstudio sudo apt-get install texlive-xetex texlive-bibtex-extra biber texlive-lang-chinese texlive-fonts-extra cjk-latex latex-cjk-chinese xfonts-wqy fonts-wqy-microhei fonts-wqy-zenhei latexmk ttf-mscorefonts-installer
- Typora:
wget -qO - https://typora.io/linux/public-key.asc | sudo apt-key add - sudo add-apt-repository 'deb https://typora.io/linux ./' sudo apt-get update sudo apt-get install typora
其他工具和脚本
- 把“文档”,“下载”等目录换为英文:
export LANG=en_US xdg-user-dirs-gtk-update export LANG=zh_CN
执行完第二行时会弹出窗口,选择替换。执行完第三行,重启,会弹出窗口询问是否切换语言,此时不替换即可。
- GPU监控脚本:
在主目录下建立gpu.sh文件,内容为
watch -n 0.5 nvidia-smi
然后执行一次
chmod a+x ~/gpu.sh
之后,新建一个终端执行
./gpu.sh
就可以每隔0.5秒更新一次GPU使用状态。
- 用system-monitor在顶部标题栏显示系统资源状态:
首先安装依赖包,在终端执行
sudo apt-get install chrome-gnome-shell sudo apt-get install gir1.2-gtop-2.0 gir1.2-networkmanager-1.0 gir1.2-clutter-1.0
然后用Chrome浏览器登录该网址https://extensions.gnome.org/extension/120/system-monitor,安装system-monitor。
本文涉及的所有脚本都在我的GitHub上:https://github.com/johnhany/ubuntu_setup
其中VS Code的C++环境配置可以参考我的另一个repo:https://github.com/johnhany/leetcode
[…] 完整的项目代码在我的GitHub上:https://github.com/johnhany/leetcode。关于Linux平台下C++开发环境的配置可以参考《Ubuntu计算机视觉开发环境配置(Python/C++)》。 […]
[…] 《Ubuntu计算机视觉开发环境配置(Python/C++)》 , 《Manjaro计算机视觉开发环境配置(Python/C++)》 […]
[…] PyTorch环境配置方法可以参考这两篇文章:《Ubuntu计算机视觉开发环境配置(Python/C++)》,《Manjaro计算机视觉开发环境配置(Python/C++)》。 […]
[…] 18.04系统上配置计算机视觉开发环境的过程:《Ubuntu计算机视觉开发环境配置(Python/C++)》。在这篇文章中,我会介绍在Manjaro 19.0系统上配置Python, […]