记一次配置阿里云ECS GPU计算型gn5实例
基础配置
CPU: Intel(R) Xeon(R) CPU E5-2682 v4 @ 2.50GHz * 16
MEM: 120 GiB
GPU: NVIDIA P100 * 2
OS: Ubuntu 18.04 64bit
环境配置
GPU驱动 cuda cuDNN
version | url | file | |
---|---|---|---|
GPU Driver | Tesla P100 | https://www.nvidia.cn/Download/index.aspx | NVIDIA-Linux-x86_64-418.67.run |
cuda | 10.1 | https://developer.nvidia.com/cuda-downloads | cuda_10.1.168_418.67_linux.run |
cuDNN | 7.6.2 for cuda10.1 | https://developer.nvidia.com/rdp/cudnn-download | cudnn-10.1-linux-x64-v7.6.2.24.tgz |
- GPU Driver
chmod +x NVIDIA-Linux-x86_64-418.67.run
./NVIDIA-Linux-x86_64-418.67.run
注意:
默认检查cc版本7.3,但本机是7.4,忽略即可
未发现X,如果X没有发现此驱动,需要安装pkg-cinfig和x.org sdk/development包
提醒32位未装
- cuda
chmod +x cuda_10.1.168_418.67_linux.run
./cuda_10.1.168_418.67_linux.run
- cudnn
cp cudnn-10.1-linux-x64-v7.6.2.24.tgz /usr/local/
cd /usr/local/
tar xvf cudnn-10.1-linux-x64-v7.6.2.24.tgz
ls cuda/lib64 | grep cudnn
环境变量:
# .bashrc
export PATH=$PATH:/usr/local/cuda-10.1/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-10.1/lib64
软件环境
- python包
# 首先在本地生成项目的requirements.txt, 压缩上传
sudo pip3.6 install pipreqs
pipreqs Inverse-Reinforcement-Learning/
zip -r Inverse-Reinforcement-Learning.zip Inverse-Reinforcement-Learning/
scp Inverse-Reinforcement-Learning.zip root@39.104.56.54:~/
# 服务器上解压,安装对应包
unzip Inverse-Reinforcement-Learning.zip
apt install python3-pip # 注意服务器上pip对应python2
pip3 install -r requirment.txt
- gnome & vnc
呃 我们的项目需要用到窗口来做交互 同时方便大家使用 尝试装个gnome
apt install gnome-session gdm3
# 待续
- jupyter notebook
pip3 install notebook
jupyter notebook --generate-config
# ipython
from notebook.auth import passwd
passwd() # 输入密码,复制该hash值
# vim ~/.jupyter/jupyter_notebook_config.py
c.NotebookApp.ip = '内网ip' # 注意内网
c.NotebookApp.password = u'密码hash值'
c.NotebookApp.open_browser = False
c.NotebookApp.port =8888
c.NotebookApp.notebook_dir = '/root'
screen -S jupyter_notebook
jupyter notebook --allow-root
<C-a> d
最后注意去ECS的控制台,选中该实例,添加一个允许8888/8888端口的自定义TCP安全组规则即可
遇到的问题
- 在强化学习的过程中涉及到真正的游戏环境, 所以需要把窗口取消掉
# 在pygame的环境下, 添加环境变量即可
os.environ["SDL_VIDEODRIVER"] = "dummy"
- 同时音频虽然可以不用取消, 但由于总是报错, 屏幕上出现很多的ALSA报错信息.
第一次这么解决了, 但问题时python的tqdm信息也是通过错误信息提供的, 这样就把tqdm和真正的报错去掉了.
python3 xxx.py 2>/dev/null
这之后突然脑子上线, 用grep过滤掉ALSA的报错吧, 这样tqdm不会乱掉同时其他报错也都在, 缺点是这些信息都当做正常信息输出了
python3 xxx.py 1>&1 2>&1 | grep -v "ALSA" >&1
顺便一提, shell中双引号类似与python中的f"", 而单引号类似与r""
记一次配置阿里云ECS GPU计算型gn5实例的更多相关文章
- 配置阿里云ECS支持IPv6,解决苹果app审核失败问题
前几天iOS的App提交给苹果审核没通过,给出的原因是:该应用在 IPv6 的环境下无法使用.检查发现:阿里云优化过的系统没有启用IPv6协议,需要配置启用一下,但是只单独启用IPv6也是无法直接提供 ...
- 初步配置阿里云ECS服务器
阿里云服务器配置记录01 购买阿里云学生服务器9.9元每月 创建ubuntu64位实例系统,注意必须添加安全组设置才可远程登入(设置课访问端口及IP范围 putty 软件在windows10下远程登入 ...
- 阿里云ECS服务器,修改实例密码,查看CPU核数,内存,阿里云服务器关机了怎么办?
新买的ECS服务器是没有密码的,需要重置密码(root,P@ssw0rd),并重启: 查看CPU核数和内存: 阿里云服务器关机了,不用怕,登录阿里云,可以启动和关闭
- 阿里云ECS开放批量创建实例接口,实现弹性资源的创建
摘要: 为了更方便的实现弹性的资源创建,方便用户一次运行多台ECS按量实例来完成应用的开发和部署,阿里云开放了ECS的批量创建实例接口RunInstances,可以单次最多创建100台实例,避免重复调 ...
- 配置 阿里云ECS Ubuntu 16.04 64bit 桌面环境
1. 步骤 安装软件 修改root权限 重启 2. 详情 1. 安装软件 创建脚本文件(例如:desktopSetting.sh),并输入以下内容: #!/bin/bash #更新软件库 apt-ge ...
- 购买阿里云ECS+安装宝塔面板+Mac下怎么连接阿里云ECS服务器
1.购买阿里云ECS 2.重置实例密码 这个有点对用户不友好,实际意思就是设置服务器的root登录密码 3.配置安全组放行端口 因为服务器需要从宝塔网站download安装包,包括一些常用的服务比如S ...
- Chromebook 阿里云ECS 配置 jupyter Notebook
前言 新购入一台Chromebook Pixel ,为方便机器学习编程,用学生版的阿里云ECS搭建了jupyter Notebook 为减少下次踩坑,参考链接记录如下: 参考链接 阿里云使用笔记(一) ...
- 阿里云ECS主机多个网站配置,是有先后顺序的
注意:阿里云ECS主机多个网站配置,是有先后顺序的: 进入路径:/alidata/server/httpd-2.4.2/conf/vhosts/ 注意这个2.4.2是自己的版本不一样,但是找到 se ...
- 阿里云ECS每天一件事D1:配置SSH
近期因为项目需求,采购了两台阿里云ECS,选择的系统为CentOS 6.3 X64 安全加固版,额外买了160G的硬盘,应该够应付此项目的需求了. ECS默认已经配置好了sshd服务,可以使用root ...
随机推荐
- PHP ajax 实现三级联动
在一个单独JS页面中,利用ajax实现三级联动,做成一个三级联动形式,以便于以后随时调用 JS代码: $(document).ready(function(e) { $("#sanji&qu ...
- 移动端——meta标签
meta标签主要辅助HTML结构层的.meta标签不管在互联网前端还是在移动端都起了很重要的作用. <meta http-equiv="Content-type" conte ...
- Android网络编程之——文件断点下载
一:关于断点下载所涉及到的知识点 1.对SQLite的增删改查(主要用来保存当前任务的一些信息) 2.HttpURLConnection的请求配置 HttpURLConnection connecti ...
- android Activity,Fragment,Application内存状态监听及等级
@Override public void onTrimMemory(int level) { super.onTrimMemory(level); switch (level){ case TRIM ...
- Vue.js父子组件如何传值 通俗易懂
父子组件传值原理图 一般页面的视图App.vue应为这样 一.父组件向子组件传值 1.创建子组件,在src/components/文件夹下新建一个Child.vue 2.Child.vue的中创建pr ...
- phoenix创建表失败:phoenixIOException: Max attempts exceeded
下面的问题,搞了1天才解决,太坑了,在这里记录一下. 问题现像:执行命令后,1分钟没有返回, 然后报下面的错,偶尔会出现以下不同的报错信息. jdbc:phoenix:10.0.xx.1:2181&g ...
- 数位dp作业
dp东西实在太多,昨天开了个树形dp入门,还没入呢,今天就要写数位dp,也不知道这种学习状态对不对啊? A - 不要62 题意: 输入n到m内,符合条件的数的个数.条件:不含62和4. 这里直接学习q ...
- 2019-2020 ICPC, Asia Jakarta Regional Contest H. Twin Buildings
As you might already know, space has always been a problem in ICPC Jakarta. To cope with this, ICPC ...
- element UI实现动态生成多级表头
一.效果图 二.封装两个组件,分别为DynamicTable.vue和TableColumn.vue,TableColumn.vue主要是使用递归来对表头进行循环生成 DynamicTable.vue ...
- 修改umask后apache报错:because search permissions are missing on a component of the path,
0.修改umask后apache报错:because search permissions are missing on a component of the path, 1.ls -lrth ./h ...