Deployment Platform: Render ✅

Thank you for the input, I am pretty new docker so that might be the problem, I haven’t created it in a docker file locally, so I will try that. :smiley::smiley:

1 Like

Hi Daniel.R.Armstrong
I also learned Docker recently and followed a lot of poor tutorials.

In this tutorial you will learn all the fundamentals you need to get your app working. https://training.play-with-docker.com/beginner-linux/#Task_0
This tutorial was a life saver for me and you can practice in their virtual session.

 docker container logs your_container_name

This command is really helpful as it shows you the output of what your container/app is doing (console output).

Cheers mrfabulous1 :smiley::smiley:

2 Likes

Hi, I have exactly the same problem. How did you solve it?. Many thanks!

Hi diegobodner hope all is well!

Have you searched this thread for “pip list”. Having bulit more than 50 model apps many of the apps issues have been resolved using this command to amend the requirements.txt in the deployed model.

cheers mrfabulous1 :smiley::smiley:

Hi mrfabulous1, it works well now, I changed the pythorch and fastai version in the requirements.txt based on notebook versions.

It doen’t work the model, always predict the dogs and cats (and other stuff) as a Boxer…but it is another problem. if you have ever heard this same problem please let me know.

Many thanks.
Best regards!
Diego

1 Like

Hi diegobodner I am glad to hear your model is now working.
There is probably a better thread than this one for discussing your issue.
I haven’t seen your particular issue before. However I am assuming your model is supposed to predict cats and dogs if this is the case then I would go to the section of the notebook below and check the confusion matrix.

I would check my directories container images of the correct class.

Also muellerzr has an image cleaner that you could try if that is an issue.

Not sure what you mean by

other stuff

But if you mean it predicts images of other things as a boxer even if they are not cats and dogs,
then this is another feature of the classifier which people are trying to find a solution to.
See this thread here. Handle data that belongs to classes not seen in training or testing

Have a jolly day mrfabulous1 :smile::smiley:

2 Likes

Hi, I am trying to run the bear classification on my local system but facing this error:

python app/server.py serve

Error:

C:\Program Files\Anaconda3\lib\site-packages\torch\serialization.py:435: SourceChangeWarning: source code of class ‘torch.nn.modules.linear.Linear’ has changed. you can retrieve the original source code by accessing the object’s source attribute or set torch.nn.Module.dump_patches = True and use the patch tool to revert the changes.
warnings.warn(msg, SourceChangeWarning)
INFO: Started server process [4524]
INFO: Waiting for application startup.
INFO: Uvicorn running on http://0.0.0.0:5000 (Press CTRL+C to quit)
INFO: (‘127.0.0.1’, 49211) - “GET / HTTP/1.1” 500
ERROR: Exception in ASGI application
. . .
return codecs.charmap_decode(input,self.errors,decoding_table)[0]
UnicodeDecodeError: ‘charmap’ codec can’t decode byte 0x90 in position 247: character maps to

Anyone?

Hi sri9 hope all is well!

In the first instance if you have not done so, I suggest you search this thread for posts relating to “pip list” and update the requirements.txt in the bear classifier to match the library versions of the platform you trained your model on.

I am assuming your bear model (pkl file) works in the notebook you created it in.

Hope this helps mrfabulous1 :smiley::smiley:

Hi there!
When I try to deploy my model in Render I get the following error (I’m using the bear template only with modified classes and export_file_url):

Nov 28 11:15:02 AM INFO[0064] RUN python app/server.py
Nov 28 11:15:15 AM Traceback (most recent call last):
File “app/server.py”, line 48, in
learn = loop.run_until_complete(asyncio.gather(*tasks))[0]
File “/usr/local/lib/python3.7/asyncio/base_events.py”, line 579, in run_until_complete
return future.result()
File “app/server.py”, line 35, in setup_learner
learn = load_learner(path, export_file_name)
File “/usr/local/lib/python3.7/site-packages/fastai/basic_train.py”, line 598, in load_learner
state = torch.load(source, map_location=‘cpu’) if defaults.device == torch.device(‘cpu’) else torch.load(source)
File “/usr/local/lib/python3.7/site-packages/torch/serialization.py”, line 387, in load
return _load(f, map_location, pickle_module, **pickle_load_args)
File “/usr/local/lib/python3.7/site-packages/torch/serialization.py”, line 564, in _load
magic_number = pickle_module.load(f, **pickle_load_args)
_pickle.UnpicklingError: invalid load key, ‘{’.
Nov 28 11:15:15 AM error building image: error building stage: waiting for process to exit: exit status 1
Nov 28 11:15:15 AM error: exit status 1

Any help would be appreciated!

Hi arturola hope all is well!

If you haven’t done so already, can I suggest you search this thread for posts relating to “pip list” and update the requirements.txt file in the your classifier to match the library versions of the platform you trained your model on.

This is absolutely essential for your model to work,

I am assuming your bear model (pkl file) works in the notebook you created it in.

Hope this helps mrfabulous1 :smiley::smiley:

Hi mrfabulous1,

Thank you very much for your answer, that helped! Im using Colab as plattform and I pip listed the packages and updated the requirements.txt file.
Now I get the following error:

Nov 28 07:38:16 PM Collecting fastai==1.0.59
Nov 28 07:38:16 PM Downloading https://files.pythonhosted.org/packages/94/58/d78c39b2fcbe3358a54a4042219eaf78bc196e771dc02a6f540ee2194a2e/fastai-1.0.59.tar.gz (3.5MB)
Nov 28 07:38:18 PM Collecting torch==1.3.1
Nov 28 07:38:18 PM ERROR: HTTP error 403 while getting https://download.pytorch.org/whl/cpu/torch-1.3.1-cp37-cp37m-linux_x86_64.whl
Nov 28 07:38:18 PM ERROR: Could not install requirement torch==1.3.1 from https://download.pytorch.org/whl/cpu/torch-1.3.1-cp37-cp37m-linux_x86_64.whl (from -r requirements.txt (line 5)) because of error 403 Client Error: Forbidden for url: https://download.pytorch.org/whl/cpu/torch-1.3.1-cp37-cp37m-linux_x86_64.whl
Nov 28 07:38:18 PM ERROR: Could not install requirement torch==1.3.1 from https://download.pytorch.org/whl/cpu/torch-1.3.1-cp37-cp37m-linux_x86_64.whl (from -r requirements.txt (line 5)) because of HTTP error 403 Client Error: Forbidden for url: https://download.pytorch.org/whl/cpu/torch-1.3.1-cp37-cp37m-linux_x86_64.whl for URL https://download.pytorch.org/whl/cpu/torch-1.3.1-cp37-cp37m-linux_x86_64.whl
Nov 28 07:38:19 PM error building image: error building stage: waiting for process to exit: exit status 1
Nov 28 07:38:19 PM error: exit status 1

Is there something I can do or should I try with a different platform rather than using Colab?

Hi arturola :smiley:

Colab is not the issue, when you deploy your model on render you are no longer using Colab.

The error message you are getting are normally related to the website at the other end refusing your requests.

please cut and paste your requirements.txt from your render repository here and the corresponding lines from your Colab notebook.

ps I also use Colab.

cheers mrfabulous1 :smiley::smiley:

Hi mrfabulous1!,

Thank you for your answer. It’s good to know that it doesn’t have anything to do with Colab. Here is how requirements.txt looks like:

aiofiles==0.4.0
aiohttp==3.5.4
asyncio==3.4.3
fastai==1.0.59
https://download.pytorch.org/whl/cpu/torch-1.3.1-cp37-cp37m-linux_x86_64.whl
https://download.pytorch.org/whl/cpu/torchvision-0.4.2-cp37-cp37m-linux_x86_64.whl
numpy==1.17.4
starlette==0.12.0
uvicorn==0.7.1
python-multipart==0.0.5

…and my Colab:

Package Version


absl-py 0.8.1
alabaster 0.7.12
albumentations 0.1.12
altair 3.2.0
astor 0.8.0
astropy 3.0.5
atari-py 0.2.6
atomicwrites 1.3.0
attrs 19.3.0
audioread 2.1.8
autograd 1.3
Babel 2.7.0
backcall 0.1.0
backports.tempfile 1.0
backports.weakref 1.0.post1
beautifulsoup4 4.6.3
bleach 3.1.0
blis 0.2.4
bokeh 1.0.4
boto 2.49.0
boto3 1.10.18
botocore 1.13.18
Bottleneck 1.3.0
branca 0.3.1
bs4 0.0.1
bz2file 0.98
cachetools 3.1.1
certifi 2019.9.11
cffi 1.13.2
chainer 6.5.0
chardet 3.0.4
chart-studio 1.0.0
Click 7.0
cloudpickle 1.2.2
cmake 3.12.0
colorlover 0.3.0
community 1.0.0b1
contextlib2 0.5.5
convertdate 2.2.0
coverage 3.7.1
coveralls 0.5
crcmod 1.7
cufflinks 0.17.0
cupy-cuda101 6.5.0
cvxopt 1.2.3
cvxpy 1.0.25
cycler 0.10.0
cymem 2.0.3
Cython 0.29.14
daft 0.0.4
dask 1.1.5
dataclasses 0.7
datascience 0.10.6
decorator 4.4.1
defusedxml 0.6.0
descartes 1.1.0
dill 0.3.1.1
distributed 1.25.3
Django 2.2.7
dlib 19.18.0
dm-sonnet 1.35
docopt 0.6.2
docutils 0.15.2
dopamine-rl 1.0.5
earthengine-api 0.1.206
easydict 1.9
ecos 2.0.7.post1
editdistance 0.5.3
en-core-web-sm 2.1.0
entrypoints 0.3
et-xmlfile 1.0.1
fa2 0.3.5
fancyimpute 0.4.3
fastai 1.0.59
fastcache 1.1.0
fastdtw 0.3.4
fastprogress 0.1.21
fastrlock 0.4
fbprophet 0.5
feather-format 0.4.0
featuretools 0.4.1
filelock 3.0.12
fix-yahoo-finance 0.0.22
Flask 1.1.1
folium 0.8.3
fsspec 0.6.0
future 0.16.0
gast 0.2.2
GDAL 2.2.2
gdown 3.6.4
gensim 3.6.0
geographiclib 1.50
geopy 1.17.0
gevent 1.4.0
gin-config 0.2.1
glob2 0.7
google 2.0.2
google-api-core 1.14.3
google-api-python-client 1.7.11
google-auth 1.4.2
google-auth-httplib2 0.0.3
google-auth-oauthlib 0.4.1
google-cloud-bigquery 1.21.0
google-cloud-core 1.0.3
google-cloud-datastore 1.8.0
google-cloud-language 1.2.0
google-cloud-storage 1.16.2
google-cloud-translate 1.5.0
google-colab 1.0.0
google-pasta 0.1.8
google-resumable-media 0.4.1
googleapis-common-protos 1.6.0
googledrivedownloader 0.4
graph-nets 1.0.5
graphviz 0.10.1
greenlet 0.4.15
grpcio 1.15.0
gspread 3.0.1
gspread-dataframe 3.0.3
gunicorn 20.0.0
gym 0.15.4
h5py 2.8.0
HeapDict 1.0.1
holidays 0.9.11
html5lib 1.0.1
httpimport 0.5.18
httplib2 0.11.3
humanize 0.5.1
hyperopt 0.1.2
ideep4py 2.0.0.post3
idna 2.8
image 1.5.27
imageio 2.4.1
imagesize 1.1.0
imbalanced-learn 0.4.3
imblearn 0.0
imgaug 0.2.9
importlib-metadata 0.23
imutils 0.5.3
inflect 2.1.0
intel-openmp 2020.0.133
intervaltree 2.1.0
ipykernel 4.6.1
ipython 5.5.0
ipython-genutils 0.2.0
ipython-sql 0.3.9
ipywidgets 7.5.1
itsdangerous 1.1.0
jax 0.1.51
jaxlib 0.1.33
jdcal 1.4.1
jedi 0.15.1
jieba 0.39
Jinja2 2.10.3
jmespath 0.9.4
joblib 0.14.0
jpeg4py 0.1.4
jsonschema 2.6.0
jupyter 1.0.0
jupyter-client 5.3.4
jupyter-console 5.2.0
jupyter-core 4.6.1
kaggle 1.5.6
kapre 0.1.3.1
Keras 2.2.5
Keras-Applications 1.0.8
Keras-Preprocessing 1.1.0
keras-vis 0.4.1
kfac 0.2.0
kiwisolver 1.1.0
knnimpute 0.1.0
librosa 0.6.3
lightgbm 2.2.3
llvmlite 0.30.0
lmdb 0.98
lucid 0.3.8
lunardate 0.2.0
lxml 4.2.6
magenta 0.3.19
Markdown 3.1.1
MarkupSafe 1.1.1
matplotlib 3.1.1
matplotlib-venn 0.11.5
mesh-tensorflow 0.1.4
mido 1.2.6
mir-eval 0.5
missingno 0.4.2
mistune 0.8.4
mizani 0.5.4
mkl 2019.0
mlxtend 0.14.0
more-itertools 7.2.0
moviepy 0.2.3.5
mpi4py 3.0.3
mpmath 1.1.0
msgpack 0.5.6
multiprocess 0.70.9
multitasking 0.0.9
murmurhash 1.0.2
music21 5.5.0
natsort 5.5.0
nbconvert 5.6.1
nbformat 4.4.0
networkx 2.4
nibabel 2.3.3
nltk 3.2.5
notebook 5.2.2
np-utils 0.5.11.1
numba 0.40.1
numexpr 2.7.0
numpy 1.17.4
nvidia-ml-py3 7.352.0
oauth2client 4.1.3
oauthlib 3.1.0
okgrade 0.4.3
olefile 0.46
opencv-contrib-python 3.4.3.18
opencv-python 3.4.7.28
openpyxl 2.5.9
opt-einsum 3.1.0
osqp 0.6.1
packaging 19.2
palettable 3.3.0
pandas 0.25.3
pandas-datareader 0.7.4
pandas-gbq 0.11.0
pandas-profiling 1.4.1
pandocfilters 1.4.2
parso 0.5.1
pathlib 1.0.1
patsy 0.5.1
pexpect 4.7.0
pickleshare 0.7.5
Pillow 4.3.0
pip 19.3.1
pip-tools 4.2.0
plac 0.9.6
plotly 4.1.1
plotnine 0.5.1
pluggy 0.7.1
portpicker 1.2.0
prefetch-generator 1.0.1
preshed 2.0.1
pretty-midi 0.2.8
prettytable 0.7.2
progressbar2 3.38.0
prometheus-client 0.7.1
promise 2.2.1
prompt-toolkit 1.0.18
protobuf 3.10.0
psutil 5.4.8
psycopg2 2.7.6.1
ptyprocess 0.6.0
py 1.8.0
pyarrow 0.14.1
pyasn1 0.4.7
pyasn1-modules 0.2.7
pycocotools 2.0.0
pycparser 2.19
pydata-google-auth 0.1.3
pydot 1.3.0
pydot-ng 2.0.0
pydotplus 2.0.2
PyDrive 1.3.1
pyemd 0.5.1
pyglet 1.3.2
Pygments 2.1.3
pygobject 3.26.1
pymc3 3.7
PyMeeus 0.3.6
pymongo 3.9.0
pymystem3 0.2.0
PyOpenGL 3.1.0
pyparsing 2.4.5
pypng 0.0.20
pyrsistent 0.15.5
pysndfile 1.3.8
PySocks 1.7.1
pystan 2.19.1.1
pytest 3.6.4
python-apt 1.6.4
python-chess 0.23.11
python-dateutil 2.6.1
python-louvain 0.13
python-rtmidi 1.3.1
python-slugify 4.0.0
python-utils 2.3.0
pytz 2018.9
PyWavelets 1.1.1
PyYAML 3.13
pyzmq 17.0.0
qtconsole 4.6.0
requests 2.21.0
requests-oauthlib 1.3.0
resampy 0.2.2
retrying 1.3.3
rpy2 2.9.5
rsa 4.0
s3fs 0.4.0
s3transfer 0.2.1
scikit-image 0.15.0
scikit-learn 0.21.3
scipy 1.3.2
screen-resolution-extra 0.0.0
scs 2.1.1.post2
seaborn 0.9.0
semantic-version 2.8.2
Send2Trash 1.5.0
setuptools 41.6.0
setuptools-git 1.2
Shapely 1.6.4.post2
simplegeneric 0.8.1
six 1.12.0
sklearn 0.0
sklearn-pandas 1.8.0
smart-open 1.9.0
snowballstemmer 2.0.0
sortedcontainers 2.1.0
spacy 2.1.9
Sphinx 1.8.5
sphinxcontrib-websupport 1.1.2
SQLAlchemy 1.3.11
sqlparse 0.3.0
srsly 0.2.0
stable-baselines 2.2.1
statsmodels 0.10.1
sympy 1.1.1
tables 3.4.4
tabulate 0.8.5
tblib 1.5.0
tensor2tensor 1.14.1
tensorboard 1.15.0
tensorboardcolab 0.0.22
tensorflow 1.15.0
tensorflow-datasets 1.3.0
tensorflow-estimator 1.15.1
tensorflow-gan 2.0.0
tensorflow-hub 0.7.0
tensorflow-metadata 0.15.1
tensorflow-privacy 0.2.2
tensorflow-probability 0.7.0
termcolor 1.1.0
terminado 0.8.3
testpath 0.4.4
text-unidecode 1.3
textblob 0.15.3
textgenrnn 1.4.1
tflearn 0.3.2
Theano 1.0.4
thinc 7.0.8
toolz 0.10.0
torch 1.3.1
torchsummary 1.5.1
torchtext 0.3.1
torchvision 0.4.2
tornado 4.5.3
tqdm 4.28.1
traitlets 4.3.3
tweepy 3.6.0
typing 3.6.6
typing-extensions 3.6.6
tzlocal 1.5.1
umap-learn 0.3.10
uritemplate 3.0.0
urllib3 1.24.3
vega-datasets 0.7.0
wasabi 0.4.0
wcwidth 0.1.7
webencodings 0.5.1
Werkzeug 0.16.0
wheel 0.33.6
widgetsnbextension 3.5.1
wordcloud 1.5.0
wrapt 1.11.2
xarray 0.11.3
xgboost 0.90
xkit 0.0.0
xlrd 1.1.0
xlwt 1.3.0
yellowbrick 0.9.1
zict 1.0.0
zipp 0.6.0
zmq 0.0.0

Thank you for your help!:smiley:

Hi arturola hope you are having a good day.

Can you comment out the https://download.pytorch.org/whl/cpu/torch-1.3.1-cp37-cp37m-linux_x86_64.whl line and add the line torch==1.3.1 to see if this helps.

cheers mrfabulous1 :smiley::smiley:

Great! That worked!
I came a little bit further once I changed both calls, for torch and for torchvision.
Now this is the error I encounter:

Nov 29 09:11:41 PM INFO[0261] RUN python app/server.py
Nov 29 09:11:53 PM Traceback (most recent call last):
File “app/server.py”, line 48, in
learn = loop.run_until_complete(asyncio.gather(*tasks))[0]
File “/usr/local/lib/python3.7/asyncio/base_events.py”, line 579, in run_until_complete
return future.result()
File “app/server.py”, line 35, in setup_learner
learn = load_learner(path, export_file_name)
File “/usr/local/lib/python3.7/site-packages/fastai/basic_train.py”, line 616, in load_learner
state = torch.load(source, map_location=‘cpu’) if defaults.device == torch.device(‘cpu’) else torch.load(source)
File “/usr/local/lib/python3.7/site-packages/torch/serialization.py”, line 426, in load
return _load(f, map_location, pickle_module, **pickle_load_args)
File “/usr/local/lib/python3.7/site-packages/torch/serialization.py”, line 603, in _load
magic_number = pickle_module.load(f, **pickle_load_args)
_pickle.UnpicklingError: invalid load key, ‘\x0a’.

Any idea? :roll_eyes:

Thank you so much for your help!:blush:

Hi arturola hope you had a wonderful day today!

  1. Can you upload your server.py file please?
  2. Where is your .pkl file located?
  3. How long ago was your model file (.pkl) created?
  4. What is the size of your .pkl file?
  5. if your .pkl file is online you should be able to access it by pasting the link in your browser. You can also use

wget “your .pkl file web address”

Cheers mrfabulous1 :smiley::smiley:

Hi mrfabulous1!

I finally got everything working!
The last error was just an authorization issue with my Google Drive account:man_facepalming:

Thank you very much for all your help! :smiley::+1:

1 Like

Hi arturola Well done!

I was able to get through to the link generation portion of the deployment tutorial, but I can’t figure out the customize app section. Where is the server.py and the app directory and how do I edit it?