

Ubuntu计算机视觉开发环境配置(Python/C++) - JohnHany的博客
source link: http://johnhany.net/2020/03/ubuntu-cv-environment/?
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

本文介绍在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源码和测试数据,下载地址如下:
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
</div
Recommend
-
21
在之前的一篇文章中我分享了在Ubuntu 18.04系统上配置计算机视觉开发环境的过程:《Ubuntu计算机视觉开发环境配置(Python/C++)》。在这篇文章中,我会介绍在Manjaro 19.0...
-
15
图解Faster-RCNN的PyTorch实现 本文用图解的方式,分析Faster-RCNN的PyTorch实现,以便直观地了解各个模块之间的调用和依赖关系,以及对NMS和ROI Align的CUDA实现的解读。 原始的代码来自
-
39
从零搭建深度学习框架(二)用Python实现计算图和自动微分 我们在上一篇文章《从零搭建深度学习框架(一)用NumP...
-
38
本系列包括3篇文章,以深度学习的模型搭建和训练过程为例,解释面向对象编程中22种设计模式的基本原理,并给出C++实现。 这些设计模式的实现方法大多参考自《深入设计模式》...
-
18
本系列包括3篇文章,以深度学习的模型搭建和训练过程为例,解释面向对象编程中22种设计模式的基本原理,并给出C++实现。 这些设计模式的实现方法大多参考自《深入设计模式》...
-
23
本系列包括3篇文章,以深度学习的模型搭建和训练过程为例,解释面向对象编程中22种设计模式的基本原理,并给出C++实现。 这些设计模式的实现方法大多参考自《深入设计模式》...
-
8
0. 查看最新教程 点击此链接跳转到Nvidia Driver 450、CUDA 11.0、cuDNN 8.0.4版本配置教程 1. 深度学习硬...
-
21
3090 + Ubuntu 18.04 配置 MMDetection 环境2021 年 5 月 19 日总结来说,我根本就不应该装 Ubuntu 18.04 搭配 3090。但是现在装都装好了,那也没办法了。前两天环境出问题我重装了一次,记录一下步骤(CUDA 11.0 + cudnn 8....
-
8
本文主要记录在使用Ubuntu开发时必要的环境配置,以及使用过程遇到的一些问题和解决办法apt是Ubuntu中非常重要的工具,是一款软件包管理器,可以理解为软件管家,Ubuntu中软件安装大多通过此工具用命令完成。通过一下文章了解更多关于apt的内容
-
6
最近买了一台新的笔记本,拿到电脑后的首先要做的是配置机器学习环境。中间犯了一些错误,于是整理出来供可能需要的同学参考。 安装Windows子系统 WLS2 从 WSL 1 更新到 WSL 2的主要原因包括: 提高文件系统性能, 支持...
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK