Spaces:
Runtime error
Runtime error
Update app.py
Browse files
app.py
CHANGED
|
@@ -11,65 +11,68 @@ from tensorflow.keras.utils import to_categorical
|
|
| 11 |
from tensorflow.keras.applications.resnet_v2 import preprocess_input
|
| 12 |
from tensorflow.keras.preprocessing.image import load_img, img_to_array
|
| 13 |
|
|
|
|
|
|
|
| 14 |
image_folders = ['King_Crab', 'Wind_Lion_God', 'pavo_cristatus', 'otter', 'Upupa_epops']
|
|
|
|
|
|
|
| 15 |
labels = ["้ฑ", "้้้ขจ็
็บ", "้้่ๅญ้", "ๆญไบๆฐด็บ", "้้ๆดๅ้ณฅ"]
|
| 16 |
|
| 17 |
-
|
| 18 |
|
| 19 |
-
|
| 20 |
-
os.listdir(thedir)
|
| 21 |
|
| 22 |
-
|
| 23 |
-
|
| 24 |
-
for i in range(5):
|
| 25 |
-
thedir = base_dir + image_folders[i]
|
| 26 |
-
image_fnames = os.listdir(thedir)
|
| 27 |
-
for theimage in image_fnames:
|
| 28 |
-
if theimage == ".git" or theimage == ".ipynb_checkpoints":
|
| 29 |
-
continue
|
| 30 |
-
img_path = thedir + '/' + theimage
|
| 31 |
-
img = load_img(img_path , target_size = (256,256))
|
| 32 |
-
x = img_to_array(img)
|
| 33 |
-
data.append(x)
|
| 34 |
-
target.append(i)
|
| 35 |
|
| 36 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 37 |
print(model.summary())
|
| 38 |
|
|
|
|
|
|
|
| 39 |
def classify_image(inp):
|
| 40 |
inp = inp.reshape((-1, 256, 256, 3))
|
| 41 |
inp = preprocess_input(inp)
|
| 42 |
prediction = model.predict(inp).flatten()
|
| 43 |
return {labels[i]: float(prediction[i]) for i in range(5)}
|
| 44 |
|
| 45 |
-
image = gr.Image(shape=(256, 256), label="
|
| 46 |
-
label = gr.Label(num_top_classes=
|
| 47 |
-
some_text="
|
|
|
|
|
|
|
| 48 |
|
| 49 |
sample_images = []
|
| 50 |
-
for i in range(
|
| 51 |
thedir = base_dir + image_folders[i]
|
| 52 |
for file in os.listdir(thedir):
|
| 53 |
if file == ".git" or file == ".ipynb_checkpoints":
|
| 54 |
continue
|
| 55 |
-
sample_images.append(image_folders[i] + '/' + file)
|
| 56 |
|
|
|
|
|
|
|
| 57 |
iface = gr.Interface(fn=classify_image,
|
| 58 |
inputs=image,
|
| 59 |
outputs=label,
|
| 60 |
-
title="AI
|
| 61 |
description=some_text,
|
| 62 |
examples=sample_images, live=True)
|
| 63 |
|
| 64 |
-
# def greet(name):
|
| 65 |
-
|
| 66 |
-
# model = load_model('my_cnn_model.h5') # Loading the Tensorflow Saved Model (PB)
|
| 67 |
-
|
| 68 |
-
|
| 69 |
-
# return "Hello " + name + "!!" + model.summary()
|
| 70 |
-
|
| 71 |
-
|
| 72 |
-
# iface = gr.Interface(fn=greet, inputs="text", outputs="text")
|
| 73 |
-
|
| 74 |
-
# .launch(share=True)
|
| 75 |
iface.launch()
|
|
|
|
| 11 |
from tensorflow.keras.applications.resnet_v2 import preprocess_input
|
| 12 |
from tensorflow.keras.preprocessing.image import load_img, img_to_array
|
| 13 |
|
| 14 |
+
# ้้ๅ
ทๆไปฃ่กจๆง็ๆ ๅ่่ใ่ๅญ้ใๆดๅใ้ฑๅๆญไบๆฐด็บไบ็จฎ็ฉ็จฎใๆๅไพๆๆฐไบ็จฎ้กๅฅ็ธฝๅ
ฑ็จไบๅๅผต็
ง็, ็่ฝไธ่ฝๆ้ ไธๅ็ฅ็ถ็ถฒ่ทฏๅญธๆ่พจ่ญ้ไบ็จฎ้กๅฅใ
|
| 15 |
+
# ่ฎๅ
ฅๆ ๅ่่ใ่ๅญ้ใๆดๅใ้ฑๅๆญไบๆฐด็บ่ณๆๅๆช
|
| 16 |
image_folders = ['King_Crab', 'Wind_Lion_God', 'pavo_cristatus', 'otter', 'Upupa_epops']
|
| 17 |
+
|
| 18 |
+
# ็บไบๅพ้ข็้่ฆ๏ผๆๅๅฐไบ็จฎ้กๅฅ็
ง็็็ญๆก็จ `labels` ๅ็พ
|
| 19 |
labels = ["้ฑ", "้้้ขจ็
็บ", "้้่ๅญ้", "ๆญไบๆฐด็บ", "้้ๆดๅ้ณฅ"]
|
| 20 |
|
| 21 |
+
num_classes = len(labels)
|
| 22 |
|
| 23 |
+
base_dir = './classify_image/'
|
|
|
|
| 24 |
|
| 25 |
+
# thedir = base_dir + image_folders[0]
|
| 26 |
+
# os.listdir(thedir)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 27 |
|
| 28 |
+
# data = []
|
| 29 |
+
# target = []
|
| 30 |
+
# for i in range(5):
|
| 31 |
+
# thedir = base_dir + image_folders[i]
|
| 32 |
+
# image_fnames = os.listdir(thedir)
|
| 33 |
+
# for theimage in image_fnames:
|
| 34 |
+
# if theimage == ".git" or theimage == ".ipynb_checkpoints":
|
| 35 |
+
# continue
|
| 36 |
+
# img_path = thedir + '/' + theimage
|
| 37 |
+
# img = load_img(img_path , target_size = (256,256))
|
| 38 |
+
# x = img_to_array(img)
|
| 39 |
+
# data.append(x)
|
| 40 |
+
# target.append(i)
|
| 41 |
+
|
| 42 |
+
# ่ผๅ
ฅไธฆๆชข่ฆ่จ็ทดๅฎๆ็ๆจกๅใ
|
| 43 |
+
|
| 44 |
+
model = load_model('my_cnn_model.h5') # Loading the Tensorflow Saved Model (PB)
|
| 45 |
print(model.summary())
|
| 46 |
|
| 47 |
+
# ๆณจๆ็พๅจไธปๅฝๆธๅ่พจ่ญๅชๆไบๅ็จฎ้กใ่ไธๆฏไฝฟ็จๆๅ่ช่ก่จ็ทด็ model!
|
| 48 |
+
|
| 49 |
def classify_image(inp):
|
| 50 |
inp = inp.reshape((-1, 256, 256, 3))
|
| 51 |
inp = preprocess_input(inp)
|
| 52 |
prediction = model.predict(inp).flatten()
|
| 53 |
return {labels[i]: float(prediction[i]) for i in range(5)}
|
| 54 |
|
| 55 |
+
image = gr.Image(shape=(256, 256), label="ๆ ๅ่่ใ่ๅญ้ใๆดๅใ้ฑๅๆญไบๆฐด็บ็
ง็")
|
| 56 |
+
label = gr.Label(num_top_classes=num_classes, label="AI ResNet50V2้ท็งปๅผๅญธ็ฟ่พจ่ญ็ตๆ")
|
| 57 |
+
some_text="ๆ่ฝ่พจ่ญ้้ๆ ๅ่่ใ่ๅญ้ใๆดๅใ้ฑๅๆญไบๆฐด็บใๆพๅผต้้ๆ ๅ่่ใ่ๅญ้ใๆดๅใ้ฑๅๆญไบๆฐด็บ็
ง็ไพ่ๆๅง!"
|
| 58 |
+
|
| 59 |
+
# ๆๅๅฐ้้ๆ ๅ่่ใ่ๅญ้ใๆดๅใ้ฑๅๆญไบๆฐด็บๆธๆๅบซไธญ็ๅ็ๆฟๅบไพ็ถไฝ็ฏไพๅ็่ฎไฝฟ็จ่
ไฝฟ็จ
|
| 60 |
|
| 61 |
sample_images = []
|
| 62 |
+
for i in range(num_classes):
|
| 63 |
thedir = base_dir + image_folders[i]
|
| 64 |
for file in os.listdir(thedir):
|
| 65 |
if file == ".git" or file == ".ipynb_checkpoints":
|
| 66 |
continue
|
| 67 |
+
sample_images.append(base_dir + image_folders[i] + '/' + file)
|
| 68 |
|
| 69 |
+
# ๆๅพ๏ผๅฐๆๆๆฑ่ฅฟ็ต่ฃๅจไธ่ตท๏ผๅฐฑๅคงๅๅๆไบ๏ผ
|
| 70 |
+
|
| 71 |
iface = gr.Interface(fn=classify_image,
|
| 72 |
inputs=image,
|
| 73 |
outputs=label,
|
| 74 |
+
title="AI ๅ่่ใ่ๅญ้ใๆดๅใ้ฑๅๆญไบๆฐด็บ่พจ่ญๆฉ"",
|
| 75 |
description=some_text,
|
| 76 |
examples=sample_images, live=True)
|
| 77 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 78 |
iface.launch()
|