本机操作系统版本为:
Ubuntu 18.04.6 LTS (Bionic Beaver)
阿里云:
deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
清华源:
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
fcitx restart&
官网下载安装脚本,对应python3.9,并执行脚本进行安装:
wget https://repo.anaconda.com/archive/Anaconda3-2022.05-Linux-x86_64.sh
# 修改运行权限
chmod +x Anaconda3-2022.05-Linux-x86_64.sh
# 安装到/usr/local/anaconda3目录下,便于多用户使用
sudo ./Anaconda3-2022.05-Linux-x86_64.sh
# 初始化conda运行环境,可以在root以及新用户环境下运行该命令进行环境设置
conda init
# 创建python隔离环境
conda create -n env_name python=3.9
# 激活隔离环境
conda activate env_name
# 关闭隔离环境
conda deactivate
# 查看所有隔离环境
conda env list
# 删除隔离环境
conda remove -n env_name --all
# 查看当前环境已经安装的python依赖包
conda list
# 查看conda配置
conda config --show
# 配置conda软件源
conda config --add channels conda-canary
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
# 以上两条是Anaconda官方库的镜像
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
# 以上是Anaconda第三方库 Conda Forge的镜像
# for linux
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
# for legacy win-64
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/peterjc123/
# 以上两条是Pytorch的Anaconda第三方镜像
conda config --set show_channel_urls yes
第一种方式:官网下载最新LTS版本压缩包,并解压后配置PATH环境变量:
wget https://nodejs.org/dist/v16.15.1/node-v16.15.1-linux-x64.tar.xz
tar -xf node-v16.15.1-linux-x64.tar.xz
cd node-v16.15.1-linux-x64/
# 在~/.bashrc中设置PATH环境变量
第二种方式:使用apt直接在线安装
sudo apt-get install -y nodejs npm
# 换源
sudo npm config set registry https://registry.npm.taobao.org
sudo npm install n -g
# 升级为最新稳定版本
sudo n stable
hash -r
node -v
npm -v
机器学习开发环境下使用Jupyter notebook写Python代码是必不可少的,
Jupyter Notebook是一个交互式笔记本,支持运行 40 多种编程语言。Jupyter Notebook 的本质是一个 Web 应用程序,便于创建和共享文学化程序文档,支持实时代码、数学方程、可视化和 markdown,用途包括:数据清理和转换,数值模拟,统计建模,机器学习等等 。
由于Jupyter只支持单用户的使用场景,作为一个可交互的web服务,只支持单用户模式实在让人难以理解。估计开发者也觉得这个问题太过鸡肋,于是 Jupyterhub因有而生。
JupyterLab是Jupyter主打的最新数据科学生产工具,在一定程度上是为了取代Jupyter Notebook。它支持安装插件以及有着更好的界面。而 JupyterHub是为多个用户提供Jupyter Notebook的最佳方式。
切换到root用户下安装软件:
pip install jupyterhub
npm install -g configurable-http-proxy
pip install notebook
pip install jupyterhub-dummyauthenticator
pip install jupyterlab
# 测试是否安装成功
jupyterhub -h
configurable-http-proxy -h
# 生成配置
mkdir /etc/jupyterhub
jupyterhub --generate-config -f /etc/jupyterhub/jupyterhub_config.py
# 修改配置
vim /etc/jupyterhub/jupyterhub_config.py
修改配置文件:
## /etc/jupyterhub/jupyterhub_config.py
# 认证方式
c.JupyterHub.bind_url = 'http://192.168.10.94:8000'
# 内部IP和端口
c.JupyterHub.hub_ip = '127.0.0.1'
c.JupyterHub.hub_port = 8888
c.Spawner.ip = '127.0.0.1'
# 指定登录用户的工作路径
c.Spawner.notebook_dir = '~/jupyter_root'
# 认证方式
c.JupyterHub.authenticator_class = 'jupyterhub.auth.PAMAuthenticator'
# 指定可访问用户
c.Authenticator.admin_users = set(['root'])
c.Authenticator.allowed_users = set(['root','derek'])
# 启用jupyterlab
c.Spawner.default_url = '/lab'
启动hub服务:
nohup jupyterhub --config=/etc/jupyterhub/jupyterhub_config.py --no-ssl > hub.log 2>&1 &
通过浏览器远程访问:http://192.168.10.94:8000进行测试,应该可以访问。
## root用户
# 携带ipykernel参数创建conda虚拟环境
conda create -n torch112 python=3.9 ipykernel
# 全局安装kernel到jupyter (如果带--user参数,只能由该用户独用)
python -m ipykernel install --name torch112 --display-name torch112
# 查看已经安装的内核
jupyter kernelspec list
# 删除指定kernel
jupyter kernelspec remove torch112
刷新jupyter网页,可以切换新创建的内核
Pytorch 1.12支持CUDA toolkit 10.2, 11.3, 11.6,这里选择11.3。
NVIDIA官网地址下载:
https://developer.nvidia.com/cuda-11.3.0-download-archive
wget https://developer.download.nvidia.com/compute/cuda/11.3.0/local_installers/cuda_11.3.0_465.19.01_linux.run
chmox +x cuda_11.3.0_465.19.01_linux.run
sudo sh cuda_11.3.0_465.19.01_linux.run
上面步骤安装报错,具体不清楚什么原因。具体如下:
## more /var/log/cuda-installer.log
[INFO]: Initializing menu
[INFO]: Setup complete
[INFO]: Components to install:
[INFO]: Driver
[INFO]: 465.19.01
[INFO]: Executing NVIDIA-Linux-x86_64-465.19.01.run --ui=none --no-questions --a
ccept-license --disable-nouveau --no-cc-version-check --install-libglvnd 2>&1
[INFO]: Finished with code: 256
[ERROR]: Install of driver component failed.
[ERROR]: Install of 465.19.01 failed, quitting
调整安装方式:
检查本机nvcc未安装,先安装nvidia-cuda-tools:
# 需要花点时间等等
sudo apt install nvidia-cuda-toolkit
# 检查nvcc已经安装
# 查看可使用的驱动
ubuntu-drivers devices
# 自动安装推荐驱动
sudo ubuntu-drivers autoinstall
reboot
# 查看nvidia信息
nvidia-smi
重新安装上面下载的run安装包,取消driver的X。
sudo sh cuda_11.3.0_465.19.01_linux.run
# 测试是否安装成功
cd /usr/local/cuda/samples/1_Utilities/deviceQuery
make
./deviceQuery
官网下载,找到对应cuda版本的cuDNN版本,网页上点击下载。
https://developer.nvidia.com/rdp/cudnn-download
# 本机对应的版本是8.2.1 ubuntu1804版本
sudo dpkg -i libcudnn8_8.2.1.32-1+cuda11.3_amd64.deb
sudo dpkg -i libcudnn8-dev_8.2.1.32-1+cuda11.3_amd64.deb
sudo dpkg -i libcudnn8-samples_8.2.1.32-1+cuda11.3_amd64.deb
# 对应着自己版本名 测试是否安装成功
cp -r /usr/src/cudnn_samples_v8 /$HOME
$ cd $HOME/cudnn_samples_v8/mnistCUDNN/
$ make all
$ ./mnistCUDNN
如果编译报如下错误,则安装freeimage后再重新编译
test.c:1:10: fatal error: FreeImage.h: 没有那个文件或目录
sudo apt-get install libfreeimage3 libfreeimage-dev
进入官网https://pytorch.org/get-started/locally/,选择版本配置安装
conda install pytorch torchvision torchaudio cudatoolkit=11.3 -c pytorch
本文主要是对本人部署机器学习开发环境的一个过程记录,作为后续备忘。该记录具有环境和版本特殊性,并不一定适用其它环境。