由于比赛需要,需要将本地的一个Python项目(keras框架的深度学习代码)放到云服务器上运行,以下是我的历程,以及踩过的坑,希望对有相同需要的人有所帮助。

步骤一:购买学生机

  1. 阿里云官网认证学生用户(24周岁以下)
  2. 返回阿里云首页,查看产品,选择云服务器ECS
  3. 点进去之后页面拉到最底端,选择学生机
  4. 选择系统CentOS(好不容易有个Linux系统,怎么可以选Windows呢)和地域

    问了客服,好像没有给个人用的GPU的服务器,只有给企业用的,而且炒鸡贵,不过经过测试,CPU的服务器跑深度学习的代码也不算很慢。
  5. 购买完之后需要进入控制台,查看自己服务器相关信息,在之后可能会用到

    点进去之后查看公网ip,之后有用

步骤二:在服务器上放行相关端口(现在我觉得计网不是白学的)

  1. 打开服务器管理控制台,选择实例
  2. 放行相关端口(照我的放行吧)

步骤三:安装Xshell和Xftp

这一步是为了方便连接云服务器和向服务器上上传文件,Xshell相当于一个访问服务器并对服务器进行操作的窗口,Xftp相当于一个向服务器上传文件的窗口,当然也可以不下载这两个,直接通过网页阿里云服务器的控制台进行操作,网页操作有个缺点是,一段时间没有响应,就需要重新连接服务器。
下载Xshell和Xftp链接参考:点击跳转下载教程 下载的时候提示你购买软件什么的直接关掉就行。

步骤四:打开Xshell连接云服务器

怎么用云服务器跑程序 怎么用云服务器跑代码_深度学习


怎么用云服务器跑程序 怎么用云服务器跑代码_CentOS 7_02


点击连接之后输入服务器用户名和密码即可。

步骤五:安装Anaconda以及Python3

参考链接:安装Anaconda教程 !!点进去先看我这里,该博主使用的是PuTTY连接云服务器并进行安装,由于上一步我们已经通过Xshell连接服务器了,所以可直接跳过该博主安装PuTTY的步骤以及连接服务器步骤,直接进行后面的代码操作。

步骤六:配置keras环境

  1. 配置keras环境
    需要说明的是要执行conda前必须先执行 source ~/.bashrc
source ~/.bashrc
conda create -n keras python=3.7

配置完后结果如下图:

怎么用云服务器跑程序 怎么用云服务器跑代码_Python_03

  1. 配置tensorflow环境
    首先进入keras环境,进入keras环境后配置tensorflow环境
conda activate keras
pip install tensorflow

怎么用云服务器跑程序 怎么用云服务器跑代码_怎么用云服务器跑程序_04


ok,到目前为止都不算什么,基本一切顺利,环境配好之后,现在可以把自己的项目放到服务器上运行下试试。

步骤七:将自己的Python项目放到服务器上

  1. 打开之前安装的Xftp并连接自己的服务器
  2. 将自己的Python项目文件整个地拖进去

步骤八:通过Xshell在服务器上运行自己的Python项目

  1. 首先进入keras环境
source ~/.bashrc
conda activate keras
cd 你的项目所在文件夹
python 你想执行的python文件名.py

注意:
1.这里如果报 ImportError: Something is wrong with the numpy installation. 这种错那就是因为该路径下有多个版本的的numpy,只要把所有的numpy uninstall之后再install一个就好了,一定要在tensorflow环境下进行
参考链接:解决上述错误的原文链接 2.如果在进入tensorflow环境时报错,,那是因为忘记配置tensorflow环境了,,我就要让大家走走弯路,,太痛苦了,
然后退出环境,来配置tensorflow环境

source ~/.bashrc
conda create -n keras python=3.7

然后接着运行

3.如果出现下述错误(大BOSS):

ImportError: /lib64/libstdc++.so.6: version CXXABI_1.3.9' not found (required by............) 或 ImportError: /lib64/libstdc++.so.6: versionCXXABI_1.3.8’ not found (required by…)之类的,请按下面步骤操作,不要问我为什么,我只知道解决这个问题炒鸡痛苦,如果把整个过程花的时间当做1,这个问题的解决至少占了0.7吧,,也可能只是因为我太菜了

我参考的几个典型的解决方案如下,不过最终都没能解决我的问题,可能是我的问题的特殊性,大家可以参考下,万一有用:

方案一方案二

其实我参考的远不止这些,为了避免大家看着头疼我还是不列了

1.请先参考链接:通用解决方案

连接中提到的 libstdc++.so.6.0.24 下载地址请看该博客的评论区

2.下载到本地之后会发现下载后的文件名是libstdc.so.6.0.24 ,而非libstdc++.so.6.0.24,这个文件本身是对的,只是文件名不对而已,请大家下载后直接将文件名改成libstdc++.so.6.0.24就好,然后将下载的libstdc++.so.6.0.24通过Xftp拖至/root/lib64文件夹下,再接着按上面博主的做法继续执行,,

然后这里又有一个坑,就是在执行博主的rm -rf libstdc++.so.6代码时,先进入/root/lib64再执行,不然不能成功

怎么用云服务器跑程序 怎么用云服务器跑代码_深度学习_05


3.上面完成之后重新运行你的python程序,你可能又遇到错了,就是/lib64/libm.so.6: version `GLIBC_2.23’ not found

跟上面的错很像

解决方案

升级make

最后再运行运行一下程序,应该就可以了,本人小白一枚,有什么写的不专业的还望批评指正,希望有所帮助吧。