anaconda迁移深度学习虚拟环境 在云服务器上配置

1 anaconda 虚拟环境操作

1、 查看虚拟环境

conda info -e

2、 创建新的虚拟环境

conda create -n deeplearning_all pip python=3.6

3、 激活新建的虚拟环境

Conda activate  deeplearning_all

2 环境中相关库的版本即安装说明(这些库都是对应匹配的)

pip install numpy==1.16.0 -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install scipy==1.4.1  #这个可以不装sklearn会帮忙装
pip install pandas==0.21.0 -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install patsy==0.5.1
pip install scikit-learn==0.23.1 -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install imbalanced_learn==0.5.0 -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install statsmodels==0.11.0 -i https://pypi.tuna.tsinghua.edu.cn/simple
# CUDA 10.1
pip install torch==1.8.1+cu101 torchvision==0.9.1+cu101 torchaudio==0.8.1 -f https://download.pytorch.org/whl/torch_stable.html -i https://pypi.tuna.tsinghua.edu.cn/simplepip install --no-cache-dir tensorflow-gpu==2.3.0 -i https://pypi.tuna.tsinghua.edu.cn/simple
conda install absl-py==1.3.0pip install keras==2.4.3 -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install matplotlib==3.3.4 -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install xgboost==0.90 -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install lightgbm==3.1.0 -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install bayesian-optimization==0.6.0 -i https://pypi.tuna.tsinghua.edu.cn/simple

之后如果缺什么直接pip
ps:查看tensorflow/torch是否可以调动gpu

import tensorflow as tf
tf.config.list_physical_devices('GPU')
import torch # 如果pytorch安装成功即可导入
print(torch.cuda.is_available()) # 查看CUDA是否可用
print(torch.cuda.device_count()) # 查看可用的CUDA数量
print(torch.version.cuda) # 查看CUDA的版本号

3 Anaconda 环境克隆、迁移

目标主机(windows系统 anaconda版本最好一致):
在这里插入图片描述
在这里插入图片描述

在目标主机上安装anaconda:安装包下载

3.1 查看conda环境:

conda info --envs

在这里插入图片描述

3.2 克隆base环境

如果想迁移的是base环境,因此需要先克隆(base环境不能直打包)

conda create -n 新环境的名称 --clone 老环境名称

3.3 安装conda-forge和conda-pack工具

conda install -c conda-forge conda-pack

3.4 将环境打包

文件会默认打包在C盘:/用户/用户名的文件夹中

conda pack -n 新环境名称 -o 新环境名称.tar.gz

在这里插入图片描述

3.5 将压缩包放到目标主机的同版本Anaconda路径下的envs文件夹内

解压至envs下新环境的文件夹下:

tar -zxvf 文件名 -C 文件夹名

3.6 激活环境

conda activate 新环境

环境已经成功迁移到目标主机并且可以使用了

4 使用 Windows GPU 云服务器搭建深度学习环境

4.1 选择驱动及相关库、软件版本

在安装驱动前,您需大致了解 CUDA、cuDNN、Pytorch、TensorFlow 及 Python 版本对应关系,以便根据实际配置选择适配版本,免除后续出现版本不匹配等问题。
选择 CUDA 驱动版本
CUDA(Compute Unified Device Architecture),是显卡厂商 NVIDIA 推出的运算平台。CUDA™ 是一种由 NVIDIA 推出的通用并行计算架构,该架构使 GPU 能够解决复杂的计算问题。其包含了 CUDA 指令集架构(ISA)以及 GPU 内部的并行计算引擎。
1、查看显卡算力
在选择 CUDA 驱动版本时,需先了解本文使用(Tesla P40)显卡的算力。可通过NVIDIA 官网 查询 Tesla P40 显卡算力为6.1。如下图所示:

(目标主机是T4)

在这里插入图片描述

2、选择 CUDA 版本
如下图所示 CUDA 版本与显卡算力的关系,Tesla P40 显卡应选择8.0以上的 CUDA 版本。如需了解更多算力与 CUDA 版本信息。
在这里插入图片描述

选择显卡驱动版本
确定 CUDA 版本后,再选择显卡驱动版本。您可参考如下图所示 CUDA 与驱动对应关系图进行选择。

在这里插入图片描述
选择 cuDNN 版本
NVIDIA cuDNN 是用于深度神经网络的 GPU 加速库。其强调性能、易用性和低内存开销。NVIDIA cuDNN 可以集成到更高级别的机器学习框架中,例如谷歌的 Tensorflow、加州大学伯克利分校的流行 caffe 软件。简单的插入式设计可以让开发人员专注于设计和实现神经网络模型,而不是简单调整性能,同时还可以在 GPU 上实现高性能现代并行计算。
cuDNN 是基于 CUDA 的深度学习 GPU 加速库,有它才能在 GPU 上完成深度学习的计算。如需在 CUDA 上运行深度神经网络,需安装 cuDNN,才能使 GPU 进行深度神经网络的工作,工作速度相较 CPU 快很多。cuDNN 版本与 CUDA 版本的对应关系请参见 cuDNN Archive
选择 Pytorch 版本
您需根据 CUDA 版本,选择对应的 Pytorch 版本,匹配版本信息请参见previous-versions
选择 TesorFIow 版本
Tensorflow 较 Pytorch 稍复杂,它还需要 Python、编译器的版本支持。CPU、GPU 版本与 Python、CUDA、cuDNN 的版本对应关系如下:
基于 CPU 版本的 TensorFlow 版本
基于 GPU 版本的 TensorFlow 版本

这里选择最优的版本:CUDA 10.1、Python 3.6、Pytorch 1.8.1、Tensorflow_gpu_2.3.0

4.2 操作步骤

安装显卡驱动
使用浏览器访问 NVIDIA 官网,并选择显卡的驱动版本。本文选择配置如下图所示:
在这里插入图片描述

下载完成后,请双击安装包,根据页面提示完成安装。
安装 CUDA
进入 CUDA Toolkit Archive,选择对应版本。本文以下载10.2版本为例,如下图所示:
在这里插入图片描述
进入 “CUDA Toolkit 10.2 Download” 页面,选择对应系统配置。本文选择配置如下图所示:
在这里插入图片描述
单击 Download,开始下载(CUDA 10.1都选择最新的一版)。
4. 下载完成后,请双击安装包,并根据页面提示进行安装。其中,请注意以下步骤:
在弹出的 “CUDA Setup Package” 窗口中,Extraction path 为暂时存放地址,无需修改,保持默认并单击 OK。如下图所示:
在这里插入图片描述

配置环境变量
1 在弹出菜单中选择运行。
5. 在“运行”窗口中输入 sysdm.cpl,并单击确定。
6. 在打开的“系统属性”窗口中,选择高级页签,并单击环境变量。如下图所示:
在这里插入图片描述

4.选择“系统变量”中的 “Path”,单击编辑。
5. 在弹出的“编辑环境变量”窗口中,新建并输入如下环境变量配置。

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\bin 
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\libnvvp
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\lib\x64
C:\Program Files\NVIDIA Corporation\NVSMI

编辑完成后如下图所示:
在这里插入图片描述

6.连续单击3次确定,保存设置。
检查显卡驱动及 CUDA
1.在弹出菜单中选择运行。
2. 在“运行”窗口中输入 cmd,并单击确定。
3. 在 cmd 窗口中:
执行以下命令,检查显卡驱动是否安装成功。

nvidia-smi

返回如下图所示界面表示显卡驱动安装成功。下图为正在运行中的 GPU,在 GPU 运行时,该命令可查看 GPU 的使用情况。
在这里插入图片描述

执行以下命令,检查 CUDA 是否安装成功。

nvcc -V

返回如下图所示界面表示 CUDA 安装成功。
在这里插入图片描述
安装 cuDNN(见本地文档)
1.前往 cuDNN Download 页面,单击 Archived cuDNN Releases 查看更多版本。
2. 找到所需 cuDNN 版本,并下载。
3. 解压 cuDNN 压缩包,并将 bin、include 及 lib 文件夹拷贝至 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2 目录下。
4. 至此已完成 cuDNN 安装。

可能遇到的后续问题(持续更新)

1、解决Could not load dynamic library ‘cudnn64_7.dll‘; dlerror cudnn64_7.dll not found
解决:下载文件到C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA目录下
2、【Python与tensorflow关联报错】ModuleNotFoundError: No module named ‘termcolor‘,但pip3 show termcolor显示包已存在
解决:卸了重装termcolor
3、NVIDIA Jetson Xavier NX上导入tensorflow报错:AttributeError: module ‘wrapt‘ has no attribute ‘ObjectProxy‘
解决:pip3 install wrapt==1.11.1
参考:大神文章

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/760776.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Lenze伦茨8400变频器E84A L-force Drives 操作使用说明

Lenze伦茨8400变频器E84A L-force Drives 操作使用说明

跟selenium并肩的自动化神器 Playwright 的 Web 自动化测试解决方案

1. 主流框架的认识 总结: 由于Selenium在3.x和4.x两个版本的迭代中并没有发生多大的变化,因此Selenium一统天下的地位可能因新框架的出现而变得不那么稳固。后续的Cypress、TestCafe、Puppeteer被誉为后Selenium时代Web UI自动化的三驾马车。但是由于这三…

JavaEE 初阶篇-深入了解操作系统中的进程与 PCB

🔥博客主页: 【小扳_-CSDN博客】 ❤感谢大家点赞👍收藏⭐评论✍ 文章目录 1.0 关于计算机是如何进行工作的 “常识” 1.1 关于寄存器、缓存与内存是如何配合 CPU “工作” 2.0 操作系统概述 2.1 操作系统内核 2.2 进程 2.3 PCB 2.3.1 PCB 属性…

Centos7没有可用软件包 ifconfig问题解决

问题描述 在Centos7中查看ip没有ifconfig,使用yum安装ifconfig报错没有可用软件包 ifconfig问题解决 [rootlocalhost etc]# yum -y install ifconfig 已加载插件:fastestmirror base …

动手做简易版俄罗斯方块

导读:让我们了解如何处理形状的旋转、行的消除以及游戏结束条件等控制因素。 目录 准备工作 游戏设计概述 构建游戏窗口 游戏方块设计 游戏板面设计 游戏控制与逻辑 行消除和计分 判断游戏结束 界面美化和增强体验 看看游戏效果 准备工作 在开始编码之前…

火灾自动报警及消防联动控制系统主机的九个主要组成部分

关于火灾报警联动系统的主机组成,一般有两种不同的概括,下面分别讨论。 一: 火灾报警主机的组成部分较多,主要包括以下消防设备:主电源、联动电源、打印机、驱动器、直接控制板、总线控制板、消防广播、消防电话主机…

粒子群算法 - 目标函数最优解计算

粒子群算法概念 粒子群算法 (particle swarm optimization,PSO) 由 Kennedy 和 Eberhart 在 1995 年提出,该算法模拟鸟群觅食的方法进行寻找最优解。基本思想:人们发现,鸟群觅食的方向由两个因素决定。第一个是自己当初飞过离食物…

FPGA工程正确的设计流程

1 正确的设计流程 分析项目的具体需求来设计系统的结构,划分系统的层次,确定各个子模块的结构关系和信号之间的相互关系,然后确定模块的端口信号等根据每隔模块的功能和自己的理解,结合芯片手册接口的时序,使用visio画…

基于QGraphicsView的图像显示控件,支持放大、缩小、鼠标拖动

原链接 前言 这是一个Qt平台的基于QGraphicsView类的图像显示控件,支持输入QPixmap、QImage、opencv的从cv::Mat类。 实现平台:Windows 10 x64 Qt 6.2.3 MSVC 2019 opencv 4.5 先来看演示视频 控件类实现 ImageViewer.h文件 #ifndef IMAGEVIEWER…

Docker 笔记(八)--Dockerfile

目录 1. 背景2. 参考3. 原文3.1 Dockerfile 支持的指令3.2 Dockerfile格式3.3 Parser指令syntaxescape 3.4 环境变量替换3.5 docker构建忽略文件3.6 Shell 和 exec 格式Exec 格式Shell 格式使用不同的 shell 3.7 FROM指令了解ARG和FROM如何交互 3.8 RUN指令RUN指令缓存失效RUN …

4 CUDA 环境搭建

4.1 简介 本章面向从未接触过CUDA的初学者。我们将依次介绍如何在不同操作系统上安装CUDA、有哪些可用的CUDA 工具以及CUDA如何编译代码,最后介绍应用程序接口提供的错误处理手段,并帮助读者识别CUDA代码和开发过程中必然碰到的应用程序接口报错。Windo…

java框架 2 springboot 过滤器 拦截器 异常处理 事务管理 AOP

Filter 过滤器 对所有请求都可以过滤。 实现Filter接口,重写几个方法,加上WebFilter注解,表示拦截哪些路由,如上是所有请求都会拦截。 然后还需要在入口处加上SvlterComponentScan注解,因为Filter是javaweb三大组件之…

Leetcode刷题【每日n题】(8)

题目一 思路分析 1.循环遍历直到这个数小于102.获取每个位数之合3.将合赋值给目标数,直到小于10 代码实现 class MyTest{public int addDigits(int num) {//直到目标数小于10while(num>10){//定义各个位数合int sum0;//num不能为0while(num>0){//获取每个位上…

java-ssm-jsp基于javaweb的宠物猫狗商业系统

java-ssm-jsp基于javaweb的宠物猫狗商业系统 获取源码——》公主号:计算机专业毕设大全 获取源码——》公主号:计算机专业毕设大全

leetcode106从中序与后序遍历序列构造二叉树

目录 1.解题关键2.思路3.变量名缩写与英文单词对应关系4.算法思路图解5.代码 本文针对原链接题解的比较晦涩的地方重新进行说明解释 原题解链接:https://leetcode.cn/problems/construct-binary-tree-from-inorder-and-postorder-traversal/solutions/50561/tu-jie-…

Java程序设计 3 选择

布尔数据类型和逻辑运算符 boolean类型的值为true和false,其字面值也只有true和false(也就是不能等同视为0和非零,这一点和C/C有所不同),且不能和其他数据类型混合运算(包括类型转换)。 Java里面…

Vue2(七):脚手架、render函数、ref属性、props配置项、mixin(混入)、插件、scoped样式

一、脚手架结构(Vue CLI) ├── node_modules ├── public │ ├── favicon.ico: 页签图标 │ └── index.html: 主页面 ├── src │ ├── assets: 存放静态资源 │ │ └── logo.png │ │── component: 存放组件 │ │ …

详解main函数参数argc、argv及如何传参

目录 1、main()函数参数 2、main函数如何传参 2.1 环境准备 2.2 通过 Powershell 窗口传参 2.3 通过vs界面传参 3、int main() 和 int main(int argc, char *argv[]) 特点 1、main()函数参数 在C语言中,main函数可以带参数。main函数的原型通常为以下两种形式…

基于Springboot+Vue的在线考试系统

项目介绍 这是一个在线考试系统,使用Maven进行项目管理,基于springbootmybatis框架开发的项目,mysql底层数据库,前端采用VueElementPlus,作为初学springbootvue前后端分离架构的同学是一个很不错的项目,如…

Diff算法详解

简要了解 Diff 算法目的就是找出新旧虚拟dom差异,最小化更新视图;即本质就是比较两个JS对象的差异;并不是页面上所有的更新都需要Diff算法。 在了解Diff算法之前,我们首先需要了解一下什么是虚拟DOM。 虚拟DOM 虚拟DOM是表示真实…