Spaces:
Build error
Build error
import os | |
import builtins | |
import math | |
import streamlit as st | |
import gdown | |
#from google_drive_downloader import GoogleDriveDownloader as gdd | |
from demo.src.models import load_trained_model | |
from demo.src.utils import render_predict_from_pose, predict_to_image | |
from demo.src.config import MODEL_DIR, MODEL_NAME, FILE_ID | |
st.set_page_config(page_title="DietNeRF Demo") | |
def download_model(): | |
os.makedirs(MODEL_DIR, exist_ok=True) | |
_model_path = os.path.join(MODEL_DIR, MODEL_NAME) | |
# gdd.download_file_from_google_drive(file_id=FILE_ID, | |
# dest_path=_model_path, | |
# unzip=True) | |
url = f'https://drive.google.com/uc?id={FILE_ID}' | |
gdown.download(url, _model_path, quiet=False) | |
print(f'model downloaded from google drive: {_model_path}') | |
def fetch_model(): | |
model, state = load_trained_model(MODEL_DIR, MODEL_NAME) | |
return model, state | |
model_path = os.path.join(MODEL_DIR, MODEL_NAME) | |
if not os.path.isfile(model_path): | |
download_model() | |
model, state = fetch_model() | |
pi = math.pi | |
st.sidebar.header('SELECT YOUR VIEW DIRECTION') | |
theta = st.sidebar.slider("Theta", min_value=0., max_value=2.*pi, | |
step=0.5, value=0.) | |
phi = st.sidebar.slider("Phi", min_value=0., max_value=0.5*pi, | |
step=0.1, value=1.) | |
radius = st.sidebar.slider("Radius", min_value=2., max_value=6., | |
step=1., value=3.) | |
with st.spinner("Generating the view..."): | |
pred_color, _ = render_predict_from_pose(state, theta, phi, radius) | |
im = predict_to_image(pred_color) | |
st.image(im, use_column_width=False) | |