Spaces:
Build error
Build error
from pathlib import Path | |
from typing import List, Dict, Tuple | |
import pandas as pd | |
import seaborn as sns | |
import shinyswatch | |
import run | |
import os | |
os.environ['MPLCONFIGDIR'] = "/code/configs" | |
import matplotlib.pyplot as plt | |
from shiny import App, Inputs, Outputs, Session, reactive, render, req, ui | |
from transformers import SamModel, SamConfig, SamProcessor | |
import torch | |
sns.set_theme() | |
www_dir = Path(__file__).parent.resolve() / "www" | |
app_ui = ui.page_fillable( | |
shinyswatch.theme.minty(), | |
ui.layout_sidebar( | |
ui.sidebar( | |
ui.input_file("image_input", "Upload image: ", multiple=True), | |
), | |
ui.output_image("image"), | |
ui.output_plot("plot_output", fill=True), | |
), | |
) | |
def server(input: Inputs, output: Outputs, session: Session): | |
def image(): | |
if input.image_input(): | |
src = input.image_input()[0]['datapath'] | |
img = {"src": src, "width": "500px"} | |
return img | |
return None | |
def plot_output(): | |
if input.image_input(): | |
src = input.image_input()[0]['datapath'] | |
prob, prediction = run.pred(src) | |
fig, axes = plt.subplots(1, 2, figsize=(60, 30)) | |
im = axes[0].imshow(prob, cmap='viridis') | |
axes[0].set_title("Probability Map") | |
cbar = fig.colorbar(im, ax=axes[0]) | |
axes[1].imshow(prediction, cmap='gray') | |
axes[1].set_title("Prediction") | |
for ax in axes: | |
ax.set_xticks([]) | |
ax.set_yticks([]) | |
ax.set_xticklabels([]) | |
ax.set_yticklabels([]) | |
return fig | |
return None | |
app = App( | |
app_ui, | |
server, | |
static_assets=str(www_dir), | |
) | |