本文为您介绍DSW的相关问题。
有问题先问AI助理
阿里云官网AI助理具有强大的智能问答能力,能实时、精准地解答您使用云产品时遇到的问题,快速为您提供技术支持、解决方案和文档指引。
实例启动
1. DSW实例启动失败
排查方法:单击DSW实例名称,在事件页签下查看报错信息。
通常DSW实例启动失败包含以下错误:
其他启动失败原因:
欠费导致创建失败
如果您的账号欠费,将导致创建DSW实例创建失败,并且代金券不能抵扣欠费,您可登录费用与成本控制台,查看账户是否欠费。
2. DSW启动时可以开机执行Python文件吗?
您可以在创建DSW实例时,或通过变更实例配置的方式设置自定义启动脚本。
该功能可用于在实例启动过程中定制环境或执行初始化任务。自定义脚本的执行时间在镜像和资源准备完成后,JupyterLab、Code Server等开发应用启动前。
超时时间为3分钟:自定义脚本会增加实例的启动时间,脚本超时时间为3分钟,请勿在自定义脚本中执行镜像下载等长耗时任务。
可查看脚本运行日志:实例启动后可在/var/log/user-command/路径下找到自定义脚本运行产生的日志。
3. 找不到DSW实例?
您可以在概览页面查看创建地不同类型的实例,并尝试切换不同地域。
4. DSW 页面异常或无法操作怎么办?
如果遇到页面白屏、Notebook 一直转圈加载,或者 Terminal 无法输入命令这类问题,通常与您的本地环境有关。请尝试以下步骤:
清理浏览器缓存后重试。
使用浏览器的 无痕/隐私模式 访问。
更换网络环境,例如从公司内网切换至手机热点,以排查防火墙限制。
尝试使用 其他浏览器(如 Chrome、Firefox)。
5. DSW实例停止或重启、变更实例规格、更换实例镜像是否会丢失数据?
实例停止或重启:不会丢失。在实例停止或重启后,所有通过
pip
安装的包、代码文件以及其他存储在实例磁盘上的数据都会被保留,不会丢失。变更实例规格:不会丢失。调整实例规格(如CPU、内存、GPU等资源配置)不会影响实例的磁盘数据。
更换实例镜像:可能会丢失部分数据。变更镜像不会影响挂载的数据集或OSS存储中的数据,但系统盘内的内容可能会被重置。因此,您在变更实例镜像时,注意保存实例数据。比如可以将数据复制或移动到数据集或OSS中。详情请参见挂载数据集/OSS/NAS/CPFS。
6. 使用公共资源创建的 DSW 实例,超过15 天未登录被释放,可以找回吗?
使用公共资源创建的DSW实例,若连续15天以上未启动,其内部数据将被自动清空且无法恢复。
7. 启动DSW实例时间越来越长
每次启动时间逐渐变长可能是由于您的保存镜像体积较大所致。
实例停止/删除/释放
1. 如何释放DSW实例?
在DSW实例列表页,单击停止或删除实例。
注意:如果创建DSW实例时有扩容过系统盘,无论实例是否处于运行状态,系统盘都会持续计费。如果您想停止DSW实例相关的一切计费,请删除DSW实例。
2. 怎么找不到DSW实例?
如果找不到实例,您可以尝试切换不同地域和工作空间。
3. 如何释放免费试用抵扣包?
免费试用抵扣包无需释放或停止。
4. 如何完全停止DSW实例的计费?“停止”和“删除”操作有什么不同?
停止实例:此操作释放实例的计算资源(CPU/GPU),并暂停计算费用。注意:扩容的系统盘会继续计费。
删除实例:此操作永久删除实例及其所有资源(包括系统盘)。所有相关计费会完全停止。
如何选择:
停止:临时不用,但想保留数据和环境供未来重启。
删除:不再需要,希望停止所有计费。操作前请备份数据。
5. 为什么我的DSW实例长时间处于“停止中”或“删除中”状态,无法完成操作?
停止或删除实例需要时间。系统需要安全地终止任务、保存状态和回收资源。如果实例长时间无响应,常见原因如下:
实例中有未正常结束的进程。
内存占用过高,导致实例无法响应关机指令。
遇到这种情况,通常耐心等待一段时间后刷新页面,实例状态会正常停止。
6. 停止或删除DSW实例后,我的数据和代码会丢失吗?
数据是否保留取决于您的操作以及实例的资源组类型。
停止实例:
数据保留策略因资源组类型而异。
公共资源组实例:数据会保留在挂载的云盘中。注意:实例连续停止超过 15 天,云盘和数据将被删除。
专有资源组实例:数据存储在实例系统盘。停止实例会删除数据,且无法恢复。
删除实例:
其系统盘中的所有数据都将被永久擦除,且无法恢复。因此,在删除前务必备份所有重要数据。
7. 为什么我正在运行的DSW实例会自动停止?
实例配置了闲置自动关机策略。此策略旨在节省资源,默认对免费试用实例启用。
触发条件:实例的 CPU 和 GPU 使用率连续 3 小时低于设定阈值。
操作建议:
手动停止:为确保节省资源,请在不使用时手动停止实例。自动关机策略不保证每次都触发。
修改策略:如需运行长时任务,请修改或禁用此策略。具体操作步骤如下:
8. 我已经将所有DSW实例停止或删除了,为什么还显示“运行中”或收到计费通知?
检查以下常见原因:
混淆了资源包与实例。您看到的“运行中”状态可能指资源包(如“每月250计算时”),而非实例。资源包在有效期内始终有效,其状态与实例无关。
扩容的系统盘仍在计费。停止实例仅暂停计算费用。扩容后的系统盘会继续产生存储费用。
账单存在延迟。计费并非实时,账单可能在您使用资源几小时后才生成。例如,上午产生的费用,可能在下午才显示在账单中。
免费试用
1. 收到了DSW免费试用即将到期的通知,如何操作才能避免被收费?
您收到的“DSW免费试用资源抵扣包”到期后会自动失效,无需您手动操作。但为了避免产生费用,您必须手动停止或删除您创建的DSW实例。详情请参见5. 释放实例或服务。
2. 为什么正在使用免费试用,但账户还是被扣费了?
免费试用期间产生费用通常有以下几种原因:
免费额度用尽:您当月的免费额度(例如250个“计算时”)已经用完,超出的部分会按量计费。
实例规格不符:您创建的DSW实例规格不在免费试用所支持的机型范围内。
试用产品到期未释放:后付费的试用产品到期后,如果您没有手动释放实例,服务会转为正式的按量计费模式,并从您的账户余额中扣费。
系统盘扩容计费:如果您在创建DSW实例时扩容了系统盘,这部分存储容量会持续计费,即便是实例处于停止状态。
3. 什么是“计算时”?我应该如何查看剩余的免费额度?
“计算时”是用于计量DSW资源消耗的单位,它不等于时钟上的一小时。不同规格的实例(特别是GPU实例)每小时消耗的“计算时”数量是不同的。您可以在阿里云费用中心的我的试用页面,集中查看所有试用实例的试用额度、已用进度、到期时间等详细信息
4. 我已经删除了DSW实例,为什么在“我的试用”页面,它还显示“运行中”?
这个状态通常是指您的“免费试用资源抵扣包”本身仍在有效期内,而不是指您有正在运行的DSW实例。资源包在到期前会一直处于生效状态。只要您已在PAI控制台确认没有任何正在运行的DSW实例,就不会产生计算资源的费用
5. 免费额度(如“250计算时”)是如何计算的?为什么感觉很快就用完了?
“计算时”是DSW资源消耗的计量单位,不直接等同于时钟时间的小时。不同规格的实例每小时消耗的“计算时”数量不同。例如,使用高性能的GPU实例(如V100)每小时消耗的计算时会远多于基础的CPU实例。您可以在创建实例的页面查看到不同规格每小时消耗的计算时数量。
6. 我的免费额度或资源包用完后会怎么样?会自动停止服务吗?
免费额度或资源包用尽后,DSW实例不会自动停止,系统将自动转为按量付费模式 。
如果您继续保持实例运行,将开始从您的账户余额中扣除费用。为避免产生预期外的费用,建议您密切关注资源包的使用情况,并在不需要时及时手动停止或删除实例。
详情请参见免费试用领取、使用和释放。
7. 免费试用的实例怎么关闭闲置关机策略?
免费试用实例默认配置了闲置自动关机策略。如果实例的 CPU、GPU 等资源在一段时间内持续低于某个阈值,可能会被系统判定为闲置并自动停止。如果想要关闭闲置关机请调用DeleteIdleInstanceCuller接口。
计费和账单
1. DSW如何收费?为什么我的实例开着但没有运行代码,也会产生费用?
DSW支持预付费和后付费,您可以根据自己的实际需要选择付费方式,计费详情请参见DSW计费说明。
按量计费是根据您实例的运行时长进行收费,因为运行中的实例会持续占用计算资源,所以即便没有执行代码,只要实例处于“运行中”状态,就会产生费用 1
2. 如何查看DSW账单?
对于后付费用户,可以进入费用与成本页面查看账单明细,详情请参见查看账单明细。
3. 为什么我已经停止(Stop)了DSW实例,但账户仍在扣费?
停止实例后仍然扣费,通常有两个主要原因:
系统盘扩容:如果您在创建DSW实例时扩容了系统盘,那么即使实例处于“已停止”状态,系统盘的存储费用仍会持续产生。
账单延迟:DSW如果采用按量付费模式,账单生成和扣款存在一定的延迟。您收到的扣费通知,可能是针对您停止实例之前的实际使用量,而非停止后产生的费用。
4. 如何才能彻底停止DSW实例的所有相关计费?
要想完全停止DSW实例的一切计费,最彻底的方法是删除实例。请务必在删除前备份好所有需要的数据,实例删除后数据将无法恢复。
您可以切换不同的工作空间和地域,确保所有实例都被删除。
5. 按量付费的DSW实例使用未满一小时怎么计算费用?
按量付费实例费用根据实际使用的分钟数进行计费,具体公式为:账单金额 = (单价 / 60)× 实际服务时长(分钟)
。
6. 创建DSW实例时提示余额不足无法创建?
开通按量计费时,需要账户预留100元现金余额,但实际上产生的费用会从托管主账号的额度中扣除。
模型拉取
1. 拉取模型时报错:Failed to pull image "crpi-****-vpc.cn-hangzhou.personal.cr.aliyuncs.com/apo/cat:full"
创建DSW实例时,如果配置的是镜像地址,且镜像仓库为私有,则在输入镜像地址时需输入镜像仓库用户名和密码。
2. 拉取模型时报1005错误
当前由于国内网络受限,如果从Huggingface上拉取模型或插件时可能会报“1005”链接错误,您可以通过以下方式解决:
通过国内镜像源进行拉取。
为本地网络设置代理。
切换地域,在非中国内地地域使用DSW。
上传本地模型,详情请参见上传与下载文件。
镜像使用
1. 制作镜像时报错:insufficient capacity of ephemeral storage
出错原因:制作镜像的大小校验逻辑是检查系统盘的剩余可用空间是否大于写入层的大小,如果可用空间不足,就会报这个错。
解决方案:在DSW Terminal中通过df -h
查看文件系统的磁盘空间占用情况,并确保overlay已使用的空间不超过/dev/vda4的可用空间,如果超过,您可以通过在制作镜像时设置自定义排除路径解决。
2. DSW如何使用Docker镜像?
使用Docker镜像启动DSW实例:您可以将Docker镜像推送至阿里云容器镜像服务ACR中,然后再将其添加至PAI工作空间的自定义镜像中,即可在创建DSW实例时选择对应镜像启动实例。
将Docker镜像推送至容器镜像服务ACR中,请参见使用个人版实例推送拉取镜像。
添加PAI自定义镜像,请参见自定义镜像。
想打包当前的DSW的镜像环境,用于启动其他实例或部署模型,请参见制作DSW实例镜像。
在DSW的云端IDE中安装和使用Docker:DSW本身运行在容器中,因此在DSW的云端IDE中无法安装和使用Docker。
3. 制作镜像报错:Push image registry-vpc.cn-****.aliyuncs.com/****/lm-mirrors:**** Failed: Push container failed, Container Name: dsw-notebook
在制作镜像时,请确保单层镜像中的数据量不超过10 GiB,否则构建会失败。您可以设置自定义排除路径,以排除某些文件或目录,使其不被包含在最终生成的镜像中。此外,您可以通过挂载存储路径(如挂载OSS路径)来将数据存储到已挂载的路径,并通过该路径进行访问。
4. 制作镜像,DSW实例状态一直处于保存中
一般是由于实例hang住了,可能原因是镜像体积过大而机器规格过小,导致机器负载过高。
5. 制作镜像时报错:failed to push image registry-vpc.cn-shenzhen.aliyuncs.com/mystu/stu:eas-service, please try again later, failed to commit image, error: different registry for base images and commit image
请先核实保存的镜像信息。以 _accelerated
结尾的镜像是加速镜像,目前无法保存到用户的镜像仓库。
6. 如何查看镜像的python版本?
您可以通过运行 python -V
来确认Python版本。不同镜像内的Python版本可能有所不同,参考自定义镜像查看镜像信息。
7. Notebook保存的镜像存放在哪里了?
Notebook对应的是DSW实例,每个实例都分配了一定的计算资源,支持代码编辑和训练。您可以在DSW上保存Notebook的镜像,生成的新镜像将存放在镜像管理列表中的用户自定义镜像中。新建DSW实例时,可以直接选择这些自定义镜像。如果尚未创建任何自定义镜像,则只能选择默认的官方镜像。
自行创建的镜像不会受到任何操作的影响。即使官方提供的镜像进行了更新,自建的镜像仍然保持原有的配置,不会发生变化。
系统盘扩容
1. DSW实例系统盘空间有多大,满了怎么办?
DSW实例中的文件和数据默认存储在系统盘中,并且提供一定的免费额度。
查看免费额度
公共资源组创建的实例免费额度为100 GiB,专有资源组(通用计算资源或灵骏智算资源)需满足规格要求后,才会提供免费额度的系统盘。具体免费系统盘空间大小可以查看实例配置页面的系统盘选项。操作步骤:
单击实例列表页的实例名称。
在右上角单击变更配置,然后下拉找到系统盘。
查看系统盘使用量
单击DSW实例名称,在环境信息区域可以查看系统盘的用量。
系统盘满了如何扩容
如果系统盘空间使用量超过了免费额度,您可以选择扩容系统盘或挂载数据集。
2. 系统盘支持缩容吗?
DSW系统盘在扩容后无法缩容。如果您发现之前创建的DSW实例系统盘空间过大,并需要备份实例中的重要信息,可以通过挂载数据集/OSS/NAS/CPFS将资料备份至OSS。随后,您可以删除该DSW实例避免持续计费,并重新创建一个新的DSW实例,设置适当的系统盘空间以满足您的需求。
挂载配置
1. DSW实例如何挂载和使用自己的NAS文件系统?
DSW实例默认提供的系统盘为临时存储,在停止或删除实例后,系统会清空数据。如果您需要永久化存储数据,则需要挂载同地域下的NAS文件系统。您所有的NAS文件均存储在/nas目录,可以通过DSW Terminal进入该目录查看并使用文件。
新版的DSW仅支持在创建实例时,挂载同地域下的NAS文件系统,详情请参见创建DSW实例。实例一旦创建,则无法编辑实例信息或挂载NAS。
挂载了NAS的实例,系统默认使用该NAS存储数据,不再使用临时存储。
2. PAI-DSW挂载数据集NAS,启动实例报错:The specified MountTarget 3b79d4a2ac-xmk97.cn-shanghai.nas.aliyuncs.com is not in VPC vpc(VPC实例)
产生原因:是由于在创建NAS 数据集的时候添加配置了挂载点导致的,
解决方案:需要在创建数据集的时候把挂载点置空
3. 使用ECS搭建FTP上传下载文件到NAS,执行挂载(mount)命令报错mount:wrong fs type,bad option,bad superblock
现象描述
解决方法
执行
mount
命令之前,先安装nfs-utils安装包。yum install nfs-utils
4. 如果挂载OSS数据集后,访问挂载目录报错Input/output error,应如何解决?
该问题是由于未对角色授予OSS访问权限(AliyunPAIDLCAccessingOSSRole)导致,具体授权操作,请参见PAI服务账号授权。
5. 如何在使用jindo挂载OSS数据集时降低OOM(Out of Memory)风险?
可以通过以下两种方式解决:
方式一:使用jindo6.8.1版本,该版本优化了内存。
{ "fs.jindo.fuse.pod.image.tag":"6.8.1" }
方式二:使用ossfs。
在提交任务时,指定:
{ "mountType": "ossfs" }
通过以下配置关闭readdirplus优化,可以减少列举文件夹内容时的元数据缓存占用,从而最大程度的缓解OOM问题:
{ "mountType": "ossfs", "fs.ossfs.args": "-oreaddirplus=false" }
6. 成功挂载了OSS,为什么在JupyterLab界面的左侧文件浏览器中看不到?
这是因为DSW的文件浏览器默认显示的是实例的工作目录,其路径通常是/mnt/workspace
。而您挂载OSS时指定的挂载路径(例如 /mnt/data
)并不在默认工作目录下,因此不会直接显示在左侧文件列表中。
解决方法:
通过代码访问:您的文件实际上已经成功挂载。在代码中,您需要使用完整的挂载路径来访问它们,例如
open('/mnt/data/my_file.csv')
。更改挂载点:为了在UI中方便地看到文件,您可以在配置挂载时,将挂载路径设置为工作目录下的一个子目录,例如
/mnt/workspace/my_oss_data
。这样,挂载完成后,您就可以在文件浏览器的my_oss_data
文件夹中看到您的OSS文件了。通过终端访问:您可以在DSW的Terminal中使用
cd /mnt/data
命令进入挂载目录,然后通过ls
等命令查看和操作文件。
7. 使用挂载的OSS时,程序报错“Transport endpoint is not connected”或“输入/输出错误”?
这个错误表明DSW实例与OSS的挂载连接已断开。可能的原因及排查方法如下:
RAM角色权限问题:请检查您为DSW实例配置的RAM角色是否被授予了访问OSS的权限(例如
AliyunPAIDLCAccessingOSSRole
)。权限不足是导致无法读取OSS的常见原因。挂载服务资源不足:当进行高强度的随机读写或大量小文件操作时,负责挂载的
ossfs
或JindoFuse
进程可能会因内存不足(OOM)而崩溃 。您可以在挂载配置的“高级配置”中,可以关闭元数据Cache,或增加内存配置。详情请参见JindoFuse。恢复连接:
对于启动时挂载,最简单的恢复方法是重启DSW实例,系统会自动重新执行挂载。
您也可以使用PAI SDK执行动态挂载命令,在不重启实例的情况下重新挂载路径。
8. DSW支持挂载哪些类型的数据?可以直接挂载阿里云盘或MaxCompute表吗?
DSW支持通过创建数据集或直接挂载路径的方式使用OSS、NAS和CPFS这几种云存储服务
不支持阿里云盘:目前DSW不直接支持挂载个人阿里云盘。需要处理的数据建议存放在OSS中。
不支持挂载MaxCompute表:MaxCompute(原ODPS)的表数据,不能像文件系统一样直接“挂载”到DSW的目录中。您可以通过PAI提供的SDK或API在DSW代码中进行读写,详情请参见使用PyODPS读写MaxCompute表。
9. DSW实例关机或删除后,代码和数据会丢失吗?如何实现数据持久化和迁移?
DSW实例的系统盘是临时存储。对于公共资源组,实例停机超过15天数据会被清空;对于专有资源组,实例停止或删除后,系统盘数据也会被清空。
为了实现数据和代码的持久化存储,以及在不同实例间迁移,必须使用外部挂载存储 。
持久化方案:将您的重要数据、代码、模型等全部保存在通过挂载的OSS或NAS路径下。这样,即使DSW实例被删除,您的所有资产依然安全地存放在您自己的OSS或NAS中。
迁移方案:当您需要将数据从一个DSW实例迁移到另一个时,只需在新实例中挂载包含这些数据的同一个OSS或NAS路径即可,这是最便捷的数据迁移方式。
10. 成功挂载了OSS,在工作目录中的文件为什么在OSS中看不到?
挂载OSS时指定的挂载路径默认为 /mnt/data
,而DSW默认的工作目录为/mnt/workspace
,因此无法在OSS中看到工作目录下的文件。您可以使用如下复制命令将工作目录下的文件拷贝至/mnt/data
下,即可在OSS中看到相应文件。
cp -r /mnt/workspace/. /mnt/data/
11. 挂载NAS提示扮演角色失败
如果您在创建DSW实例时挂载NAS失败:显示扮演角色失败。请参考如下方法进行处理,然后再次尝试挂载:
12. DSW实例重启后里边的文件全丢失
如果DSW实例未挂载数据集,则在停止或删除DSW实例后,相关数据将无法恢复。因此,在停止之前,请确保已挂载数据集。如果没有挂载,请尽快备份您的数据和资料,完成备份后再进行停止操作,以避免数据丢失。
数据读取、上传和下载
1. 如何使用DSW读取OSS数据?
您可以使用Python SDK或API读取OSS数据,详情请参见读写对象存储OSS数据。
2. 如何上传下载文件夹?
目前DSW不支持直接上传和下载文件夹,但您可以通过打包为压缩文件的方式实现文件夹的上传和下载。DSW Terminal提供了一个Linux环境,可以使用标准的Linux命令行工具,如tar
、gzip
、unzip
等,来解压缩文件。以tar
为例使用示例如下。
使用
tar --version
查看tar是否安装,如果没有,则可参考如下命令进行安装。# 对于基于Debian的系统(例如 Ubuntu)的安装命令 sudo apt install tar # 基于Red Hat的系统(例如CentOS、Fedora)的安装命令 sudo yum install tar
解压缩文件夹。
# 压缩文件夹, /path/to/diretory为要压缩的文件夹 tar -cvf archive_name.tar /path/to/directory # 解压文件夹 tar -xvf archive_name.tar
3. 两个DSW实例之间怎么互传、分享数据?
您可以采用如下两种方式:
挂载数据集/OSS/NAS/CPFS:两个DSW实例都挂载相同的数据集或OSS路径,然后将数据存储在该数据集或存储路径下,从而实现数据分享。
上传与下载文件:从源DSW实例中下载需要分享的数据,然后再上传至另一个DSW实例中。
4. 点击“Download”后没有反应或下载失败怎么办?
这通常由网络拥堵或浏览器问题引起。请尝试以下步骤:
耐心等待片刻,大文件下载需要更长的响应时间。
更换浏览器或使用浏览器的无痕模式重试。
对于较大的文件(如超过200 MB)或网络不稳定的情况,建议通过挂载OSS的方式下载。
5. 提示“文件中转站”空间不足怎么办?
文件中转站的总容量为10 GB。您需要进入中转站管理页面,清理中转站文件释放空间。如果页面没有及时刷新,请尝试刷新浏览器。
6. 为什么上传时总是跳转到“文件中转站”?
这是正常现象。为保证上传稳定性和速度,所有大于10 MB的文件都会自动通过文件中转站进行传输,并在完成后保存到您的实例中。
7. 如何将本地的大文件(例如超过5 GB的模型)或大量数据上传到DSW并使用?
DSW实例的系统盘空间有限且为临时存储,不建议直接上传大文件或大量数据,您可以先将数据上传到阿里云对象存储OSS,然后将其挂载到DSW实例中使用。 详情请参见挂载数据集/OSS/NAS/CPFS。
8. DSW训练算法模型时,通过ODPS读取数仓数据的上限为10000条,如何解决这一限制问题?
ODPS的默认查询限制为10000条,这对写入或插入操作没有影响。您可以联系您的ODPS管理员,请求更改配置以允许下载或读取全量数据。
远程连接实例
1. ProxyClient连接DSW实例时断连报错:client_loop: send disconnect: Broken pipe
在使用其通过SSH方式连接DSW实例时,若长时间不进行操作会触发断连,系统可能会提示:
如果要从根本上解决此问题,推荐您使用稳定性更高的远程连接:SSH直连方式连接DSW实例。
2. 使用VSCode远程连接了实例,打开本地文件夹失败
一般是由于Vscode客户端的影响产生的问题,建议将本地文件上传至云端的DSW中,具体操作可参考上传与下载文件。
网络问题
1. 网络下载速度过慢如何解决?
由于DSW、DLC实例默认使用共享网关,受带宽限制,下载大型文件时网速可能无法满足需求。因此,当您想要提升网络下载速度时,可参考如下内容:
如果下载的是国内资源:可以为实例所在专有网络(VPC)创建公网NAT网关、绑定弹性IP(EIP)并配置SNAT,从而使实例通过专有公网网关高速访问互联网。
如果下载的是海外资源:您可以使用全球加速GA拉取海外模型或容器镜像。
2. DSW实例是否有公网IP?
DSW实例默认情况下不分配公网IP。如果您需要访问外网或让外部访问您的DSW实例,建议您配置NAT网关或使用弹性公网IP(EIP),详情请参见网络配置。
3. DSW实例同NAT网关暴露公网访问时,公网端口可以重复吗?
当使用DSW自定义服务对外提供接口时,若多个服务配置了相同的NAT网关,则所有通过该NAT网关进行公网访问的自定义服务端口不得重复,包括不同DSW实例中的自定义服务。
4. DSW实例为什么无法访问公网?
DSW实例默认可以使用公有网关访问公网。如果您无法访问公网请确认,在实例的配置页面,公网访问网关是否选择了专有网关。如果选择了专有网关,请必须配置弹性公网IP和SNAT条目,详情见通过专有公网网关高速访问互联网。否则,请选用公有网关。
5. DSW创建实例绑定专有网络报错:错误码:InternalError 获取用户VPC列表失败
解决方法:在RAM控制台为当前用户授予 AliyunVPCFullAccess 权限。
第三方库安装
1. 如何在DSW中使用第三方库
DSW支持安装第三库,可以使用DSW Terminal输入如下命令完成安装。
#Python 3版本。
pip install --user xxx
#Python 2版本。
source activate python2
pip install --user xxx
其中xxx需要替换为待安装的第三方库名称。安装成功后,需要单击kernelrestart kernel,重启服务。
2. 为什么安装的第三方包没有生效?
通过pip
命令安装第三方包后,使用import
命令导入时,如果出现无法查找到该包的问题,则先尝试重启服务。如果依然报错,则确认当前使用的环境。安装第三方包时,DSW默认安装到Python 3环境。如果需要安装到其他环境,则必须先手动切换环境再进行安装,示例如下。
安装到Python 2环境。
source activate python2
pip install --user xxx
安装到TensorFlow 2.0环境。
source activate tf2
pip install --user xxx
其中xxx需要替换为待安装的第三方包名称。
3. 代码报错说CUDA驱动版本太低,需要手动在DSW里升级NVIDIA驱动吗?
不要升级驱动版本。 DSW实例的驱动和CUDA是预装并锁定的,不能也不应该手动修改,否则极易导致实例损坏且无法恢复。正确的做法是:更换DSW镜像。停止当前实例,新建一个实例,并选择一个官方提供的、带有更高版本CUDA和驱动的镜像。
例如官方镜像:modelscope:1.9.4-pytorch2.0.1tensorflow2.13.0-gpu-py38-cu118-ubuntu20.04
。其中cu118,代表CUDA版本为11.8。
4. 我在DSW里用 pip install
安装一个包失败了,报依赖冲突或版本错误,该怎么办?
通常由环境不兼容导致。请按以下顺序排查解决:
首选方案:更换镜像。 停止当前实例,新建一个DSW实例,选择一个不同的官方镜像。例如,如果当前PyTorch 2.1镜像不行,可以尝试PyTorch 2.3的镜像,或者尝试
modelscope
系列镜像,该系列镜像通常有更好的兼容性。指定版本安装。 查阅该包的官方文档,找到一个支持您当前DSW环境(Python/CUDA版本)的包版本,然后执行
pip install package_name==x.y.z
。更换下载源。 尝试使用清华源等国内镜像:
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple package_name
。
5. 我在DSW的Terminal里明明装好了库,为什么在Jupyter Notebook里import 还是找不到?
可能是因为Terminal和Jupyter使用了两个不同的Python环境。您可以通过which python
命令确认当前是哪个Python环境,或者在Notebook中安装所需的库,例如:
6. 想在DSW里使用Docker来部署我的应用,可以吗?
不可以。 DSW本身是基于容器技术实现的,不支持在容器内再次运行Docker(即不支持嵌套虚拟化)。如果您的应用强依赖Docker,建议您使用阿里云ECS云服务器来部署。
7. DSW实例里没有unzip
或7z
命令,怎么解压文件?
您可以通过apt-get
命令来安装。
安装
unzip
:在Terminal中运行apt-get update && apt-get install -y unzip
,然后使用unzip your_file.zip
。安装
p7zip
(用于7z):在Terminal中运行apt-get update && apt-get install -y p7zip-full
,然后使用7z x your_file.7z
。
8. DSW实例关机(停止)后,我用pip
安装的包和写的代码会丢失吗?
不会丢失。 实例的磁盘数据(包括/mnt/workspace
和/root
下的环境)都会被保留。下次启动实例时,所有环境和文件都还在。只有删除实例才会彻底清空所有数据。
9. 安装时一直卡住或超时,是怎么回事?
可能是网络问题。
检查实例是否配置了公网访问。如果你创建实例时选择了“无公网访问”或配置了VPC但没有设置NAT网关,将无法连接到外部下载源。
尝试更换下载源,比如从默认的阿里源切换到清华源:
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple <包名>
。如果网络实在不通,可以在您自己的电脑上下载好
.whl
格式的安装包,上传到DSW中进行离线安装。
10. 在DSW的WebIDE里如何获取root权限?
DSW的大部分官方镜像默认是以root
用户身份运行的,打开Terminal时看到命令提示符是root@...
就说明已经是root了。pip
安装时出现的“不建议以root用户运行”的警告信息可以安全地忽略。如果您的镜像不是root登录,这是镜像本身的设定,您需要更换一个支持root的镜像。
模型部署
1. 如何部署DSW生成的模型?
使用EAS模型部署服务
在完成模型建模后,您可以使用PAI-EAS将模型部署为在线服务,详情请参见将模型部署为在线服务。
下载模型到本地部署
您可以通过右键单击DSW生成的模型将其下载至本地。
实例运行
1. 运行机器学习代码时,为什么页面放置一段时间后提示重新登录?
为安全考虑,DSW登录Session的有效期为3个小时,过期后需要重新登录,但是不会影响任务的执行。如果需要长时间运行任务,建议在DSW Terminal,使用nohup
命令后台执行任务。
2. 关闭浏览器或电脑关机后,DSW 中运行的训练任务还会继续吗?
会继续。DSW 实例运行在云端,关闭本地设备不影响其运行状态。但请注意,部分实例(尤其是免费试用实例)可能配置了 闲置自动关机策略。如果实例的 CPU、GPU 等资源在一段时间内持续低于某个阈值,可能会被系统判定为闲置并自动停止,从而中断您的任务。
3. 为什么DSW无法启动Docker?
因为DSW本身运行在容器中,所以DSW不支持安装Docker。对应的CUDA版本是底层的虚拟机预装好的,无法变更,您可以使用nvidia-smi
查看对应的CUDA版本。
4. 为什么在Terminal中没有tab键自动补全等bash功能?
因为部分镜像有使用限制,您需要手动在Terminal中输入bash并按回车键,才可以启动bash相关功能。
5. 如果您在DSW中进行AI开发时发现DSW实例规格不满足要求如何解决?
您可以按照以下操作步骤更新DSW实例规格:
在DSW实例列表中,单击实例名称,进入实例详情页面。
在实例配置页签中,单击变更配置。
在变更实例配置面板中,更新实例规格。
说明在更新DSW实例规格时,如果实例正在运行中,更新操作会立即重启实例。请确保您已经保存了实例中的内容。
6. 我的内存使用率较高,怎么样进行释放?
如果您的内存使用率过高,影响了正常使用,您可以通过两种方式来解决。
如果因内存占用过高,您已无法通过命令行进行交互,请单击右上角的停止实例;或返回到DSW控制台,单击实例所在行右侧的停止按键。等到实例停止后再打开实例。
如果在实例中可以通过命令行进行交互,您可以在实例的Terminal中输入
top
命令,查看当前所有进程的内存占用信息。%MEM
表示占用内存百分比,PID
表示进程ID。如果您想要结束占用内存较高的进程,请在命令行中输入:
kill PID
您需要将PID替换成您想要结束进程的PID。运行后可看到内存使用率降低。
7. 运行时报错:RuntimeError: CUDA error: too many resources requested for launch
出错原因:当您遇到该错误,表明CUDA内核请求的资源超过了可用资源,此错误通常与GPU的硬件限制有关。
解决方案:您可以尝试重启实例,重新运行程序,如果还是不行,您就需要选择更高规格的GPU实例。
8. DSW内存不足时能否创建swap空间使用虚拟内存?
DSW本身是容器,不支持创建或管理swap空间。
原因如下:
权限限制:容器的内核权限受限,无法挂载 Swap 文件。即使在容器内获取 root 权限,也无法绕过宿主机的资源策略。
平台策略:平台统一调度和限制资源,以确保多租户环境的稳定和安全。
建议:若内存不足,请优化代码或升级实例规格。
9. PAI可以配置PHP运行环境吗?
PAI目前不支持配置PHP运行环境。您可以构建其他环境来使用PAI,详情请参见DSW概述。
10. 如何Debug代码?
DSW暂未提供Debug功能,您可以查看运行日志,了解代码运行情况。
11. 对接微服务引擎Nacos连接失败
在创建DSW实例时,您可以选择与Nacos配置中心一致的VPC。这样能确保DSW实例所在的VPC与Nacos配置中心VPC打通。
12. 报错OOM
如果您在使用DSW实例时遇到OOM报错,建议增加实例内存,或减少模型中树的数量。
13. Notebook无法保存:File Save Error for *.ipynb
请清空Notebook的输出。当Notebook大小超过5 MB时,将无法保存。
14. DSW中用nvidia-smi命令为什么看不到运行中的进程信息?
DSW里面有容器隔离,nvidia-smi
查不到pid。您可以参考该issue的解释: https://github.com/NVIDIA/nvidia-docker/issues/179
这是nvidia驱动程序的当前限制,它与 PID 命名空间相关,驱动程序不知道 PID 命名空间,因此容器中的 nvidia-smi
看不到任何正在运行的进程。
用户查看对应gpu占用对应的pid,可以使用:lsof /dev/nvidia*
注:nvitop 以及 nvtop均不能获取到准确的pid