Spaces:
Runtime error
Runtime error
import os | |
import streamlit as st #Web App | |
from PIL import Image #Image Processing | |
import numpy as np #Image Processing | |
import torch | |
#title | |
st.title("Hololive Waifu Classification") | |
image = st.text_input('Image URL', '') | |
# st.write('URL: ', title) | |
#image uploader | |
# image = st.file_uploader(label = "Upload your image here",type=['png','jpg','jpeg']) | |
def check_suffix(file='yolov5s.pt', suffix=('.pt',), msg=''): | |
# Check file(s) for acceptable suffix | |
if file and suffix: | |
if isinstance(suffix, str): | |
suffix = [suffix] | |
for f in file if isinstance(file, (list, tuple)) else [file]: | |
s = Path(f).suffix.lower() # file suffix | |
if len(s): | |
assert s in suffix, f"{msg}{f} acceptable suffix is {suffix}" | |
def check_file(file, suffix=''): | |
# Search/download file (if necessary) and return path | |
check_suffix(file, suffix) # optional | |
file = str(file) # convert to str() | |
if os.path.isfile(file) or not file: # exists | |
return file | |
elif file.startswith(('http:/', 'https:/')): # download | |
url = file # warning: Pathlib turns :// -> :/ | |
file = Path(urllib.parse.unquote(file).split('?')[0]).name # '%2F' to '/', split https://url.com/file.txt?auth | |
if os.path.isfile(file): | |
print(f'Found {url} locally at {file}') # file already exists | |
else: | |
print(f'Downloading {url} to {file}...') | |
torch.hub.download_url_to_file(url, file) | |
assert Path(file).exists() and Path(file).stat().st_size > 0, f'File download failed: {url}' # check | |
return file | |
elif file.startswith('clearml://'): # ClearML Dataset ID | |
assert 'clearml' in sys.modules, "ClearML is not installed, so cannot use ClearML dataset. Try running 'pip install clearml'." | |
return file | |
else: # search | |
files = [] | |
for d in 'data', 'models', 'utils': # search directories | |
files.extend(glob.glob(str(ROOT / d / '**' / file), recursive=True)) # find file | |
assert len(files), f'File not found: {file}' # assert file was found | |
assert len(files) == 1, f"Multiple files match '{file}', specify exact path: {files}" # assert unique | |
return files[0] | |
def load_model(): | |
model = torch.hub.load('ultralytics/yolov5', 'yolov5x6', path='best.pt') # local model | |
# model = load_model() #load model | |
if image != '': | |
image = check_file(image) | |
st.write('File: ', image) | |
input_image = Image.open(image) #read image | |
st.image(input_image) #display image | |
#with st.spinner("π€ AI is at Work! "): | |
#result = reader.readtext(np.array(input_image)) | |
#result_text = [] #empty list for results | |
#for text in result: | |
#result_text.append(text[1]) | |
#st.write(result_text) | |
#st.success("Here you go!") | |
#st.balloons() | |
#else: | |
#st.write("Upload an Image") | |
st.caption("authors: neko941") |