在离线服务器上创建深度学习虚拟环境

2023-10-30

前言:

  • 有些学校的服务器只能采用内网的方式进行访问,无法访问外界的互联网,所以环境所需的配置文件大多只能采用U盘拷贝或者ssh内网传送。
  • 但是直接在离线的服务器上创建虚拟环境可能会出现一些问题,所以直接在可访问外网的本地客户机配置好相关的环境,在将环境传输到服务器上进行使用。

适用范围:

  • 安装虚拟机Linux教程
  • Linux平台下的Anaconda虚拟环境配置
  • 离线服务器环境创建等

一、安装虚拟机

虚拟机安装过程可以参考这篇文章vmware虚拟机安装Ubuntu全过程
如果觉得虚拟机比较麻烦,那么大佬可以直接使用Window10平台下的Linux子系统安装,本文以虚拟机为例。

1.虚拟机软件和Ubuntu下载链接

VMware workstation虚拟机的链接阿里云盘下载和Ubuntu18.04的下载链接

2.注意事项

1安装的第16步中,“虚拟化CPU性能计数器”可以不选,选了后续可能会出bug。
在这里插入图片描述
2安装完成后系统界面过小如何解决:

第1步:安装开源软件  sudo apt-get install open-vm-tools
第2步:第二步 :  sudo apt-get install open-vm*   ,安装后直接打开全屏即可。
若屏幕没有改变则重启一下即可。

3换源:换成国内源

第1步:vim /etc/apt/sources.list
第2步:在文本中添加下面的源链接
deb http://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-backports main restricted universe multiverse
第3步:apt-get update

以上为虚拟机Linux安装部分,遇到问题百度解决。

二、Linux平台下Anaconda虚拟环境配置

1. Anaconda安装

第一步:首先在指定目录下下载Anaconda的Linux版本,在该网页链接中寻找自己所需的Anaconda版本,终端如下:

#注释:这是下载Anaconda3-2020.11-Linux-x86_64.sh版本的举例
wget https://repo.continuum.io/archive/Anaconda3-2020.11-Linux-x86_64.sh

第二步:安装Anaconda

Anaconda3-2020.11-Linux-x86_64.sh

第三步:检查Anaconda是否安装好

1. 打开终端输入:sudo gedit ~/.bashrc 
2. 在打开的文档中输入:export PATH="/home/peng/anaconda3/bin:$PATH" 
(上面的路径是自己的Anaconda装的路径,每个人不同,根据自己的环境情况进行比划)
3. 输入:source ~/.bashrc,令配置生效
4. 查看版本:conda --version
5. 输入python3,发现是Anaconda安装的版本

第四步:换源
在命令行中输入

pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple/
pip config set global.index-url http://pypi.mirrors.ustc.edu.cn/simple/
pip config set global.index-url http://mirrors.aliyun.com/pypi/simple/ 

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 --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/conda-forge/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/msys2/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/bioconda/
conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/menpo/
conda config --set show_channel_urls yes

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --set show_channel_urls yes

2. 配置自己所需的深度学习环境

  • 方法:在本地客户机(个人PC)上联网配置深度学习环境,打包转移到目标服务器上。
  • 个人建议:在这里我的想法是,程序可以先在本地微调,然后将程序所需要的环境直接打包,再到服务器当中去跑。在离线服务器上无法连接互联网装环境,所以不推荐在服务器上装环境。

第一步:创建虚拟环境,提供两个方法:
env_name 为自己定义的虚拟环境的名称

# 方法一:克隆一个环境 (优点是操作速度快,缺点是占用存储大)
conda create -n env_name  --clone base
# 方法二:重新创建一个新环境(优点是占用存储小,缺点是需要手动装所需的第三方库,python版本自己指定)
conda create -n env_name python=3.8 
# 激活环境:
conda activate env_name

第二步:安装所需要的库

备注:对于深度学习类的第三方库,不推荐直接conda install 或者pip install ,因为大概率会下到 cpu 版本的 torch,所以要先下载好whl文件进行下载,比如torch各个版本的下载界面torch各个版本的下载界面

# 下载好文件后
pip install torch-1.7.1+cu110-cp38-cp38m-linux_x86_64.whl 
pip install torchvision-0.8.1+cu110-cp38-cp38m-linux_x86_64.whl

第三步:测试安装情况

python
>>> import torch
>>> torch.cuda.is_available()
True  

3. 打包虚拟环境传送到服务器

第一步:然后将anaconda3/envs/env_name 进行打包

tar -cvf env_name.tar env_name/           #压缩虚拟环境

第二步:使用U盘或者ssh将压缩后的文件传输到服务器

第三步:将压缩包复制到服务器上的anaconda3/envs目录下,然后在这个目录下打开终端输入:

tar -xvf env_name.tar  # 解压

第四步:在服务器上添加深度学习环境到环境列表,最后在目标计算机修改conda的环境配置文件 ~/.conda/envirement.txt在尾部添加拷贝的环境目录

终端输入:vim ~/.conda/envirement.txt

输入的内容如下:

# 结合服务器的实际情况填写
/home/peng/anaconda3                   
/home/peng/anaconda3/envs/env_name

第五部:使用conda env list检查环境是否创建成功,使用conda activate env_name激活环境后可通过具体程序测试具体程序包是否安装成功

三、使用Pycharm远程连接服务器

不在赘述,网上的教程比较多,推荐这一篇《pycharm远程连接服务器完整教程》

四、附赠:常用的conda虚拟环境相关命令

#创建虚拟环境
conda create -n your_env_name python=X.X(3.6、3.7等)
 
#激活虚拟环境
source activate your_env_name(虚拟环境名称)
 
#退出虚拟环境
source deactivate your_env_name(虚拟环境名称)
 
#删除虚拟环境
conda remove -n your_env_name(虚拟环境名称) --all
 
#查看安装了哪些包
conda list
 
#安装包
conda install package_name(包名)
conda install scrapy==1.3 # 安装指定版本的包
conda install -n 环境名 包名 # 在conda指定的某个环境中安装包
 
#查看当前存在哪些虚拟环境
conda env list 
#或 
conda info -e
#或
conda info --envs
 
#检查更新当前conda
conda update conda
 
#更新anaconda
conda update anaconda
 
#更新所有库
conda update --all
 
#更新python
conda update python


参考博客

  1. 离线搭建深度学习环境
  2. ubuntu系统离线搭建深度学习环境
  3. 2020-11-02-Ubuntu 20.04安装Anaconda3-卸载Anaconda3-笔记
  4. pycharm远程连接服务器完整教程
  5. vmware虚拟机安装Ubuntu全过程
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在离线服务器上创建深度学习虚拟环境 的相关文章

  • Pycharm Python 控制台不打印输出

    我有一个从 Pycharm python 控制台调用的函数 但没有显示输出 In 2 def problem1 6 for i in range 1 101 2 print i end In 3 problem1 6 In 4 另一方面 像
  • DreamPie 不适用于 Python 3.2

    我最喜欢的 Python shell 是DreamPie http dreampie sourceforge net 我想将它与 Python 3 2 一起使用 我使用了 添加解释器 DreamPie 应用程序并添加了 Python 3 2
  • 导入错误:没有名为 _ssl 的模块

    带 Python 2 7 的 Ubuntu Maverick 我不知道如何解决以下导入错误 gt gt gt import ssl Traceback most recent call last File
  • SQL Alchemy 中的 NULL 安全不等式比较?

    目前 我知道如何表达 NULL 安全的唯一方法 SQL Alchemy 中的比较 其中与 NULL 条目的比较计算结果为 True 而不是 NULL 是 or field None field value 有没有办法在 SQL Alchem
  • 打破嵌套循环[重复]

    这个问题在这里已经有答案了 有没有比抛出异常更简单的方法来打破嵌套循环 在Perl https en wikipedia org wiki Perl 您可以为每个循环指定标签 并且至少继续一个外循环 for x in range 10 fo
  • Spark的distinct()函数是否仅对每个分区中的不同元组进行洗牌

    据我了解 distinct 哈希分区 RDD 来识别唯一键 但它是否针对仅移动每个分区的不同元组进行了优化 想象一个具有以下分区的 RDD 1 2 2 1 4 2 2 1 3 3 5 4 5 5 5 在此 RDD 上的不同键上 所有重复键
  • 为 pandas 数据透视表中的每个值列定义 aggfunc

    试图生成具有多个 值 列的数据透视表 我知道我可以使用 aggfunc 按照我想要的方式聚合值 但是如果我不想对两列求和或求平均值 而是想要一列的总和 同时求另一列的平均值 该怎么办 那么使用 pandas 可以做到这一点吗 df pd D
  • 从列表中的数据框列中搜索部分字符串匹配 - Pandas - Python

    我有一个清单 things A1 B2 C3 我有一个 pandas 数据框 其中有一列包含用分号分隔的值 某些行将包含与上面列表中的一项的匹配 它不会是完美的匹配 因为它在其中包含字符串的其他部分 该列 例如 该列中的一行可能有 哇 这里
  • python pandas 中的双端队列

    我正在使用Python的deque 实现一个简单的循环缓冲区 from collections import deque import numpy as np test sequence np array range 100 2 resha
  • Python:字符串不会转换为浮点数[重复]

    这个问题在这里已经有答案了 我几个小时前写了这个程序 while True print What would you like me to double line raw input gt if line done break else f
  • HTTPS 代理不适用于 Python 的 requests 模块

    我对 Python 还很陌生 我一直在使用他们的 requests 模块作为 PHP 的 cURL 库的替代品 我的代码如下 import requests import json import os import urllib impor
  • 循环中断打破tqdm

    下面的简单代码使用tqdm https github com tqdm tqdm在循环迭代时显示进度条 import tqdm for f in tqdm tqdm range 100000000 if f gt 100000000 4 b
  • Python - 按月对日期进行分组

    这是一个简单的问题 起初我认为很简单而忽略了它 一个小时过去了 我不太确定 所以 我有一个Python列表datetime对象 我想用图表来表示它们 x 值是年份和月份 y 值是此列表中本月发生的日期对象的数量 也许一个例子可以更好地证明这
  • 如何将 PIL 图像转换为 NumPy 数组?

    如何转换 PILImage来回转换为 NumPy 数组 这样我就可以比 PIL 进行更快的像素级转换PixelAccess允许 我可以通过以下方式将其转换为 NumPy 数组 pic Image open foo jpg pix numpy
  • 如何在 Django 中使用并发进程记录到单个文件而不使用独占锁

    给定一个在多个服务器上同时执行的 Django 应用程序 该应用程序如何记录到单个共享日志文件 在网络共享中 而不保持该文件以独占模式永久打开 当您想要利用日志流时 这种情况适用于 Windows Azure 网站上托管的 Django 应
  • Python:计算字典的重复值

    我有一本字典如下 dictA unit1 test1 alpha unit1 test2 beta unit2 test1 alpha unit2 test2 gamma unit3 test1 delta unit3 test2 gamm
  • glpk.LPX 向后兼容性?

    较新版本的glpk没有LPXapi 旧包需要它 我如何使用旧包 例如COBRA http opencobra sourceforge net openCOBRA Welcome html 与较新版本的glpk 注意COBRA适用于 MATL
  • 用于运行可执行文件的python多线程进程

    我正在尝试将一个在 Windows 上运行可执行文件并管理文本输出文件的 python 脚本升级到使用多线程进程的版本 以便我可以利用多个核心 我有四个独立版本的可执行文件 每个线程都知道要访问它们 这部分工作正常 我遇到问题的地方是当它们
  • 如何使用 JSch 将多行命令输出存储到变量中

    所以 我有一段很好的代码 我很难理解 它允许我向我的服务器发送命令 并获得一行响应 该代码有效 但我想从服务器返回多行 主要类是 JSch jSch new JSch MyUserInfo ui new MyUserInfo String
  • Python:元类属性有时会覆盖类属性?

    下面代码的结果让我感到困惑 class MyClass type property def a self return 1 class MyObject object metaclass MyClass a 2 print MyObject

随机推荐

  • 线程学习(三)---生产消费模型

    线程学习 三 生产消费模型 什么是生产消费模型 生产消费模型图例 生产消费模型解释 wait notify notifyAll 与sleep 的区别 线程生命周期图分析 sleep 方法 wait notify notifyAll 方法 用
  • 武汉理工大学课程设计优秀报告_零极点对系统性能的影响分析

    自动控制原理优秀开源报告 零极点对系统性能的影响分析 要求完成的主要任务 包括课程设计工作量及其技术要求以及说明书撰写等具体要求 当开环传递函数为G1 s 时 绘制系统的根轨迹和奈奎斯特曲线 当开环传递函数为G1 s 时 a分别取0 01
  • 归并排序和快速排序比较

    最近在做一个算法实验 归并排序和快速排序的比较 这两种算法在排序方面是非常非常的通俗的了 权威的文献和网上的相关文章也是一大堆 在这里就简单贴下代码 写下个人从这个实验中学到的东西 先说说个人对这两个算法的理解 归并排序 简单来说就是先将数
  • Spring注入内部Bean

    1 什么是内部Bean 我们将定义在 lt bean gt 下的 lt property gt 或 lt constructor args gt 内部中的bean称为 内部bean 有两种方法可以注入内部bean 1 setter方法注入内
  • JS创建、写入、读取本地文件(txt)

    经测试 该方法在火狐 360浏览器不支持 在IE浏览器中支持 创建本地文件 写入文件 读取文件 小案例 创建本地文件 var fso try fso new ActiveXObject Scripting FileSystemObject
  • javaFX+sqlIt+Scene Builder 文档检测上传下载(一)

    JAVAFX基本介绍 JavaFX是用于构建富互联网应用程序的Java库 使用此库编写的应用程序可以跨多个平台一致运行 使用JavaFX开发的应用程序可以在各种设备上运行 如台式计算机 手机 电视 平板电脑等 要使用Java编程语言开发GU
  • MySQL数据库性能优化由浅入深(表设计、慢查询、SQL索引优化、Explain分析、Show Profile分析、配置优化)

    文章目录 0 SQL性能分析 1 表的设计合理化 1 1 为什么需要范式 1 2 三范式原理 1 3 什么样的表才满足三范式 2 慢查询 2 1 慢查询介绍 2 2 慢查询步骤 3 添加适当索引 3 1 索引是什么 3 2 索引优劣势 3
  • Qt5.9.2+VS2017从新建工程到窗口界面交互的一个简单例子

    本篇文章主要内容 前言 目录 1 从VS中新建一个Qt工程 2 添加第一个窗口界面 添加槽函数 连接信号与槽 3 添加第二个窗口界面 添加槽函数 连接信号与槽 4 功能实现 前言 之前在网上搜了很多相关教程 发现都不是很全面 今天就把Qt
  • html取消select下拉,取消下拉选项_jquery如何取消选择select下拉框

    摘要 腾兴网为您分享 jquery如何取消选择select下拉框 中邮网院 天天美剧 搜狐视频 七哈小说等软件知识 以及比特彗星 cad素材包 交易猫app 视频调色软件 网易云歌单 小米温湿度传感器 装配式设计软件 富士通打印机网 百度网
  • Markdown符号

    Markdown符号 一 Markdown数学符号 二 LaTex公式 三 段落及强调 3 1 强调 3 2 斜体 3 3 粗体 3 4 删除线 四 标题 4 1 Setext 形式标题 标题1 标题2 4 2 Atx 形式标题 标题1 标
  • 国网B接口资源上报(Push_Resourse)接口描述和消息示例

    上篇blog 梳理了国网B接口的REGISTER接口描述和消息示例 前端系统加电启动并初次注册成功后 向平台上报前端系统的设备资源信息 包括 视频服务器 DVR DVS 摄像机 告警设备 环境量采集设备等模拟或数字信号采集设备信息 前端系统
  • C语言实现线性方程组的高斯消元法

    C语言实现线性方程组的高斯消元法 线性方程组是高等数学中常见的数学模型 解方程组的方法有很多 其中高斯消元法是一种较为普遍和常用的方法 在计算机编程中 我们可以使用C语言来实现高斯消元法 快速地求解线性方程组的解析解 高斯消元法原理 高斯消
  • RPN详解

    转载原文 https blog csdn net lanran2 article details 54376126 这里的博客都挺好的 转载一下 留的 RPN全称是Region Proposal Network Region Proposa
  • 计算机视觉面试题整理

    1 介绍目标检测网络yolo系列以及ssd系列的原理 yolo对小目标检测不好的原因 除了缩小anchor外还可以如何改善 Yolo目标检测 YOLO是一种实时目标检测算法 其核心思想是将目标检测问题归为一个回归问题 直接从输入图像中预测目
  • 小程序:微信开发者工具中页面一片空白怎么办?

    试过网上的更新工具 重启什么的 都无效 后面找到办法了 地雷 先删除 wxml 中的所有内容 换成最简单的
  • Required field 'serverProtocolVersion' is unset

    java sql SQLException Could not establish connection to jdbc hive2 localhost 10000 Required field serverProtocolVersion
  • 大数据可视化课程笔记 4

    文章目录 第四章 比例数据可视化 4 1 比例数据在大数据中的应用 4 2 整体与部分 4 2 1 饼图 4 2 2 环形图 4 2 3 比例中的重叠 4 2 4 矩形树图 4 3 时空比例 第四章 比例数据可视化 4 1 比例数据在大数据
  • 密码强度检测器

    我的CSDN主页 python 每日一练 题目 代码运行效果 完整代码 我的博文推荐 基础更熟代码更优 再炼同类问题 2022 11 27试炼 练习题目 定义一个名为 isStrongPassword 的函数 该函数将字符串作为参数 功能是
  • yolov5篇-快速开始使用yolov5

    基本需求 需要python gt 3 8和pip即可 剩下的环境搭建需求已经被列在即将下载的文件中的 requirements txt 中了 当然需要注意的是 如果你的电脑上被安装了很多的python版本 还请确定一下你使用的是否是正确的那
  • 在离线服务器上创建深度学习虚拟环境

    在离线服务器上创建深度学习虚拟环境 一 安装虚拟机 1 虚拟机软件和Ubuntu下载链接 2 注意事项 二 Linux平台下Anaconda虚拟环境配置 1 Anaconda安装 2 配置自己所需的深度学习环境 3 打包虚拟环境传送到服务器