解决pytorch服务打包docker镜像过大问题,使用torch的cpu版本

文章讲述了如何在Linux机器上通过仅安装PyTorch的CPU版本来降低镜像大小,避免了默认安装CUDA带来的过大体积。作者提到将`torch`版本设置为2.1.0+cpu,并从特定链接下载相关库,如`torch_geometric`,以实现更高效的空间利用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

使用torch的cpu版本即可,修改pip的下载依赖,在linux机器上不要默认下载

整个服务只使用了pytorch关于gcn相关的代码,但是要安装pytorch包,这是很大的。尤其如果你在linux上安装torch,会默认安装cuda版本,这会导致大小激增。我默认安装后,镜像大小8个多G,这很显然是不合理的。
后来我为了减少体积,我只安装了torch的cpu版本,即修改了requirement.txt文件

-f https://download.pytorch.org/whl/cpu/torch_stable.html
torch==2.1.0+cpu
-f https://pytorch-geometric.com/whl/torch-2.1.0+cpu.html
torch_geometric

只安装cpu版本,大小只有1.6G.

你可以按照以下步骤来搭建一个GPU版本PyTorch Docker镜像: 1. 首先,确保你的机器上已经安装了NVIDIA驱动程序。可以使用以下命令来检查驱动程序的安装情况: ``` nvidia-smi ``` 2. 安装Docker和NVIDIA Docker运行时。根据你的操作系统,可以按照官方文档的说明进行安装。 3. 创建一个新的Dockerfile,可以使用以下命令在你的项目目录中创建一个名为Dockerfile的文件: ``` touch Dockerfile ``` 4. 使用任何文本编辑器打开Dockerfile,并将以下内容添加到文件中: ```dockerfile # 指定基础镜像 FROM pytorch/pytorch:latest # 安装CUDA工具包 RUN apt-get update && apt-get install -y --no-install-recommends \ cuda-toolkit-11-0 \ && rm -rf /var/lib/apt/lists/* # 设置环境变量 ENV PATH /usr/local/nvidia/bin:${PATH} ENV LD_LIBRARY_PATH /usr/local/nvidia/lib:/usr/local/nvidia/lib64:${LD_LIBRARY_PATH} # 安装PyTorchTorchvision RUN pip install torch==1.9.0+cu111 torchvision==0.10.0+cu111 -f https://download.pytorch.org/whl/torch_stable.html # 设置工作目录 WORKDIR /app # 复制项目文件到镜像中 COPY . /app # 安装项目依赖 RUN pip install -r requirements.txt # 设置启动命令 CMD ["python", "main.py"] ``` 请注意,上面的Dockerfile使用pytorch/pytorch:latest作为基础镜像,并安装了CUDA工具包以支持GPU计算。你可以根据你的需求选择不同的基础镜像和CUDA版本。 5. 在同一个目录中创建一个名为requirements.txt的文件,并列出你项目所需的所有Python依赖包。 6. 确保你的项目文件(包括Dockerfile和requirements.txt)都在同一个目录中。 7. 打开终端,导航到包含Dockerfile和requirements.txt的目录,并执行以下命令来构建Docker镜像: ``` docker build -t my_pytorch_image . ``` 这将使用Dockerfile中的指令构建一个名为my_pytorch_image的镜像。确保在命令末尾有一个点,表示Dockerfile所在的当前目录。 8. 构建完成后,你可以使用以下命令来运行一个容器并使用GPU: ``` docker run --gpus all -it my_pytorch_image ``` 这将创建一个新的容器并进入交互模式,你可以在其中运行你的PyTorch代码,并利用GPU进行加速。 希望这些步骤能帮助你搭建一个GPU版本PyTorch Docker镜像!如果有任何问题,请随时提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值