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

 

posted @ 2022-06-15 15:22  赵橒  阅读(2160)  评论(0)    收藏  举报