我正在尝试部署使用机器学习模型的Django应用。机器学习模型需要pytorch才能执行。
当我尝试部署时,它给了我这个错误
ERROR: Could not find a version that satisfies the requirement torch==1.5.0+cpu (from -r /tmp/build_4518392d43f43bc52f067241a9661c92/requirements.txt (line 23)) (from versions: 0.1.2, 0.1.2.post1, 0.1.2.post2, 0.4.1, 0.4.1.post2, 1.0.0, 1.0.1, 1.0.1.post2, 1.1.0, 1.2.0, 1.3.0, 1.3.1, 1.4.0, 1.5.0)
ERROR: No matching distribution found for torch==1.5.0+cpu (from -r /tmp/build_4518392d43f43bc52f067241a9661c92/requirements.txt (line 23))
! Push rejected, failed to compile Python app.
! Push failed
我的requirements.txt是
asgiref==3.2.7
certifi==2020.4.5.1
chardet==3.0.4
cycler==0.10.0
dj-database-url==0.5.0
Django==3.0.6
django-heroku==0.3.1
future==0.18.2
gunicorn==20.0.4
idna==2.9
imageio==2.8.0
kiwisolver==1.2.0
matplotlib==3.2.1
numpy==1.18.4
Pillow==7.1.2
psycopg2==2.8.5
pyparsing==2.4.7
python-dateutil==2.8.1
pytz==2020.1
requests==2.23.0
six==1.14.0
sqlparse==0.3.1
torch==1.5.0+cpu
torchvision==0.6.0+cpu
urllib3==1.25.9
whitenoise==5.0.1
runtime.txt是python-3.7.5
但是,当我使用命令pip install torch==1.5.0+cpu
我正在使用python 3.7.5和pip 20.0.2时,在计算机上安装它不会产生任何类型的错误。
完整的代码是here。
如何解决此问题,我确实需要部署我的应用程序。谢谢
答案 0 :(得分:7)
PyTorch不会通过PyPI分发仅CPU版本。它们只能通过其自定义注册表使用。
如果在PyTorch - Get Started Locally上选择仅CPU版本,则会得到以下指示:
pip install torch==1.5.0+cpu torchvision==0.6.0+cpu -f https://download.pytorch.org/whl/torch_stable.html
由于您没有手动执行pip安装,因此不能简单地添加-f https://download.pytorch.org/whl/torch_stable.html
。
作为替代方案,您可以将其作为独立行放入requirements.txt
中。确切地放置在什么位置并不重要,但通常放在最上面。
-f https://download.pytorch.org/whl/torch_stable.html
asgiref==3.2.7
certifi==2020.4.5.1
chardet==3.0.4
cycler==0.10.0
dj-database-url==0.5.0
Django==3.0.6
django-heroku==0.3.1
future==0.18.2
gunicorn==20.0.4
idna==2.9
imageio==2.8.0
kiwisolver==1.2.0
matplotlib==3.2.1
numpy==1.18.4
Pillow==7.1.2
psycopg2==2.8.5
pyparsing==2.4.7
python-dateutil==2.8.1
pytz==2020.1
requests==2.23.0
six==1.14.0
sqlparse==0.3.1
torch==1.5.0+cpu
torchvision==0.6.0+cpu
urllib3==1.25.9
whitenoise==5.0.1
答案 1 :(得分:0)
我不是火炬专家,但是我看到其他需要C编译器和/或其他库的AI包也存在类似问题。
查看Heroku上是否有可用的“ buildpack”来安装这些依赖项,或者
更改为使用“容器”分发方法,在该方法中,您将Docker映像构建并推送到heroku作为部署策略。
答案 2 :(得分:0)
我尝试在我的项目中安装 Torch 1.5.0,但它支持我的本地机器,但是当我在 Heroku 中部署它时出现错误。当我把下面
requiremenmts.txt 它工作正常
永远记住它需要从第 1 行开始
要求.txt:
1 -f https://download.pytorch.org/whl/torch_stable.html
2 torch== 1.8.1+cpu
3. torchvision==0.9.1+cpu