environment.yml配置环境

news/2024/11/14 15:03:15/文章来源:https://www.cnblogs.com/arwen-xu/p/18543924

配环境总是一个老生常谈的问题,有些项目写得好的,会把一些冗余的包删除,只留下必要的包,并且手把手教你pip安装,但是有些项目就直接丢一个200~300行的environment.yaml文件或者requirement.txt文件让你自己去配,虽然也有相关的环境配置内容,但能够按照步骤一次通过配置的可能性很低,而且大部分问题会跟系统环境、pytorch版本、anaconda版本有关,最终结果就是有些包配了半天终于配好了,结果代码里面直接一个注释不用了,总之就是让人十分折磨。本文决定对一些常见配环境问题进行一个简单的总结,希望可以帮到大家。

在conda中,一般通过yaml文件来配置环境的命令为:

conda env create -f environment.yml -n 环境名

但能够一次性成功配置环境属于少数情况,一般都会遇到配置太慢、卡死、solving environment failed、PackageNotFound、以及pip爆出的一堆红字

问题1:包找不到,且大部分都带有包的唯一标识符(例如hf484d3e_0、h1ccaba5_0)

 

分类讨论一下,如果只有少量的包,或许可以通过删除yaml文件中的唯一标识符限制来完成环境配置,yaml文件改动如下所示:

 

但是如果有很多包(带唯一标识符的)都找不到,就很有可能是系统环境不对导致的

例如尝试在windows10环境下配置linux中特有的一些包

当然这样也会导致一些其他包出现问题:

 

这个时候就需要敏锐一点,发现最后一个包的包名为ld_impl_linux-64,就可以反应过来配置的系统不对了。果断更换系统。

问题2:等待时间太长

建议加入一些快速的源(在conda中称为channel),比如清华源或者阿里源,如果有校内或者工作的内网源更好,确认网络连接正常。

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ 使用conda config --show channels

 

删除源使用conda config --remove channels 源名,

一般情况下,网络正常,配置时间不会太久

问题3:pytorch安装找不到匹配的版本号

 

ERROR: No matching distribution found for torch==1.12.1+cu102

这种情况其实是比较常见的,因为pytorch老版本中支持CUDA的版本是需要单独配置的

Previous PyTorch Versions | PyTorch

 

可以在官网上找到你需要的pytorch,然后在已经激活的conda环境中使用pip直接安装

例如这样:(很好的一点就是pytorch官网上可以找到所有的对应版本信息)

pip install torch==1.12.1+cu102 torchvision==0.13.1+cu102 torchaudio==0.12.1 --extra-index-url https://download.pytorch.org/whl/cu102 建议不要使用conda install的命令,因为它基本上不会安装GPU版本的pytorch

下图为使用conda install的安装结果:(其实这个packageplan就可以看出它安装的不是torch包而是pytorch包,很奇怪)

 

 

关于pytorch cuda版本的选择问题,先试用一下nvidia-smi命令查看自己是否安装CUDA

 

只要这里显示的CUDA版本号大于安装的pytorch版本号就可以了

例如torch==1.12.1+cu102的CUDA版本为10.2,当前系统的CUDA版本为11.4,说明可以直接安装这个版本的pytorch

问题4:下载包到一半突然一大片红ERROR,一般包含time out字样

socket.timeout: The read operation timed out或者ReadTimeoutError: HTTPSConnectionPool(host='download.pytorch.org', port=443): Read timed out.

这个主要是网络波动导致的,也有可能是远端的服务器网络出现问题,也有可能是自己的源没配好,访问不稳定。总之是网络上的问题。

重新尝试命令即可,对于已经下载好的包,pip会读取自己的缓存cache,不会让你重复下载的。

问题5:安装某个包的时候,它自动把已经装好的pytorch删掉了,重新安装了另一个版本

这种情况一般为安装一些高级的深度学习库会遇到,例如DGL、allennlp等等

在yaml的pip列表中可以先扫一眼,看看有没有这种包,如果有就留到最后单独安装,在官网上查询对应的pytorch版本来判断应该这么安装。

如果不知道是不是这种有依赖关系的深度学习库时,可以先装pytorch,再装其他库,如果发现在下载新的pytorch版本就立刻终止,早发现早治疗。

 

如果最后单独安装的时候仍然pytorch版本不对,说明可能源代码根本就没用这个库,也可以在官网上选择一个高相邻版本的库进行安装,一般都可以正常运行。

如果不想使用conda install来配置整个环境,可以使用以下命令(在conda的目标环境下)

pip install -r requirements.txt 在包比较少的情况下也可以用pip install手动硬装

但记住安装完成之后需要执行一下pip check命令,看一下是不是所有的包的依赖关系都正确了

另外给出一个实用的pip和conda小技巧

pip cache purge

conda clean --all

可以清除pip管理器和conda管理器中的缓存,避免一些大型包下载的一半中断导致系统内存被占的问题,例如tensorflow和pytorch。

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

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

相关文章

出差及报销问题

出差问题 报销问题 一、提交报销申请提交报销申请在应用导航的 ERP门户系统 中,选择我要报账在保障服务平台--单据管理--全部单据里选择--差旅费报账单(新)报销申请单填写选择想要报销的出差审批单上传想要报销的发票后点击下一步填写基本信息影像张数: 上传附件图片数量。…

职场效率倍增!学会这6个任务管理法则轻松完成工作

身处职场,我们每个人都在日复一日的工作中面对着不断增加的任务清单。如何有效管理、合理分配、确保准时交付,成了现代职场人最常面临的挑战之一。如果管理不当,不仅影响个人效率,整个团队也可能因此陷入无休止的混乱与低效。经过几年的职场摸索,我总结出了一些应对繁杂任…

烟火检测视频分析网关算法网关智慧工厂安全生产视频监管方案

在数字化时代,企业转型升级已成为实现可持续发展的必由之路。特别是在工业领域,工厂的智能化转型不仅能够提高生产效率,还能加强安全管理,确保员工的健康与安全。TSINGSEE青犀AI智能分析网关V4与安防监控视频管理系统EasyCVR视频融合平台的结合,为工厂提供了一个实现智能化…

nginx代理minio集群的websocket问题,求解决!!!

1.问题描述 nginx代理minio集群,web控制台浏览buckets下的列表一直在loading..., 不使用nginx代理地址,通过minio集群直接访问是没有问题的 从报错来看是websocket连接失败问题,按照官方文档以及其他博主的方式都配置了,仍未解决!!!!!2.minio镜像版本:minio/minio:RE…

nginx代理minio的websocket问题,求解决!!!

1.问题描述 nginx代理minio集群,web控制台浏览buckets下的列表一直在loading...,目前来看是websocket的问题,安装官方文档和其他博主的方式都配置了,仍未解决!!!!!2.minio镜像版本:minio/minio:RELEASE.2024-11-07T00-52-20Z3.nginx版本1.20.24.nginx配置[root@minio-…

GitLab 如何降级?

本分分享 GitLab 降级的流程和注意事项。极狐GitLab 为 GitLab 的中文发行版,本文以私有化部署的极狐GitLab 为例来演示整个过程。 【极狐GitLab 推出 GitLab 老旧版本的专业升级服务,可以让 12.x、13.x、14.x、15.x 等老旧版本的升级平滑不出问题】 首先确定当前的版本信息,…

希音面试:亿级用户 日活 月活,如何统计?(史上最强 HyperLogLog 解读)

本文原文链接 文章很长,且持续更新,建议收藏起来,慢慢读!疯狂创客圈总目录 博客园版 为您奉上珍贵的学习资源 : 免费赠送 :《尼恩Java面试宝典》 持续更新+ 史上最全 + 面试必备 2000页+ 面试必备 + 大厂必备 +涨薪必备 免费赠送 :《尼恩技术圣经+高并发系列PDF》 ,帮你 …

【JetBrains CLion 2024软件下载与安装教程】

1、安装包 CLion2024: 链接:https://pan.quark.cn/s/ed93e8cb245e 提取码:fhwc CLion Pro 2021: 链接:https://pan.quark.cn/s/30927a3da509 提取码:1t2w CLion Pro 2018: 链接:https://pan.quark.cn/s/f3a7af5e8ca6 提取码:PW1E 2、安装教程(建议关闭杀毒软件) 1) …

团队项目Scrum冲刺-day2

一、每天举行站立式会议 站立式会议照片一张昨天已完成的工作成员 任务陈国金 用户模块的部分接口开发凌枫 登录页面陈卓恒 管理题目页面的部分代码谭立业 题目搜索页面的部分代码廖俊龙 接口测试曾平凡 前端页面测试曾俊涛 题目模块的部分接口开发薛秋昊 题目提交模块的部分接…

33 张高清大图,带你玩转 KubeSphere 4.1.2 部署与扩展组件安装

备受瞩目的 KubeSphere 4.1.2 已经正式官宣发布,该版本带来了一个重大优化:增加默认的扩展组件仓库。 这一优化改进,让采用全新的 KubeSphere LuBan 架构的 KubeSphere,真正实现了自由打造高度可扩展和可配置的云原生底座。 KubeSphere 用户仅需要在 K8s 之上,默认安装清爽…

cmu15545-数据访问方式:B+树(B+Tree)

目录基本概念基于磁盘的B+树查询与索引设计选择结点大小(Node Size)合并阈值(Merge Thredshold)变长键(Variable-length Keys)结点内部搜索(Intra-Node Search)优化手段Pointer SwizzlingBε-treesBulk InsertPrefix CompressionDeduplicationSuffix Truncation 基本概…