内容简介:This is a web app that allows a user to take a picture using an interface similar to a native camera app. After the picture is taken, it's sent to a fast.ai CNN model running onThere are a handful of prebuilt apps that allow a user to upload a photo (I'd l
Fast.ai CNN Camera App
Overview
This is a web app that allows a user to take a picture using an interface similar to a native camera app. After the picture is taken, it's sent to a fast.ai CNN model running on render . The modified server will the return a classification of the image along with related content.
There are a handful of prebuilt apps that allow a user to upload a photo ( this and this ), but I couldn't find an app that allowed the user to skip the step of manually uploading it.
I'd like to give a major shoutout to @abenjamin765 whose tutorial/repo was instrumental in creating this application.
Demo
Check out a demo app here . The demo app recognizes everyday objects (cars, people, trees, computers, chairs, etc).
Getting Started
To get started, fork this repo. A few things you'll need to change:
-
In
scripts.js
, changeconst url = "https://dc2.onrender.com/analyze"
to the url for your render endpoint. -
In
index.hmtl
, you may want to modify the starting app description (in<p id="content">
), the header (<h1 id="type">
), and the title<title>
. - Follow this guide to set up your render server if you haven't already.
-
In
server.py
in your render repo, change this linereturn JSONResponse({'result': str(prediction)})
to something like this. You can take a look at the server code for the demo project here .
# change the prediction into a string and capitalize it # to map it to items to grab the description prediction = str(prediction).capitalize() # Items contains the description text for each result items = { 'Tree': 'Trees are great!', 'Person': 'If you are reading this, you too are a person', 'Car': '4 wheels is all you need', 'Computer': 'A very useful tool', 'Pen': 'Useful for writing something down!', 'Desk': 'The perfect place to put your things', 'Chair': 'Ideal for sitting' } return JSONResponse({ 'result': prediction, 'content': items[prediction] })
Hosting
Github Pages
The easiest solution is github pages
; however, your repo must either be public or you'll need a paid github plan. Within the repo go to settings and search for github pages
to get started.
Netlify
Netlify is free and is only more marginally tedious to set up, and has a lot of great features that github pages doesn't have.
In the pipeline
I'm hoping to add support for flask and create a template server you can use if you'd prefer to use the app without render. Additionally, I'd like to make the content area within the app scrollable. If you'd like to contribute, just submit a PR!
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
图论算法理论、实现及应用
王桂平//王衍//任嘉辰 / 北京大学 / 2011-1 / 54.00元
《图论算法理论、实现及应用》系统地介绍了图论算法理论,并选取经典的ACM/ICPC竞赛题目为例题阐述图论算法思想,侧重于图论算法的程序实现及应用。《图论算法理论、实现及应用》第1章介绍图的基本概念和图的两种存储表示方法:邻接矩阵和邻接表,第2~9章分别讨论图的遍历与活动网络问题,树与图的生成树,最短路径问题,可行遍性问题,网络流问题,支配集、覆盖集、独立集与匹配,图的连通性问题,平面图及图的着色问......一起来看看 《图论算法理论、实现及应用》 这本书的介绍吧!
XML 在线格式化
在线 XML 格式化压缩工具
RGB HSV 转换
RGB HSV 互转工具