Deployment Platform: Render ✅

I am trying to use annoy in render, but it appears like it is missing a c++ dependency, I have tried several different ways, but I haven’t found a way to make it work. Does anyone have any Ideas how to fix this?

This is the error I am getting:

Hi Daniel.R.Armstrong hope all is well!

I haven’t personally seen this problem before so haven’t been able to test this solution I found at https://stackoverflow.com/questions/11912878/gcc-error-gcc-error-trying-to-exec-cc1-execvp-no-such-file-or-directory however it does look similar to the issue you describe in your post.

Hope it helps mrfabulous1 :smiley::smiley:

@mrfabulous1, Thank you for the help, how would I go about running that code on the render platform?

I was able to do it… and if I can do it, anyone can :slight_smile:
https://ynj-racket-classifier.onrender.com/

@anurag
Few questions if you are not too busy:

  1. If I want to show the confidence level along with the result? (like I am 98% sure it’s a Tennis Racket). Is there an easy way to do it by using “outputs” from the prediction call?
    image

  2. How do I integrate this into my website for a while?

Hi Daniel.R.Armstrong

Does your app work in your standalone environment?
This makes a lot of difference.

I haven’t really used the console environment other than looking at errors.
I use Docker on my desktop build the app then upload it to render. I do all my debugging on the local version.

All the issues are generally resolved updating the requirements.txt and the Dockerfile.

Once my app is on render.com if I have a missing library I either add it in the requirements.txt or Download it using the Dockerfile, then redeploy the model.

eg. see commands in this file Dockerfile all terminal commands can be run within this file using the RUN command.

ps. I always start my apps on render with a working teddybear classifier app and then ammend my app as required.

Hope this helps.

mrfabulous1 :smiley::smiley:

1 Like

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: