ECS Cuda Environments Setup
1.Anaconda
- version: Py 3.5.2
- download url: https://repo.continuum.io/archive/
- https://repo.continuum.io/archive/Anaconda3-4.2.0-Linux-x86_64.sh
- install: sudo bash Anaconda3-4.2.0-Linux-x86_64.sh
- addition:
- prepending PATH=/home/ming_test/anaconda3/bin to PATH in /home/ming_test/.bashrc
- source ~/.bashrc
2.Cuda、Cudnn
- version: Cuda9.0 + Cudnn7.0.5 + Tensorflow-gpu1.8.0
- download url:
- install: https://blog.youkuaiyun.com/qq_34296627/article/details/82833172
Cuda9.0 downloads:
Cuda install:
sudo dpkg -i cuda-repo-ubuntu1604-9-0-local_9.0.176-1_amd64.deb
sudo apt-get update
sudo apt-get install aptitude
sudo aptitude install cuda
sudo gedit ~/.bashrc
export PATH=/usr/local/cuda/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
export CUDA_HOME=/usr/local/cuda
Cudnn7.0.5 for linux Cuda9.0 downloads:
https://developer.download.nvidia.com/compute/machine-learning/cudnn/secure/v7.0.5/prod/9.0_20171129/cudnn-9.0-linux-x64-v7.tgz?wr6dJhFFBEX1TVnQoqn1LIsgBbICaCVMJmDhkzUsQvDPHsVWEJUHsqxfBOoXKvsincrgtiT1Mwn7zM0HABfCmaZykOMRP7FmQo7XZITlEgr-m5hoOndg9jwdHl2dMjtvcm3KUNJTKCwCx0eLyiwdUSLUxNHfJ5Cswu46xDNVS2FhVPg-Qh8Mb1pz70XomEpcnnZok-MOb5w
Cudnn install:
tar -zxvf cudnn-9.0-linux-x64-v7.tgz
sudo cp cuda/include/cudnn.h /usr/local/cuda/include/
sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64/ -d
sudo chmod a+r /usr/local/cuda/include/cudnn.h
sudo chmod a+r /usr/local/cuda/lib64/libcudnn*
Tensorflow-Gpu install
sudo pip install -i https://pypi.tuna.tsinghua.edu.cn/simple tensorflow-gpu==1.8
3.conda virtual
- New: conda create --name fashiongpu --file requirments.txt
- enter: source activate fashiongpu
- exit: source deactivate fashiongpu
- look info: conda info --envs
Google cloud platform Environments Setup
GCP(Google Cloud Platform)入门
1.设置root密码
sudo passwd root
2.查看显卡、内存、硬盘空间
lspci |grep -i vga
lspci |grep -i nvidia
https://blog.youkuaiyun.com/dashan8608/article/details/86242754
top
df -h1
Ubuntu 查看磁盘空间大小命令
ubuntu sda是什么
3.安装Anaconda
4.sudo pip设置
修改sudoers的读写权限
nschineseart@instance-1:~$ ll /etc/sudoers
-r--r----- 1 root root 755 Jun 10 22:53 /etc/sudoers
nschineseart@instance-1:~$ sudo chmod 777 /etc/sudoers
nschineseart@instance-1:~$ ll /etc/sudoers
-rwxrwxrwx 1 root root 755 Jun 10 22:53 /etc/sudoers*
nschineseart@instance-1:~$ sudo chmod 400 /etc/sudoers 再把权限修改回来
Ref
为用户增加sudo权限(修改sudoers文件)
~/.bashrc = /home/user_neme/.bashrc
Failed building wheel for uWSGI,没有安装C编译器
sudo apt-get install gcc
https://stackoverflow.com/questions/47868161/failed-building-wheel-for-uwsgi?rq=1
pip install -r requirements.txt
5.测试Django、uwsgi、nginx
-
入站、出站防火墙设置
http://zhuanlan.zhihu.com/p/40983101 -
静态文件链接
在服务器上创建目录结构“/var/www/artwork_creation/”
修改目录权限
sudo chmod 777 /var/www/artwork_creation
创建 static 目录,注意顺序是先分配权限,再创建目录
mkdir static
修改settings.py文件
STATIC_ROOT='/var/www/artwork_creation/static/'
STATIC_URL='/static/'
收集所有静态文件到 static_root 指定目录:python manage.py collectstatic
- 服务器方式
1.Django自带的服务器
python manage.py runserver 0:8088
http://外网ip:8088/chinaink/index
2.uwsgi 协议服务器
修改uwsgi.ini文件,打开http,关闭socket,IP为内网ip
[uwsgi]
#socket=10.128.0.2:8099
http=10.128.0.2:8080
#chdir=/Users/xufeng/Code/Demo/Django/artwork_creation
chdir=/home/nschineseart/Code/artwork_creation
wsgi-file=artwork_creation/wsgi.py
processes=1
threads=1
master=True
pidfile=uwsgi.pid
daemonize=uswgi.log
启动:uwsgi --ini uwsgi.ini
停止:uwsgi --stop uwsgi.pid
重启:uwsgi --reload uwsgi.pid
http://外网ip:8080/chinaink/index
3.Nginx服务器
sudo apt-get install nginx
修改/etc/nginx/nginx.conf 如下
user root;
worker_processes auto;
pid /run/nginx.pid;
http{
...
server {
listen 8000;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
include uwsgi_params;
uwsgi_pass 172.27.0.11:8099; # 将请求转发到uwsgi开放的socket端口
}
location /static {
alias /var/www/artwork_creation/static/; # 链接静态资源请求
}
}
}
启动:
cd /usr/sbin/
sudo nginx
停止、重启
nginx -s stop
nginx -s reload
80端口被占用,修改nginx默认端口
nschineseart@instance-vcpu1:/usr/sbin$ sudo nginx
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to [::]:80 failed (98: Address already in use)
解决方案是编辑nginx的配置文件
nschineseart@instance-vcpu1:/usr/sbin$ sudo vi /etc/nginx/sites-available/default
修改这一段:
listen 80;
listen [::]:80 default_server;
为
listen 8008;
listen [::]:8008 ipv6only=on default_server;
访问:
http://外网ip:8000/chinaink/index
linux 修改文件用户组和所有者
sudo chown -R nschineseart artwork_creation/
6.安装cuda、cudnn
新增或移除 GPU,Cuda的安装
服务器没有图像界面因此和笔记本上的配置方法不同