Spaces:
Runtime error
Runtime error
#import streamlit as st | |
import gradio as gr | |
import os | |
import csv | |
import time | |
# Image Classification Using Torch: | |
import requests | |
from PIL import Image | |
from torchvision import transforms | |
# Download human-readable labels for ImageNet. | |
response = requests.get("https://git.io/JJkYN") | |
labels = response.text.split("\n") | |
def predict(inp): | |
inp = transforms.ToTensor()(inp).unsqueeze(0) | |
with torch.no_grad(): | |
prediction = torch.nn.functional.softmax(model(inp)[0], dim=0) | |
confidences = {labels[i]: float(prediction[i]) for i in range(1000)} | |
return confidences | |
import gradio as gr | |
interface1=gr.Interface(fn=predict, | |
inputs=gr.Image(type="pil"), | |
outputs=gr.Label(num_top_classes=3), | |
examples=["lion.jpg", "cheetah.jpg"]) | |
# Image Classification Using VIT - Vision Image Transformers Architecture | |
import gradio as gr | |
interface2=gr.Interface.load( | |
"huggingface/google/vit-base-patch16-224", | |
examples=["alligator.jpg", "laptop.jpg"]) | |
# ONNX Model Zoo: | |
gr.Markdown(""" | |
https://github.com/onnx/models | |
""") | |
interface1.launch() | |
interface2.launch() | |
uploaded_images = {'characters': {}, 'terrain': {}} | |
def get_image_path(img, name, image_type): | |
file_path = f"data/uploadedImages/{image_type}/{name}/{img.name}" | |
os.makedirs(os.path.dirname(file_path), exist_ok=True) | |
with open(file_path, "wb") as img_file: | |
img_file.write(img.getbuffer()) | |
return file_path | |
def update_csv_file(uploaded_file, name, image_type): | |
csv_file_path = "Resources.csv" | |
with open(csv_file_path, mode='a', newline='') as csv_file: | |
csv_writer = csv.writer(csv_file) | |
csv_writer.writerow([name, uploaded_file.name, image_type]) | |
def get_uploaded_files_info(): | |
csv_file_path = "Resources.csv" | |
with open(csv_file_path, mode='r') as csv_file: | |
csv_reader = csv.reader(csv_file) | |
files_info = [] | |
for row in csv_reader: | |
files_info.append(row) | |
return files_info | |
def display_images_from_csv(): | |
files_info = get_uploaded_files_info() | |
for row in files_info: | |
if row[2] == 'characters': | |
img_path = f"data/uploadedImages/{row[2]}/{row[0]}/{row[1]}" | |
#st.sidebar.image(img_path, width=100, caption=row[0]) | |
else: | |
img_path = f"data/uploadedImages/{row[2]}/{row[0]}/{row[1]}" | |
#st.image(img_path, width=100, caption=row[0]) | |
# Rewrite for gradio | |
#image_type = gr.selectbox('Choose image type:', options=['characters', 'terrain']) | |
#name = gr.text_input('Enter a name for the image:') | |
#uploaded_files = gr.file_uploader('Upload image(s)', type=['png', 'jpg'], accept_multiple_files=True) | |
for uploaded_file in uploaded_files: | |
if uploaded_file is not None: | |
# Get actual image file | |
bytes_data = get_image_path(uploaded_file, name, image_type) | |
uploaded_images[image_type].setdefault(name, []) | |
uploaded_images[image_type][name].append(bytes_data) | |
# Rewrite for gradio | |
#gr.image(bytes_data, use_column_width=True) | |
gr.Markdown(image_type) | |
gr.Markdown(name) | |
update_csv_file(uploaded_file, name, image_type) | |
if image_type == 'characters': | |
if uploaded_images['characters']: | |
# Rewrite for gradio | |
# gr.sidebar.write('**Characters**') | |
for name, files in uploaded_images['characters'].items(): | |
for file in files: | |
gr.Markdown(""" | |
""") | |
gr.Markdown(name) | |
gr.Markdown(file) | |
# Rewrite for gradio | |
#gr.sidebar.image(file, width=100, caption=name) | |
else: | |
if uploaded_images['terrain']: | |
#st.write('**Terrain**') | |
gr.Markdown("**Terrain**") | |
row = [] | |
for name, files in uploaded_images['terrain'].items(): | |
for file in files: | |
row.append(file) | |
if len(row) == 3: | |
# Rewrite for gradio | |
#gr.image(row, width=100 * 3) | |
row = [] | |
if row: | |
# Rewrite for gradio | |
#gr.image(row, width=100 * len(row)) # Last row, if not complete | |
gr.Markdown(row) | |
while True: | |
time.sleep(20) | |
# Rewrite for gradio | |
#gr.empty() | |
display_images_from_csv() | |