linux配置魔搭社区modelscope时的whl下载中断问题和解决方案

本文涉及的产品
模型在线服务 PAI-EAS,A10/V100等 500元 1个月
交互式建模 PAI-DSW,每月250计算时 3个月
模型训练 PAI-DLC,5000CU*H 3个月
简介: 本文提供了断点续传和手动安装两个方案。

**01

背景**

我一直习惯早上看一会互联网早间新闻,约摸是在几个月前,看到了阿里云大模型开源的消息,并且其还建立了开源平台——魔搭社区。

不得不说,最起码在国内这是一个比较大胆的举动,无论其AI大模型的质量如何,总归是将这等先进的技术开放给大家免费商用,或者是提供给初学者进行学习了。

作为一个对潮流技术始终非常感兴趣的入门级产品经理,我也认为AI大模型技术在数字化转型领域还是有相当多的用武之地,所以决定也将魔搭社区的学习提上了日程。

不过学习的道路总归不会一帆风顺,在刚开始的环境配置阶段,就遇到了一些问题。

image.png

**02

准备工作**

【Linux系统】

魔搭社区的文档中心开始便说:建议在Linux系统中使用,因为很多模型只兼容Linux系统。笔者也比较听话,于是在一个旧电脑上安装了Ubuntu 22.04.3 LTS。Ubuntu系统的安装过程也比较简单,大家如果有想玩的,网上可以搜到很多保姆级教程。

【Python环境】

笔者所使用的这个Ubuntu镜像自带了Python环境,记得好像是3.7版本,也足够使用了,如果要是想自己安装其他版本的Python环境,使用指令直接安装并不难,大家同样也可以在网上搜到很多教程。当然,这个步骤也可以直接跳过,安装anaconda的同时,Python环境也就准备好了,毕竟anaconda本身也就是一个用于科学计算的Python发型版嘛!

【anaconda安装】

之后,笔者按照指引安装了anaconda,anaconda的安装并不难,大家可以根据魔搭社区的指引文档,从官网下载合适版本的安装包,之后通过bash指令,对这个安装包进行安装。安装好以后,可以通过anaconda -V查看版本的方式检查其是否安装成功。

【虚拟环境配置】

在anaconda中,我分别为modelscope(魔搭)、pytorch和TensorFlow配置了虚拟环境。pytorch和TensorFlow暂时还用不到,现在主要研究魔搭。创建虚拟环境并进入虚拟环境的指令分别如下(指令也是从魔搭社区文档中心摘抄的):

创建虚拟环境:conda create -n modelscope python=3.8

进入modelscope这个虚拟环境:conda activate modelscope

【安装ModelScope Library】

按照指引文档,我们来到了ModelScope核心框架的安装环节。运行pip install modelscope这个指令时,大家可能也会遇到许多问题,比如没有安装pip需要单独安装、或者下载源下载速度慢等问题,这些在网络上也都一一有破解之法。

关于下载源,笔者使用最多感觉体验最好的还是清华源,现在魔搭社区的指引文档中,给出的指令包含阿里云源较多,其实也建议大家尝试下,毕竟是阿里自己的社区和产品。

**03

问题来源**

准备工作讲到这里,笔者遇到的问题也就来了,在安装ModelScope这个核心框架时,里面总有一个依赖一直下载中断并报错,如下图所示:

image.png

每次下载到这个.whl文件时,总会中断下载,最一开始我并不能意识到哪出了问题,毕竟我的网络环境一直是不错的。所以就进行了多次重试,方法简单粗暴,同样也非常浪费时间,毕竟看上去好像需要安装大大小小百八十个依赖,每次重试,系统都要进行半天检查。

最一开始,我尝试使用wget -c命令重启下载,没想到跟重新安装的效果是一样的,当然,后来发现也有可能是笔者的方法不对,这个会在下文说到,也欢迎大家来交流。

后来一想,这么下去总归不是办法,于是笔者根据系统指令界面中的提示,打开了这个下载总是中断的.whl依赖文件,将其粘贴到浏览器中,果然是个下载链接,浏览器自动开始下载这个.whl文件了。

后来也发现,可能也的确是这个文件下载路径的问题,即使是在浏览器中下载,这个依赖文件的下载也总是中断,好在浏览器的下载文件时,遇到这种情况再点一下下载按钮也就好了,在疯狂点击很多次重新下载后,总算将这个五百多MB的依赖文件下载完成了。

之后就是手动安装,进入到whl文件所在文件路径下打开终端,运行pip install 文件名.whl命令,进行依赖的手动安装即可。安装此依赖时,发现还有一个前置依赖需要安装,不要慌,同样的方法下载这个前置依赖然后安装即可。

回过头来,这个难缠的whl依赖文件安装完成后,再重新运行pip install modelscope指令安装modelscope核心框架,系统自动检验,发现安装好了,便跳过这个依赖,去下载安装其他依赖去了,直到全部安装完成。

**04

解决方案**

第一个解决方案:断点续传

笔者对Linux的操作还不太熟练,在遇到以上多个依赖中有一个依赖死活安装不了的情形时,或许也是wget -c命令重启下载用错了方法,后来看到一篇文章的叙述是这样的:

如果是大文件下载,则可能会在某些时候停止下载,在这种情况下,我们可以使用-c选项恢复从上次取消下载的文件。 但是,当您不指定-c选项而开始下载文件时,wget会在文件末尾添加.1扩展名,视为全新下载。 因此,在下载大文件时,最好添加-c参数选项。

(以上信息来源于知乎)

这个笔者并没有亲身尝试,所以这个试验性的问题就留给大家慢慢测试吧!

第二个解决方法:手动安装

在上文已经提到了操作方法,此处不赘述。虽然听起来比较笨,不过也不太费劲,毕竟也就是解决中间一两个文件下载中断的问题。

另外这种方式应该也是比较釜底抽薪,比较接近根本的解决方式了,遇事不决时,最朴实无华的方式往往最有效!

**05

图书推荐**

本次推荐一本由埃森哲出品,巴斯卡尔·戈什等专家编著的《自动化进阶·人工智能产业化应用》书籍。大模型技术在不断高速发展,然而与之匹配的落地应用却还没有跟上脚步,现象级的爆品也还基本没有出现。

虽然本书并没有具体的应用场景和落地细节,但以一个战略级的维度,提供了很多有价值的指导思想,建议一读!

同时,对于刚入门人工智能产品经理的同学,建议也可以从一些较为基础的书籍看起

相关文章
|
21天前
|
Linux 数据安全/隐私保护
适用于 Linux 的最佳命令行下载加速器
适用于 Linux 的最佳命令行下载加速器
40 3
|
13天前
|
人工智能 Java 关系型数据库
Red Hat Enterprise Linux 9.5 发布下载,新增功能亮点概述
Red Hat Enterprise Linux 9.5 发布下载,新增功能亮点概述
51 4
Red Hat Enterprise Linux 9.5 发布下载,新增功能亮点概述
|
16天前
|
缓存 资源调度 安全
深入探索Linux操作系统的心脏——内核配置与优化####
本文作为一篇技术性深度解析文章,旨在引领读者踏上一场揭秘Linux内核配置与优化的奇妙之旅。不同于传统的摘要概述,本文将以实战为导向,直接跳入核心内容,探讨如何通过精细调整内核参数来提升系统性能、增强安全性及实现资源高效利用。从基础概念到高级技巧,逐步揭示那些隐藏在命令行背后的强大功能,为系统管理员和高级用户打开一扇通往极致性能与定制化体验的大门。 --- ###
45 9
|
18天前
|
存储 安全 数据管理
如何在 Rocky Linux 8 上安装和配置 Elasticsearch
本文详细介绍了在 Rocky Linux 8 上安装和配置 Elasticsearch 的步骤,包括添加仓库、安装 Elasticsearch、配置文件修改、设置内存和文件描述符、启动和验证 Elasticsearch,以及常见问题的解决方法。通过这些步骤,你可以快速搭建起这个强大的分布式搜索和分析引擎。
34 5
|
2月前
|
Java Linux 网络安全
NIFI在Linux服务区上的部署配置过程是什么?
【10月更文挑战第21天】NIFI在Linux服务区上的部署配置过程是什么?
49 2
|
2月前
|
Ubuntu Linux 编译器
Linux/Ubuntu下使用VS Code配置C/C++项目环境调用OpenCV
通过以上步骤,您已经成功在Ubuntu系统下的VS Code中配置了C/C++项目环境,并能够调用OpenCV库进行开发。请确保每一步都按照您的系统实际情况进行适当调整。
328 3
|
2月前
|
监控 安全 网络协议
快速配置Linux云服务器
【10月更文挑战第3天】快速配置Linux云服务器
|
2月前
|
应用服务中间件 Linux Shell
Linux 配置 Nginx 服务的详细步骤,绝对干货
Linux 配置 Nginx 服务的详细步骤,绝对干货
77 0
|
7月前
|
存储 负载均衡 网络协议
X86 linux异常处理与Ipipe接管中断/异常
本文讲述了X86平台上Xenomai的ipipe如何接管中断处理。首先回顾了X86中断处理机制,包括IDT(中断描述符表)的工作原理和中断处理流程。接着详细介绍了Linux中中断门的初始化,包括门描述符的结构、中断门的定义和填充,以及IDT的加载。在异常处理部分,文章讲解了早期异常处理和start_kernel阶段的异常向量初始化。最后,讨论了APIC和SMP中断在IDT中的填充,以及剩余中断的统一处理。文章指出,ipipe通过在中断入口处插入`__ipipe_handle_irq()`函数,实现了对中断的拦截和优先处理,确保了实时性。
145 0
X86 linux异常处理与Ipipe接管中断/异常
|
存储 负载均衡 算法
Linux内核17-硬件如何处理中断和异常
Linux内核17-硬件如何处理中断和异常

热门文章

最新文章