Tensorflow 应用程序不再部署到 Heroku:Slug 尺寸太大
Tensorflow Apps No Longer Deploying To Heroku: Slug Size Too Large
我有许多 heroku 应用程序,直到最近我都能够非常无缝地更新它们。他们使用 tensorflow 和 streamlit,并且在部署时都发出类似的消息:
-----> Compressing...
remote: ! Compiled slug size: 560.2M is too large (max is 500M).
remote: ! See: http://devcenter.heroku.com/articles/slug-size
remote:
remote: ! Push failed
remote: !
remote: ! ## Warning - The same version of this code has already been built: 5c0f686a86459f6e81627ce14770f7494f4bd244
remote: !
remote: ! We have detected that you have triggered a build from source code with version 5c0f686a86459f6e81627ce14770f7494f4bd244
remote: ! at least twice. One common cause of this behavior is attempting to deploy code from a different branch.
remote: !
remote: ! If you are developing on a branch and deploying via git you must run:
remote: !
remote: ! git push heroku <branchname>:main
remote: !
remote: ! This article goes into details on the behavior:
remote: ! https://devcenter.heroku.com/articles/duplicate-build-version
remote:
remote: Verifying deploy...
remote:
remote: ! Push rejected to dry-caverns-08193.
remote:
To https://git.heroku.com/dry-caverns-08193.git
! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'https://git.heroku.com/dry-caverns-08193.git'
我知道它说 slug 尺寸太大,但他们 运行 之前有过相同的消息,所以我不确定这是什么问题。
这是我的文件设置:
app.py
Procfile
requirements.txt
setup.sh
my_model/
-- assets/
-- variables/
-- variables.index
-- variables.data-00000-of-000001
saved_model.pb
requirements.txt
内容如下:
tensorflow==2.*
streamlit==0.67.0
requests==2.24.0
requests-oauthlib==1.3.0
setup.sh
内容如下:
mkdir -p ~/.streamlit/
echo "\
[general]\n\
email = \"myemail@gmail.com\"\n\
" > ~/.streamlit/credentials.toml
echo "\
[server]\n\
headless = true\n\
enableCORS=false\n\
port = $PORT\n\
" > ~/.streamlit/config.toml
我的直接怀疑是 tensorflow 导致 slug 尺寸太大——但它以前与 tensorflow 一起工作,所以我不确定为什么它现在不起作用。
还有其他可能吗?
编辑:
查看这个问题后: 我尝试了 git push heroku master:main
,但在日志中显示以下内容时不起作用:
Push rejected to dry-caverns-08193.
remote:
To https://git.heroku.com/dry-caverns-08193.git
! [remote rejected] master -> main (pre-receive hook declined)
error: failed to push some refs to 'https://git.heroku.com/dry-caverns-08193.git'
如果您使用免费测功机:
在 requirements.txt
中进行更改:
tensorflow-cpu
而不是
tensorflow
这会大大减小你的 slug 大小
此外,您的问题还可能取决于模型重量大小
另一个提示:
如果您直接从 GitHub 中提取代码,请使用 `.slugignore' 文件,这样您就可以忽略诸如 README 之类的任何内容 GitHub 对笔记本的操作不会被添加到您的 Dyno
我还没有彻底测试过这个,只是把它放在这里以防它对某人有帮助。
我有很多超过 500MB slug 大小限制的应用程序。它 警告 但当我这样做时不会出错。可能是因为我不是免费计划,而是付费计划。因此,如果有人不顾一切地让它工作,并且无法通过任何其他方式将 slug 大小减小到 500MB 以下,那么继续该应用程序的最低付费计划可能是一个可行的解决方案。
我有许多 heroku 应用程序,直到最近我都能够非常无缝地更新它们。他们使用 tensorflow 和 streamlit,并且在部署时都发出类似的消息:
-----> Compressing...
remote: ! Compiled slug size: 560.2M is too large (max is 500M).
remote: ! See: http://devcenter.heroku.com/articles/slug-size
remote:
remote: ! Push failed
remote: !
remote: ! ## Warning - The same version of this code has already been built: 5c0f686a86459f6e81627ce14770f7494f4bd244
remote: !
remote: ! We have detected that you have triggered a build from source code with version 5c0f686a86459f6e81627ce14770f7494f4bd244
remote: ! at least twice. One common cause of this behavior is attempting to deploy code from a different branch.
remote: !
remote: ! If you are developing on a branch and deploying via git you must run:
remote: !
remote: ! git push heroku <branchname>:main
remote: !
remote: ! This article goes into details on the behavior:
remote: ! https://devcenter.heroku.com/articles/duplicate-build-version
remote:
remote: Verifying deploy...
remote:
remote: ! Push rejected to dry-caverns-08193.
remote:
To https://git.heroku.com/dry-caverns-08193.git
! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'https://git.heroku.com/dry-caverns-08193.git'
我知道它说 slug 尺寸太大,但他们 运行 之前有过相同的消息,所以我不确定这是什么问题。
这是我的文件设置:
app.py
Procfile
requirements.txt
setup.sh
my_model/
-- assets/
-- variables/
-- variables.index
-- variables.data-00000-of-000001
saved_model.pb
requirements.txt
内容如下:
tensorflow==2.*
streamlit==0.67.0
requests==2.24.0
requests-oauthlib==1.3.0
setup.sh
内容如下:
mkdir -p ~/.streamlit/
echo "\
[general]\n\
email = \"myemail@gmail.com\"\n\
" > ~/.streamlit/credentials.toml
echo "\
[server]\n\
headless = true\n\
enableCORS=false\n\
port = $PORT\n\
" > ~/.streamlit/config.toml
我的直接怀疑是 tensorflow 导致 slug 尺寸太大——但它以前与 tensorflow 一起工作,所以我不确定为什么它现在不起作用。
还有其他可能吗?
编辑:
查看这个问题后:git push heroku master:main
,但在日志中显示以下内容时不起作用:
Push rejected to dry-caverns-08193.
remote:
To https://git.heroku.com/dry-caverns-08193.git
! [remote rejected] master -> main (pre-receive hook declined)
error: failed to push some refs to 'https://git.heroku.com/dry-caverns-08193.git'
如果您使用免费测功机:
在 requirements.txt
中进行更改:
tensorflow-cpu
而不是
tensorflow
这会大大减小你的 slug 大小
此外,您的问题还可能取决于模型重量大小
另一个提示:
如果您直接从 GitHub 中提取代码,请使用 `.slugignore' 文件,这样您就可以忽略诸如 README 之类的任何内容 GitHub 对笔记本的操作不会被添加到您的 Dyno
我还没有彻底测试过这个,只是把它放在这里以防它对某人有帮助。
我有很多超过 500MB slug 大小限制的应用程序。它 警告 但当我这样做时不会出错。可能是因为我不是免费计划,而是付费计划。因此,如果有人不顾一切地让它工作,并且无法通过任何其他方式将 slug 大小减小到 500MB 以下,那么继续该应用程序的最低付费计划可能是一个可行的解决方案。