d2l|安装--Miniconda安装|CentOS8
一、安装Moniconda3 (centOS8)
参考:
https://www.cnblogs.com/qq419139624/p/14862793.html
https://zh.d2l.ai/chapter_installation/index.html#chap-installation
https://www.jianshu.com/p/1c1047bfb351
1. 下载
wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-latest-Linux-x86_64.sh

2. 安装
2.1 输入命令
bash Miniconda3-latest-Linux-x86_64.sh
出现

持续按enter,等licence agreement 显示完,按yes
2.2 确认安装路径

当前用户是root, 采用默认安装路径/root/miniconda3,按enter
2.3 默认安装后初始化Miniconda3
![]()
初始化minicoda3,按yes

2.4 使环境变量的修改生效
输入
source /root/.bashrc
3. 检查是否成功
conda -V
显示
conda 4.12.0

二、安装好后使用MXNet及d2l
1. 安装好后,重新打开terminal
(base) [root@iZm5e211s4jw7g4w6pgezgZ ~]# conda create --name d2l python=3.6 -y

.......

激活d2l
(base) [root@iZm5e211s4jw7g4w6pgezgZ ~]# conda activate d2l
(d2l) [root@iZm5e211s4jw7g4w6pgezgZ ~]#
2. 查看是否有可用于计算的GPU
输入
lspci | grep VGA
输出
00:02.0 VGA compatible controller: Cirrus Logic GD 5446
表示没有可用于计算的GPU
3. 机器没有NVIDIA GPU或CUDA, 按如下方式MXNet的CPU版本
pip install mxnet==1.7.0.post1 pip install d2l==0.17.5
第2条命令执行后有出错,关于numpy和matplot的版本问题:
ERROR: Could not find a version that satisfies the requirement numpy==1.20.1
推测python版本没按照要求导致的,估计是d2l里面设定了版本。查看了一下相关问题的解答,确实是这样,参见 https://stackoverflow.com/questions/66182906/error-no-matching-distribution-found-for-numpy-when-deploying-app-to-heroku
![]()
那就把现在anaconda的python版本升级一下,参考这篇 https://www.delftstack.com/zh/howto/python/change-python-version-in-anaconda/
应该是有多种方法可以通过anaconda升级python,文章里面介绍的有4种,这里使用第1种
conda install python=3.9
安装完成,看看python版本
(d2l) [root@iZm5e211s4jw7g4w6pgezgZ ~]# python Python 3.9.12 (main, Jun 1 2022, 11:38:51) [GCC 7.5.0] :: Anaconda, Inc. on linux Type "help", "copyright", "credits" or "license" for more information. >>> exit()
已经从3.6升到3.9
之后再执行
pip install d2l==0.17.5
成功
4. MXNet测试
上面安装完MXNet和d2l后,需要在python下测试MXNet。进入python环境后,输入
>>> import mxnet >>> print(mxnet.__version__) 1.7.0
表示正常模块正常导入
(好像一开始python下并不能正常运行,也可能记混了,找不到出错的界面了,而且一开始小小白的我并不知道MXNet是要在python下运行。重新开了terminal,conda activate d2l,在命令行下执行了一下bash,然后再在python下 import mxnet,就ok了。不知道这个bash有没有起点啥作用。那为什么我会执行这个bash ---- b站找到这本书的视频课【 https://www.bilibili.com/video/BV1tx41147Bp?share_source=copy_web 】,23'17'',他说了一个什么path导致的问题,执行bash后就好了)
三、如何将远端Linux jupyter notebook作为server
参考:
[1]在Linux服务器上运行Jupyter notebook server教程: https://www.cnblogs.com/thousfeet/p/10647102.html
[2]centOS 布置jupyter notebook环境: https://www.cnblogs.com/kaerxifa/p/12963049.html
[3]Linux下安装Jupyter,并可在本地浏览器运行: https://www.jianshu.com/p/16b0a3046317
[4]linux下使用命令来查看某一端口是否开放: https://blog.csdn.net/m0_37975886/article/details/78405808
[5]阿里云服端口无法访问: https://blog.csdn.net/qingcheng157/article/details/80262829
[6]简单明晰的Jupyter Notebook总结与指南: https://www.cnblogs.com/-X-peng/p/14988821.html
[7]Linux查看端口使用状态、关闭端口方法: https://blog.csdn.net/wudiyi815/article/details/7473097
1.根据[1]~[3] ,在aliyun linux上安装并配置jupyter notebook
- 环境:CentOS8.5 | python3.9
1.1 安装(在root下)
pip3 --version #首先检查本地环境 pip3 install --upgrade pip #升级PIP至最新版本 yum -y groupinstall "Development Tools" #安装多种开发者工具 pip3 install jupyter Notebook #安装jupyter notebook
#没有使用python虚拟环境
安装完检查一下
#输入
[root@arrow ~]jupyter --version #输出 Selected Jupyter core packages... IPython : 8.4.0 ipykernel : 6.15.0 ipywidgets : 7.7.0 jupyter_client : 7.3.4 jupyter_core : 4.10.0 jupyter_server : not installed jupyterlab : not installed nbclient : 0.6.4 nbconvert : 6.5.0 nbformat : 5.4.0 notebook : 6.4.12 #notebook版本 qtconsole : 5.3.1 traitlets : 5.2.2
1.2 配置
[root@arrow ~]# cd /usr/local
[root@arrow local]# mkdir jupyter && cd jupyter #创建用来存放Jupyter notebook文件的jupyter文件夹并转到该文件夹下
[root@arrow jupyter]# jupyter notebook --generate-config #生产配置文件
Writing default config to: /root/.jupyter/jupyter_notebook_config.py #表示在/root/.jupyter/下已生成jupyter的.py配置文件jupyter_notebook_config.py
vim修改配置文件jupyter_notebook_config.py,直接将下面的加到配置文件开头位置
c.NotebookApp.port = 9999 c.NotebookApp.ip = '0.0.0.0' c.NotebookApp.open_browser = False c.NotebookApp.notebook_dir = '/usr/local/jupyter'
:wq保存退出
设置远程访问jupyter的秘密(本地浏览器访问时需要)
jupyter notebook password
Enter password:
Verify password:
[NotebookPasswordApp] Wrote hashed password to /root/.jupyter/jupyter_notebook_config.json
2. 根据[4][5],确保端口可访问(上面的9999或任意你配置里面写的)
2.1 确保云平台端口已放开,可访问

2.2 确保linux机器上的端口可访问
firewall-cmd --list-ports #查看机器上已经开放的端口 3306/tcp 8080/tcp #列出来的表示机器上已经开放
firewall-cmd --zone=public --add-port=9999/tcp --permanent #添加要开启的端口 firewall-cmd --reload #重新加载防火墙 firewall-cmd --list-ports #再次查看 3306/tcp 8080/tcp 9999/tcp
3. 手动启动jupyter notebook
jupyter notebook --ip=0.0.0.0 --no-browser --allow-root
出现以下信息表示启动成功
[I 12:51:53.971 NotebookApp] Serving notebooks from local directory: /usr/local/jupyter [I 12:51:53.971 NotebookApp] Jupyter Notebook 6.4.12 is running at: [I 12:51:53.971 NotebookApp] http://iZm5:9999/ [I 12:51:53.971 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmat #这里jupyter打开之后未手动关掉就会一直在当前terminal
4. 本地windows浏览器访问远程jupyter notebook
浏览器输入: 你的公网ip:9999

输入之前设置的密码,登录成功

四、访问远程jupyter并尝试运行mxnet、d2l软件包及相关代码
1. 终端terminal激活运行时环境,base下执行
conda activate d2l
进入d2l环境
2. d2l下开启jupyter服务
jupyter notebook --ip=0.0.0.0 --no-browser --allow-root
3. 浏览器登陆jupyter成功后,新建ipynb文件

新标签打开

4. 输入
import mxnet
print(mxnet.__version__)

点击运行,输出正常就ok


浙公网安备 33010602011771号