资讯详情

炼丹--服务器深度学习训练

主要内容: 本文将解释如果使用现有的云服务器运行python程序。

使用到了Anaconda 实现了PyCharm本地编辑自动同步到云服务器,并在本地运行python使用云服务器运行代码(以免消耗本地计算机资源) 或是不用PyCharm编辑,但手动操作云服务器python文件、后台运行输出文本等 开发环境 云服务器:腾讯云(香港节点)G 25G CentOS 7.6.1810 x86_64

Anaconda版本:Anaconda3-4.3.1-Linux-x86_64 官方下载地址

Anaconda对应python版本:3.6.0

PyCharm版本:2021.1.2 专业版(注:社区版无法实现ssh连接服务器,主要内容2无法操作)

ssh工具:Xshell 5

服务器管理面板:宝塔面板(可有可无,主要更方便)

具体步骤 这里默认大家都具有一个完善可用的云服务器,不对服务器的搭建和基本配置做教程。

安装在服务器上Anaconda 使用Xshell或者其他终端模拟软件ssh连接服务器,不做具体教程。

①下载安装 可以先在PC终端下载指定Anaconda-Linux包 Anaconda官方下载地址 然后将其拖入上传到服务器中Anaconda使用以下命令安装包所在目录(注:使用您下载的包名) 如果安装包没有执行权限,包名为白色。先给它权限:

chmod u x Anaconda3-4.3.1-Linux-x86_64.sh 再次执行安装命令

sh Anaconda3-4.3.1-Linux-x86_64.sh 或者

./Anaconda3-4.3.1-Linux-x86_64.sh

或直接使用wget下载命令 以下是我安装的目录:

输入python测试安装是否完成。以下是成功安装。(如果不成功,记得重启下终端连接)

②配置 创建虚拟环境

conda create -n py36 python=3.6 查看当前存在哪些虚拟环境

conda env list 激活虚拟环境

source activate your_env_name 检查安装了哪些包

conda list 最初的包很少,现在需要安装一些常用的包,比如numpy,pandas,networkx,igraph,matplotlib等 安装可以用conda或pip如果环境自带,命令pip版本太低需要正确pip进行升级。 我第一次建的时候,matplotlib和pandas使用pip安装,报错,如下图所示,应该说的是版本问题,查了一大圈都找不到原因,后来在学长的指导下,我又把anaconda重建虚拟环境,使用它conda命令来安装matplotlib、pandas、numpy这几个包,但networkx、igraph还是需要pip来安装的,networkx我用conda安装报错了。 (conda和pip下载的包的版本不同。如果你有我的错误,试试另一种安装方法。

conda install package_name(包名) pip install package_name(包名)

其他命令

conda update conda: 当前检查更新conda conda search XXX 搜索包,查看安装版本 conda remove -n py36 --all 删除环境 conda deactivate 退出虚拟环境,conda4之前版本:source deactivate

pip install --upgrade <包的名字> 更新包 pip install python_igraph (import igraph包) 2.配置PyCharm 完成服务器的anaconda配置,云服务器已经运行python程序的能力。现在我们在这里PC端编辑的PyCharm代码可以实时同步云,并进行一些配置。

①打开PyCharm,添加解释器 一是右下角点击会出现python点击添加解释器

另一种是点击setting(设置);再找python解释器;点击小齿轮;点击添加。

打开后,点击下图SSH解释器(社区版)PyCharm应该没有这个,需要专业版)

点击下一步输入服务器主机地址和用户名

在服务器上设置解释器路径,直到您刚刚在那里anaconda创建的虚拟环境,找到python (/root/anaconda3/envs/yunpy36(您的虚拟环境名称)/bin/python)

设置本地路径(本地项目路径) 和 服务器python存储位置。以后会改变目录下面的位置python项目自动上传到服务器实现同步。 然后完成,即设置成功。

②同步文件 只需点击整个文件夹或单个目录,然后点击工具,找到部署,点击上传,将本地项目上传到服务器。您可以检查自动上传。

服务器同步目录如下图所示

③测试 我们写一个test,测试(记得同步) import math import random a = random.randint(2,5) b = math.pow(a,2) fo = open(“test1.txt”,“w”) fo.write(str(b)) fo.close() print(“Finish!”)

PyCharm输出,发现有ssh://root@XXX等字表示我们是在服务器上运行的代码。 并且本地PyCharm还有打印输出。让我们去服务器看输出文件。test1.txt当地没有文件。

那么整个PyCharm同步云服务器编程配置完成!

3.在服务器上运行python程序和后台挂载实验 需求:我们不想通过PyCharm在服务器上运行python,希望服务器后台挂载python程序,让它去连夜跑实验(压榨劳动力),然后和我在一起PC没关系,玩游戏看剧,不用担心PC死机闪退等烦恼。

①SSH连接服务器 我还在这里用Xshell 5.省略连接步骤 ②进入刚刚在anaconda虚拟环境 source activate your_env_name

③使用nohup命令后台运行python程序 nohup python3 -u my.py >> my.log 2>&1 & nohup解释命令可以参考本博客 来了条链接 但需要一提的是 -u,若没有-u,nohup输出的my.log整个文件python运行结果将在运行结束后输出。这不方便我们查看python添加程序运行状态-u实时输出实现后。 ④查看进程状态 在使用nohup启动python时间,会产生一个过程ID 可以使用 jobs -l 查看当前终端的整个过程(更改命令只适用于更改终端窗口,如果打开另一个窗口需要适用ps命令查看全局进程,如下命令)

还可以对改python暂停、恢复、杀死程序等操作 jobs -l (当前终端查看所有流程) ps -aux|grep 进程号 (全局各新终端查看指定流程) ps -ef (全局全过程) kill -STOP 进程号 (命令可以直接暂停后台任务) kill -CONT 进程号 (命令可以直接恢复后台任务) kill -9 进程号 (杀死过程)

标签: 3040连接器白色

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台