Help Deploying on Render

Hey all,

I’m trying to deploy my image classifier from lesson 2 on Render, and am a bit stuck. I downloaded the trained model, uploaded it to google drive, used the link generator, but cannot figure out how to customize the app. Where do I find server.py and the app directory?

I signed up for github and linked to Render, but have never used GitHub so am unsure of what to do or where to go from here.

Could you provide some information on what kind of a background you have in development? That will enable others to help you better.
As far as GitHub goes, I’m guessing you are also not very comfortable with git in general. I recommend you go to learngitbranching.com: this website has interactive git tutorials you can jump in straight away. You only need to do some of the initial lessons to get the hang of it. By spending even less than an hour on this website, you’ll know most of what you will need to for a long time. It also has a section called “remote” which will be helpful in learning how pulling, pushing, etc work for remote repositories like those on GitHub. All of this is going to be very useful to you if you are going to regularly deploy models, put your code on GitHub, etc. Nonetheless, the best part is that this won’t take any longer than an hour to get through.
If there are particular features of GitHub you want to familiarize yourself with, you can go to https://lab.github.com and go through any relevant tutorials. Right now you should just go through their “Introduction to GitHub” tutorial: it’s a very short tutorial that you can complete in less than 10 minutes and know more than what you need to get started without having to search the web for every little thing.

Now for editing your render template, since you’ve asked this question, I am assuming that you do not have significant development experience with CSS, HTML, JavaScript, Flask, etc.
In that case, if you only need to make minor adjustments you can open app/static/style.css in the repo and edit any specific parts of it to change how your page looks. CSS looks mostly like English, so you should be well on your way here with a few google searches. You can also edit app/view/index.html to have more control over your webapp but it may be harder for you to make sense of this file if you aren’t familiar with HTML. Try looking at how it’s structured and make educated guesses on what you need to edit.

The best course of action here according to me is (that will pay dividends later on in life) that you should go through a small course which introduces you to web development in general so that you have a fundamental understanding of how these Web apps work and so that you’re never handicapped as a data scientist when having to deal with them (which will be quite often).
A great course to do exactly that is: https://www.edx.org/course/cs50s-web-programming-with-python-and-javascript
Just by the end of the third week of this course, you will know way more than enough to create and deploy such a web app of your own from scratch. They also teach you git and Github in the beginning so that’s a plus for you. This course has a lot of positive reviews all over the internet, I’m sure you’ll like it

Anyways, I hope this helped!

2 Likes

Hi https://forums.fast.ai/u/akashpalrecha Thank you for supplying a comprehensive answer as deploying your first model requires everybody to go through the learning process you describe. It took me about four weeks to deploy my first model now I have deployed about fifty models. Using Docker, Starlette, fastai, fastapi, github. Javascript, html, CSS, Pydantic, flask and selenium. This doesn’t include some libraries I used that weren’t fit for purpose or to verbose for me to understand. Once again thanks for a very helpful post.

Cheers mrfabulous1 :grinning::grinning:

1 Like

I have zero development experience so this was really helpful! I will definitely try that git tutorial website and the edX link. Thanks again for the insight. I’m picking up the course material quickly and even the code I’m seeing for the first time is making sense, but some of the complementary skills just aren’t there yet and I’m only just discovering what it is those are!

1 Like