华为云Linux部署深度学习项目
踩了几乎能踩的所有坑,真是要命。
直接从1 购买云服务器开始看即可
一些可能用到的命令
nvidia-smi
:查看cuda driver的版本看整个系统当前cuda的版本
nvcc --version
:说没有找到nvcc命令也不要着急下载nvcc,可以先用3.找找看cat /usr/local/cuda/version.txt
ls /usr/local/cuda*
:找找有没有下载过cuda,找到之后手动写到.bashrc文件里python -c "import torch;print(torch.version.cuda)"
一些虚拟环境下的命令
import torch print(torch.__version__)# 当前环境下pytorch的版本 print(torch.cuda.is_available())# 当前环境下pytorch和cuda版本是否匹 配:true print(torch.version.cuda)# 当前环境下的cuda版本 print(torch.backends.cudnn.version())# 当前环境下的cudnn版本import tensorflow as tf print(tf.test.is_built_with_cuda()) # 当前环境下tensorfolw和cuda版本是否匹配:true print(tf.test.is_gpu_available(cuda_only=False,min_cuda_compute_capab ility=None)) # gpu是否可以被tf调用:true
cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
:查看系统cudnn版本conda list cuda
conda list cudnn
:conda list +名字,查看当前虚拟环境下的版本修改配置文件,重读配置文件
vim ~/.bashrc source ~/.bashrc
1 购买云服务器
很多开源项目只能用比较低版本的cuda等。
注意30系列的显卡只能支持cuda11以上
有些服务器已经含有镜像,包含操作系统(注意一下cuda和操作系统的版本)
如果不包含镜像,记得自己安装cuda,注意一下cuda的版本,很多程序不支持版本高的。
本人用的ubuntu 16.04+cuda9.0+anaconda3(cudnn7.1.2+tensorflow1.8.0+pytorch1.0.0)
2 非虚拟环境安装cuda cudnn(虚拟环境请看4)
首先使用nvidia-smi
查看gpu信息,看看你的driver version
对照图片找到合适的版本
此处以9.0版本为例,使用软链接。如果你需要安装多个版本的cuda、cudnn,使用软链接即可。
2.1 cuda
英伟达官网下载run版本的cuda,注意版本对应。
wget 链接
命令下载。(在官网下载包处右键点击复制链接,即可复制链接。)
如9.0run版本的 wget https://developer.nvidia.com/compute/cuda/9.0/Prod/local_installers/cuda_9.0.176_384.81_linux-run
然后chmod +x cuda_9.0.176_384.81_linux-run
,上述代码的目的是赋予权限。
然后再执行:sudo sh cuda_9.0.176_384.81_linux-run
开始安装,注意安装时不选中显卡驱动(此处安装可能会出现编译错误)。
安装完毕后,在vim ~/.bashrc
添加环境变量,意思是cuda的路径在哪(按 i 插入,esc退出编辑, :wq保存并退出文件)
export PATH=/usr/local/cuda/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH
然后重启teminal,或者source ~/.bashrc
然后
# 意思是将cuda9.0链接到cuda路径上,之后也可以链接到其他版本)
sudo rm -rf /usr/local/cuda #删除之前创建的软链接
sudo ln -s /usr/local/cuda-9.0 /usr/local/cuda #创建新 cuda 的软链接
并输入nvcc -V
测试是否安装成功。(也可以用cat /usr/local/cuda/version.txt
)
(9.0版本需要把patch包也下载了,使用sudo sh patch包名
安装)
2.2 cudnn(需要你登录nvidia的账号
英伟达官网
wget 链接.tgz
(library:全的包.tgz,runtime:只用于运行、不可开发的包.deb,developer:全的?.deb)
下载后进行解压:tar -zxvf cudnn-9.0-linux-x64-v7.4.2.24.tgz
(如果提示说这不是个gzip格式的包,用file 文件名
看一下文件格式,大概率是各html文件,这说明你下载错了。)
然后执行如下代码:将cudnn的lib64和include文件复制到cuda的目录,
cp cuda/lib64/* /usr/local/cuda-9.0/lib64/
cp cuda/include/* /usr/local/cuda-9.0/include/
sudo chmod a+r /usr/local/cuda-9.0/include/cudnn.h /usr/local/cuda-9.0/lib64/libcudnn*
查看cudnn的版本命令如下:cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
在conda list里看的cudnn版本是你的虚拟环境里的,上面这个查出来的是公共的)
(更换cudnn:
- 卸载旧版本的cuDNN:
sudo rm -rf /usr/local/cuda/include/cudnn.hsudo rm -rf /usr/local/cuda/lib64/libcudnn*
- 按照正常步骤安装cuDNN
)
3 下载xshell,连接远程服务器
在xshell中进行环境配置操作
4 虚拟环境配置
4.1 下载anaconda(此处选择2021.05版本)
wget https://repo.anaconda.com/archive/Anaconda3-2021.05-Linux-x86_64.sh
下载安装包bash ~/Downloads/Anaconda3-2021.05-Linux-x86_64.sh
此处需要改成你自己的下载路径,比如我的是bash ~/Anaconda3-2021.05-Linux-x86_64.sh
一直yes(除了问是否安装vscode输入no,其他都输入yes)
添加anaconda环境变量(有时它会自动添加好,打开bashrc文件后,看看里面有没有,一般在末尾)
编辑.bashrc文件此时不必手动添加
如果没有上图内容,先按下“i”键切换到插入模式。按下i后,左下角会有“INSERT”显示,表示我们现在敲打键盘即可插入文字。
在开头输入如下内容:#Anaconda export PATH=/home/用户名/anaconda3/bin:$PATH`
其中用户名部分换成你的,如我的是 root
如下图效果:(你的文件内容不一定和我的一样)
按下esc退出编辑模式,输入:wq
保存并退出
输入source ~/.bashrc
重新激活一下。
首先sudo -s
- 此时输入
which python
即可发现当前使用的python是anaconda3中的。(/root/anaconda3/bin/python)
4.2 下载传输文件的工具
apt-get install -y lrzsz
,安装一个便于我们文件传输的工具。
命令行输入rz,会弹出一个窗口,找到我们之前下载的文件,选择“打开”。
4.3 修改镜像源
可以自己加一些清华、中科院、豆瓣的镜像源,下载包的时候会快很多!
如添加清华源
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --set show_channel_urls yes
# 添加两个镜像
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/free/# 显示来源
conda config --set show_channel_urls yes# 展示已有镜像
conda config --show channels
4.4 使用anaconda配置所需环境即可
下载时一定要先创建、激活环境
conda create -n XXX(环境名) python=3.6 anaconda
创建一个python3.6环境
conda activate 环境名
激活该环境,可以看到base变为你的环境名
下载可以用conda、也可用pip命令如果下载pytorch:注意conda命令下载的pytorch自带cuda和cudnn,删除掉命令中的部分后也可以只下载pytorch
可以查一下这个表(pytorch、tensorflow、cuda版本对应)在不同虚拟环境中可安装不同版本的cuda、cudnn等,可以认为一个环境是一台主机环境。
安装cuda(不需要配置环境变量)
conda install cudatoolkit=9.0 -c https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/linux-64/
(cudatoolkit=版本号)
安装cudnn
conda install cudnn=7.0.5 -c https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/linux-64/
查看版本号
conda list cudnnconda list cudaconda list tensorflow
注
如果上述conda的清华源URL失效,可尝试换成
https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
5 下载pycharm pro,以用来编辑代码
- 一定要下载专业版,社区版不提供连接服务器功能。license自己想办法搞一个,是学生的话可以用学生认证,用jetbrain账号,即时就能拿到license。
- 注意一下区别,前者源程序在服务器上,后者源程序在本地。
用pycharm拉取远程服务器上的程序并运行
pycharm上传程序到远程服务器并运行
然后就可以愉快的,运行项目了,无论是直接xshell命令行运行还是pycharm里用服务器的python interpreter,都可以实现啦。
文件传输,也可以直接拖拽上传和下载,不需要rz
了。
6 拉取github的项目
有时候会很慢,还会失败,所以可以参考下面这个方法,会快不少。
利用gitee拉去github上的项目
华为云Linux部署深度学习项目相关推荐
- 通过NVIDIA-Docker部署深度学习项目环境
原文地址为:https://zhuanlan.zhihu.com/p/78541520 深度学习环境部署的方法有很多种,其中Docker化深度学习环境和项目是一个很不错的选择.这里写过一些深度学习主机 ...
- 华为云ModelArts图深度学习,学习知识还能考取微认证
作为人工智能最前沿的技术之一,图深度学习被公认是人工智能认识世界实现因果推理的关键,也是深度学习未来发展的方向.但深度学习对图数据模型的支持性差一直是众多研究者难以攻克的难点,因此图深度学习在实际生产 ...
- Django部署深度学习项目-1
如何使用pycharm社区版创建django项目? 安装相关依赖库之后: 创建一个空文件夹,在此文件夹路径下使用命令 django-admin startproject mysite 即可成功创建di ...
- 华为云GPU服务器深度学习环境搭建
Author:ZERO-A-ONE Date:2021-02-26 想了想还是给华为云做一个环境搭建的文档吧,因为某些私人问题 下面是本人购买的服务器的配置,选择的是按需付费: 机型: CPU ...
- Ubuntu 21.04 使用Docker部署深度学习项目(cuda11.2+cudnn8.8+deepface)
文章目录 1.安装Docker 1.1 确定系统版本 1.2 卸载旧版本 1.3 设置stable镜像仓库 1.4 安装Docker ce 1.5 测试 1.6 阿里云镜像加速 1.7 重启服务器 2 ...
- 云服务器做深度学习推荐+autoDL云服务器进行深度学习教程
目录 主流云服务器 autoDL云服务器进行深度学习教程 1.购买autoDL云服务器 2.向服务器上传项目数据 3.解压服务器上的项目数据 4.终端训练 4.1 远程IDE 4.2 代码执行结束自 ...
- 百度腾讯中兴华为全部入局Linux Foundation深度学习基金会
2019独角兽企业重金招聘Python工程师标准>>> 虽然名字叫做Linux Foundation,但是这家基金会关注的领域并不局限在Linux操作系统领域.事实上,Linux F ...
- (阿里云)Linux部署SSM项目全过程
首先安装好jdk, 然后安装好mysql 具体步骤可以看我的这篇博客: (阿里云)Linux部署springboot项目全过程_向上的狼的博客-CSDN博客 如果你使用的是 Spring Boot,内 ...
- 深度学习项目实战——1.基于WordCloud词云生成
深度学习项目实战--1.基于WordCloud词云生成 准备 安装依赖库 pip install wordcloud matplotlib jieba pillow WordCloud()可选的参数 ...
最新文章
- 中key的用途_Micro Focus Operations Bridge Manager中的多个(RCE)漏洞
- windows Azure
- kafka备份机制——zk选举leader,leader在broker里负责备份
- 使用MySQL的LAST_INSERT_ID--转
- Xilinx Platform Cable USB II 下载器驱动安装教程——Win10
- 提升Transformer效率又有新招?基于矩阵分解的线性化Attention方案
- WPF Grid动态显示或隐藏一列的一种方法
- react 交互_如何在React应用程序中跟踪用户交互
- linux 查看zookeepr所在路径,Linux系统:Centos7下搭建ZooKeeper3.4中间件,常用命令总结...
- Linux 命令(123)—— iostat 命令
- Asp.Net NPOI excl文件导入导出
- python编写命令行框架_Python2和3的面向命令的命令行框架是什么?
- 啊哈算法纸牌游戏———小猫钓鱼
- 基于Qt编写的在线音乐播放器
- excel抽奖软件作弊_使用Excel下拉列表防止作弊
- Lonlife-ACM 1000 - Spoon Devil's 3-D Matrix(最小生成树)——“玲珑杯”acm比赛-试运行赛
- 【Σ-Δ型ADC芯片】
- 英语老师自用省心天花板小程序
- error: redefinition of ‘xxx’问题的解决
- unique中译_unique是什么意思_unique的翻译_音标_读音_用法_例句_爱词霸在线词典
热门文章
- “纸上得来终觉浅,觉知此事要躬行”——博客起始
- Codevs 2198 数字三角形WWW
- 2021-10-22 KiKi定义电子日历类
- 身份证号的验证与解析
- mysql基本数据类型、笔试题(2018-9-10)
- 成功解决:Updates were rejected because the tip of your current branch is behind its remote...【解决方法】
- EasyFlash移植
- teamviewer linux远程开机,Ubuntu远程管理(teamviewer)
- Python 凯撒密码
- Linux Kernel Development读书笔记