File size: 2,364 Bytes
c415b70
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
19743cb
c415b70
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
import gradio as gr
from fastai.vision.all import *
import skimage

learn = load_learner('export-castles.pkl')

labels = learn.dls.vocab
def predict(img):
    img = PILImage.create(img)
    pred,pred_idx,probs = learn.predict(img)
    return {labels[i]: float(probs[i]) for i in range(len(labels))}

title = "Japanese Castle (Tenshu) Classifier"
description = '''A castle classifier trained on a small set of Japanese Castles with fastai. 
Demo for Gradio and HuggingFace Spaces. Based on blog and demo from Tanisq Abraham. Example images below are from jcastle.info.'''

# link
article='''
<p>There are many hundreds of castle sites scattered across Japan, for this demo we have trained on just 9 <a href="https://en.wikipedia.org/wiki/Tenshu">Tenshu.</a>
Images sourced from my own collection and Bing Image Search.
<br>Learn more about Japanese Castles and their history at   
<a href='https://jcastle.info/' target='_blank'>Jcastle - Guide to Japanese Castles</a>.
<ul>
<li><a href='https://jcastle.info/view/Hiroshima_Castle' target='_blank'>Hiroshima</a></li>
<li><a href='https://jcastle.info/view/Marugame_Castle' target='_blank'>Marugame</a></li>
<li><a href='https://jcastle.info/view/Matsue_Castle' target='_blank'>Matsue</a></li>
<li><a href='https://jcastle.info/view/Matsumae_Castle' target='_blank'>Matsumae</a></li>
<li><a href='https://jcastle.info/view/Matsumoto_Castle' target='_blank'>Matsumoto</a></li>
<li><a href='https://jcastle.info/view/Nagoya_Castle' target='_blank'>Nagoya</a></li>
<li><a href='https://jcastle.info/view/Okayama_Castle' target='_blank'>Okayama</a></li>
<li><a href='https://jcastle.info/view/Osaka_Castle' target='_blank'>Osaka</a></li>
<li><a href='https://jcastle.info/view/Shimabara_Castle' target='_blank'>Shimabara</a></li>
</ul>

</p>
<p style='text-align: center'><a href='https://tmabraham.github.io/blog/gradio_hf_spaces_tutorial' target='_blank'>Tanisq Abraham's Blog post</a>
</p>
</p>'''

interpretation='default' #'default' None
examples = ['osaka.jpg','matsumoto.jpg','nagoya.jpg','okayama.jpg','shimabara.jpg']
enable_queue=True
share = False    

gr.Interface(fn=predict,inputs=gr.inputs.Image(shape=(512, 512)),outputs=gr.outputs.Label(num_top_classes=9),title=title,description=description,article=article,examples=examples,interpretation=interpretation,enable_queue=enable_queue).launch(share=share)