这个错误(OSError: [Errno 28] No space left on device)表示您的设备上没有足够的可用磁盘空间来完成某个操作。
解决这个问题,需要释放一些磁盘空间,在运行Pytorch相关项目时,尤其是在远程服务器上跑项目时,一般会关注两个空间的部分,home 目录 和 data 目录,home目录相当于 windows 中的 C 盘,data目录相当于外存,而这个错误产生的原因大多也是因为 home 目录下的没有足够的空间,主要有以下几种方法实现:
- 删除不再需要的文件和目录。
- 清理临时文件、日志文件和缓存。
- 卸载不再使用的软件包和应用程序。
- 如果需要,将文件移动到具有更多可用空间的外部存储设备。
首先可以通过 df-h 命令来查询磁盘空间。df全称为"disk filesystem",它可以显示文件系统的磁盘空间使用情况。其次清理空间时优选第二个选项,这些可能是我们很大概率不需要的。
对于python项目来说,主要有两部分的缓存: pip 缓存和 conda 缓存,所以我们主要清理的也是这两方面的缓存。
pip 查看缓存大小:
pip cache info
清理pip 缓存
pip cache purge
conda 查看缓存大小:
du -sh $(conda info --base)/pkgs
清理conda 缓存
conda clean --all