使用配置文件创建conda环境

注意:使用官方给出的部署文件进行环境的创建时,特别要注意 cuda 版本是否和服务器的版本( 显卡驱动版本)一致(这里的一致是指:显卡驱动以及 CUDA 版本不能低于需要安装的 CUDA 版本)!否则即使安装了 PyTorch 或者时 Tensorflow,也会因为和服务器的硬件设备驱动版本不一致导致运行不成功!

使用以下部署工具部署环境时,最好不要使用官方提供的文件,而是自己新创建一个文件,然后把必须的包写入,然后再进行部署!原因如下:

  • 作者提供的一般都是使用命令直接导出的,而导出的文件我们打开看,会发现除了各种版本信息 =... 外,后面还跟着许多奇奇怪怪的字符,这个虽然也是指定相应的版本,但是大概率是和自己的机器相匹配的信息,如果直接安装,后面出现各种奇怪的错误,你都不会发现是版本问题导致的!
  • 我们要做的,就是手动导入,然后自己指定相关版本信息,这样安装的包就是和自己的机器匹配的,不会安装错误!

生成当前环境的依赖:

pip freeze > requirements.txt

其中 requirements.txt文件内容如下。


matplotlib==xxx
Pillow==xxx

使用 requirements.yml 完成环境部署:

conda/source activate 虚拟环境
pip install -r requirements.txt

使用以下命令将当前激活的虚拟环境保存:

conda env export > environment.yml

在当前目录下自动生成相关安装依赖关系,具体示例如下。

name: xxx
channels:

  - defaults
  - custom
  - pytorch
  - anaconda
  - conda-forge

dependencies:

  - python=3.x
  - pip
  - xxx
  - pip:
      - xxx
      - [-f] https://..

例子:

name: GlobalTrack
channels:
  - defaults
  - pytorch
  - conda-forge
dependencies:

  - python=3.8

  - pytorch=1.8.1
  - torchvision=0.9.1
  - torchaudio=0.8.1
  - cudatoolkit=11.1
  - pip
  - pip:
    - black
    - imageio
    - mmcv==0.4.3
    - numpy
    - opencv-python
    - opencv-python-headless
    - Pillow
    - scikit-image
    - scikit-learn
    - scipy
    - Shapely

prefix: ~/anaconda3/envs/GlobalTrack

指定安装版本时,注意 pip 使用双等号, dependencies 中为等号!如果不指定,默认安装最新的版本。

使用 envrionment.yml 完成环境部署:

conda env create -f environment.yml

使用 conda 部署时可以一步到位,简单,但是有以下两个明显的缺点:

conda remove -n GlobalTrack --all

rm -rf ~/anaconda3/envs/GlobalTrack

这是相当麻烦的,令人不快! conda 好像并没有提供直接强行覆盖的功能,因此只能这样操作!

这里需要纠正一点的是,如果我们不需要做 CUDA 编程(相信大部分小伙伴都用不到),那么我们是不需要进行那么复杂的 CUDATOOLKIT cuDNN 的安装配置的,只需要把 NVIDIA 驱动安装好就可以了!然后在安装 PyTorch Tensorflow-GPU 的时候,只要指定的是 GPU 版,以及对应的 CUDA/cudatoolkit 版本(主要是和自己机器的 NVIDIA-DRIVER CUDA 版本匹配——自己机器的不能低于 PyTorch/Tensorflow 要求的最低版本)就会自动下载 这三套件了 pytorch/tensorflow cudatoolkit cudnn,小伙伴们可以自己仔细看看控制台的安装信息!

友情提示:为什么需要时刻关注控制台的安装信息呢?因为有的时候明明我们指定的是 GPU 版本,如果我们不仔细看,那么可能就会默认变成了 CPU 版本,那么后面调用相应的包时肯定是找不到了的啦!这里为什么会改变大概率是版本不匹配( CUDA & PyTorch/Tensorflow)引起的,可以更换下安装的版本试试!

Original: https://blog.csdn.net/qq_40750972/article/details/123868849
Author: blainet
Title: 使用配置文件创建conda环境

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/771774/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 运算库之numpy(统计函数运算)

    1.Numpy的统计函数介绍1.最大值API:方式一:np.max(a, axis=None)a:需要传入一个n维数组axis:指定对哪个轴作变换return:如果是一维数组的话,…

    Python 2023年8月28日
    068
  • 06 接口测试平台 前端登录接口对接

    别人写的平台再垃圾,也是用来淘汰你的。 代码更新地址:https://github.com/ahu965/api-automator.git Python环境没有的,请自行安装,本…

    Python 2023年8月6日
    080
  • Ai studio 使用教程:

    Ai studio地址:飞桨AI Studio – 人工智能学习实训社区 (baidu.com) 使用 Ai studio 的算力需要相应的算力卡,进行登陆注册后可领取…

    Python 2023年9月28日
    0113
  • 我操作MySQL的惊险一幕

    🚀 优质资源分享 🚀 学习路线指引(点击解锁)知识定位人群定位🧡 Python实战微信订餐小程序 🧡 进阶级本课程是python flask+微信小程序的完美结合,从项目搭建到腾讯…

    Python 2023年8月9日
    059
  • Python-100-Days学习笔记day10

    ​​​​​​nonlocal关键字 # nonlocal关键字用来在函数或其他作用域中使用外层(非全局)变量 可以看到nonlocal修饰后,ifunc中的x和func中的x是同一…

    Python 2023年9月19日
    059
  • 6.Django 图书列表练习

    文章目录 * – + 1.搭建环境 + * 1.1创建库 * 1.2 创建Django项目 * 1.3 路径&中间键问题 * 1.4 连接MySQL数据库 * …

    Python 2023年8月6日
    056
  • Pandas数据分析—批量拆分Excel与合并Excel

    ; 12.Pandas批量拆分Excel与合并Excel 文章目录 12.Pandas批量拆分Excel与合并Excel 前言 一、假造数据 二、程序演示 * – 1、…

    Python 2023年8月8日
    056
  • pandas快速入门指南

    Pandas 是一个开源的第三方 Python 库,从 Numpy 和 Matplotlib 的基础上构建而来,享有数据分析”三剑客之一”的盛名(NumPy…

    Python 2023年8月8日
    058
  • Scrapy框架初级

    Scrapy框架初级 Scrapy介绍 什么是scrapy Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架,我们只需要实现少量的代码,就能够快速的抓取 Scra…

    Python 2023年10月5日
    060
  • 精准用户画像!商城用户分群2.0!⛵

    💡 作者:韩信子@ShowMeAI📘 数据分析实战系列:https://www.showmeai.tech/tutorials/40📘 机器学习实战系列:https://www.s…

    Python 2023年10月29日
    065
  • 抖音”凶猛”的幕后英雄,火山引擎 DataTester 累计做过 150 万次 A/B 测试

    在国内互联网领域,字节跳动是最为推崇 A/B 测试的公司,旗下”抖音”、”今日头条”两大最著名产品,连 APP 的名字都是来源于 A…

    Python 2023年10月28日
    058
  • Django配置与添加app

    uniapp 数据展示 Python + 数据库 = 管理系统 Django 框架 : WEB 开发框架 ,后台管理 pip : 包管理器,下载安装第三方组件使用的。 Python…

    Python 2023年8月3日
    048
  • Jenkins+pytest+allure集成测试

    Jenkins+pytest+allure集成测试 Pytest管理测试用例,负责Python代码测试 Allure负责测试报告HTML界面展示 Jenkins负责测试用例自动执行…

    Python 2023年9月14日
    041
  • Pandas常用函数用法

    Python数据分析:Pandas常用函数用法 import pandas as pd import numpy as np df = pd.DataFrame({‘name’:[…

    Python 2023年8月6日
    060
  • CE Loss与BCE Loss的区别

    抵扣说明: 1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。 Original: https://blo…

    Python 2023年10月10日
    038
  • Python科学绘图 南丁格尔图/玫瑰图

    文章目录 Github/GItee仓库地址 * 注意 生成数据 乱序数据 渲染图片为png或jpeg 顺序数据 Github/GItee仓库地址 ScienceGallery-Gi…

    Python 2023年8月29日
    070
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球