【问题标题】:Heroku: slug size too large after installing PytorchHeroku:安装 Pytorch 后 slug 太大
【发布时间】:2020-03-26 02:02:59
【问题描述】:

我从 Heroku 收到 slug size too large 警告 (Compiled slug size: 789.8M is too large (max is 500M)),我不知道为什么,因为我的模型大小(下面的 cnn.pth)相当小,我的文件目录只有 1.1 mb 总数:screenshot of directory.

似乎大小增加是由运行 pipenv install torch 引起的,因为在安装 torch 之前 slug 大小为 89.1mb,之后为 798.8mb。

我的 Pipfile 目前安装了这些包:

[packages]
flask = "*"
flask-sqlalchemy = "*"
psycopg2 = "*"
psycopg2-binary = "*"
requests = "*"
numpy = "*"
gunicorn = "*"
pillow = "*"
torch = "*"

有什么解决方法吗?

编辑:我正在运行 Mac OSX 10.10.5,使用 Flaskpipenv

【问题讨论】:

    标签: python heroku pytorch


    【解决方案1】:

    您正在安装的 pytorch 软件包同时支持 cpu 和 gpu,因此体积很大。看来您使用的是免费版本的 heroku,并且只需要 cpu 支持。解决方案是只为 cpu 安装 pytorch 包,即

    requirements.txt中写下你感兴趣的pytorch(cpu)版本对应的wheel文件路径,可以找到list of wheel files,可以用pip安装。例如,对于 PyTorch 1.3.1、torchvision 0.4.2、Python 3.7、Linux,您可以分别为 pytorch 和 torchvision 编写以下代码:

    https://download.pytorch.org/whl/cpu/torch-1.3.1%2Bcpu-cp37-cp37m-linux_x86_64.whl
    https://download.pytorch.org/whl/cpu/torchvision-0.4.2%2Bcpu-cp37-cp37m-linux_x86_64.whl
    

    以上将分别下载torch-1.3.1+cpu-cp37-cp37m-linux_x86_64.whl (107MB) torchvision-0.4.2+cpu-cp37-cp37m-linux_x86_64.whl (13MB)。

    【讨论】:

    • 感谢您的回复!我试过这个,但没有用。我意识到我在最初的问题中没有提到我的操作系统——我在 Mac OSX 10.10.5 上。我尝试使用 mac 版本 pipenv install https://download.pytorch.org/whl/cpu/torch-1.3.1-cp37-none-macosx_10_7_x86_64.whl(来自您共享的链接),但它返回了这个错误:torch-1.3.1-cp37-none-macosx_10_7_x86_64.whl is not a supported wheel on this platform.
    • 我想知道问题是否可能是因为我使用的是pipenv install 而不是pip install?我在搜索时找到了this solution,但发现他们的答案相当混乱,并且无法使其正常工作(我在 Pipfile 和 Pipfile.lock 中更改了包的名称)。
    • 确保您在 wheel 文件中也使用了正确的 python 版本和 macosx 版本。如果不起作用,请使用相同的pip/pipenv install torch 检查安装时打印的正确滚轮(.whl)路径,并在安装中使用相同的路径。
    • 不幸的是,OSX 10.10.5 似乎没有仅 CPU 的轮文件,他们支持的最新版本大概是 10.7(查看文件名)。我正在使用 Python 3.7。
    • 我知道已经晚了,但这对我有用:https://download.pytorch.org/whl/cpu/torch-1.3.1%2Bcpu-cp36-cp36m-linux_x86_64.whl
    【解决方案2】:
    1. 转到PyTorch Get Started page。选择稳定版,Linux,pip,python,cpu,可以看到:
    pip install torch==1.8.1+cpu torchvision==0.9.1+cpu torchaudio==0.8.1 -f https://download.pytorch.org/whl/torch_stable.html
    
    1. 将版本复制到您的requirements.txt
    torch==1.8.1+cpu 
    torchvision==0.9.1+cpu
    
    1. 并添加到requirements.txt 的开头这个:
    -f https://download.pytorch.org/whl/torch_stable.html
    

    之后,所有的包都将安装在 Heroku 上。

    供参考: torch==1.8.1+cpu (169.1 MB); torchvision==0.9.1+cpu (13.3 MB)

    【讨论】:

    • 只是一个提示:我用torch>=1.8.1+cpu 试过这个,但没有用;蛞蝓尺寸仍然太大。在要求中使用== 似乎很重要,而不是>=
    • 错误:找不到满足要求的版本 torch==1.8.1+cpu(来自 -r /tmp/build_9027c8a3/requirements.txt(第 1 行))(来自版本:0.1。 2, 0.1.2.post1, 0.1.2.post2, 1.4.0, 1.5.0, 1.5.1, 1.6.0, 1.7.0, 1.7.1, 1.8.0, 1.8.1, 1.9.0)
    猜你喜欢
    • 1970-01-01
    • 2015-07-23
    • 2021-09-28
    • 1970-01-01
    • 1970-01-01
    • 2014-06-19
    • 2022-12-20
    • 1970-01-01
    • 2011-11-12
    相关资源
    最近更新 更多