【机器学习】Python开发环境配置-Ubuntu18

文章目录

  • 一、系统环境
  • 二、设置国内源
  • 三、安装基础软件
  • 四、Anaconda
    • 1. 安装conda
    • 2. 常用conda命令
    • 3. 配置conda软件源为清华源
  • 五、nodejs
  • 六、JupyterHub + Lab多用户云notebook环境
    • 1. 安装配置
    • 2. Jupyter Lab 使用 conda 虚拟环境
  • 七、Pytorch+CUDA环境
    • 1. CUDA安装
    • 2. cuDNN安装
    • 2. Pytorch GPU版安装
  • 总结


一、系统环境

本机操作系统版本为:
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

三、安装基础软件

  1. 搜狗拼音输入法,参考:
    全网最详尽Ubuntu18安装搜狗输入法教程、
    官方搜狗安装指南
    注意:可能出现无法输入中文的问题,可以通过重启fcitx来检查是否缺少什么依赖库
    fcitx restart&
    
  2. 在Ubuntu软件商店里安装git, vscode, postman等常用软件

四、Anaconda

1. 安装conda

官网下载安装脚本,对应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

2. 常用conda命令

#  初始化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

3. 配置conda软件源为清华源

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

五、nodejs

第一种方式:官网下载最新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

六、JupyterHub + Lab多用户云notebook环境

1. 安装配置

机器学习开发环境下使用Jupyter notebook写Python代码是必不可少的,
【机器学习】Python开发环境配置-Ubuntu18_第1张图片

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进行测试,应该可以访问。

2. Jupyter Lab 使用 conda 虚拟环境

## 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+CUDA环境

1. CUDA安装

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

2. cuDNN安装

官网下载,找到对应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

2. Pytorch GPU版安装

进入官网https://pytorch.org/get-started/locally/,选择版本配置安装

conda install pytorch torchvision torchaudio cudatoolkit=11.3 -c pytorch

总结

本文主要是对本人部署机器学习开发环境的一个过程记录,作为后续备忘。该记录具有环境和版本特殊性,并不一定适用其它环境。

你可能感兴趣的:(人工智能,python,机器学习,linux)