Spaces:
Running
Running
from collections import namedtuple | |
from typing import List | |
ModelInfo = namedtuple("ModelInfo", ["simple_name", "link", "description"]) | |
model_info = {} | |
def register_model_info( | |
full_names: List[str], simple_name: str, link: str, description: str | |
): | |
info = ModelInfo(simple_name, link, description) | |
for full_name in full_names: | |
model_info[full_name] = info | |
def get_model_info(name: str) -> ModelInfo: | |
if name in model_info: | |
return model_info[name] | |
else: | |
# To fix this, please use `register_model_info` to register your model | |
return ModelInfo( | |
name, "", "Register the description at fastchat/model/model_registry.py" | |
) | |
def get_model_description_md(model_list): | |
model_description_md = """ | |
| | | | | |
| ---- | ---- | ---- | | |
""" | |
ct = 0 | |
visited = set() | |
for i, name in enumerate(model_list): | |
minfo = get_model_info(name) | |
if minfo.simple_name in visited: | |
continue | |
visited.add(minfo.simple_name) | |
one_model_md = f"[{minfo.simple_name}]({minfo.link}): {minfo.description}" | |
if ct % 3 == 0: | |
model_description_md += "|" | |
model_description_md += f" {one_model_md} |" | |
if ct % 3 == 2: | |
model_description_md += "\n" | |
ct += 1 | |
return model_description_md | |
# regist text-to-shape generation models | |
register_model_info( | |
["dreamfusion"], | |
"DreamFusion", | |
"https://dreamfusion3d.github.io/", | |
"Text-to-3D using 2D Diffusion and SDS Loss", | |
) | |
register_model_info( | |
["fantasia3d"], | |
"Fantasia3D", | |
"https://fantasia3d.github.io/", | |
"Disentangling Geometry and Appearance for High-quality Text-to-3D Content Creation", | |
) | |
register_model_info( | |
["instant3d"], | |
"Instant3D", | |
"https://jiahao.ai/instant3d/", | |
"Fast Text-to-3D with Sparse-View Generation and Large Reconstruction Model", | |
) | |
register_model_info( | |
["latent-nerf"], | |
"Latent-NeRF", | |
"https://github.com/eladrich/latent-nerf", | |
"Latent-NeRF for Shape-Guided Generation of 3D Shapes and Textures", | |
) | |
register_model_info( | |
["magic3d"], | |
"Magic3D", | |
"https://research.nvidia.com/labs/dir/magic3d/", | |
"High-Resolution Text-to-3D Content Creation", | |
) | |
register_model_info( | |
["geodream"], | |
"GeoDream", | |
"https://mabaorui.github.io/GeoDream_page/", | |
"Disentangling 2D and Geometric Priors for High-Fidelity and Consistent 3D Generation", | |
) | |
register_model_info( | |
["lucid-dreamer"], | |
"LucidDreamer", | |
"https://github.com/EnVision-Research/LucidDreamer", | |
"Towards High-Fidelity Text-to-3D Generation via Interval Score Matching", | |
) | |
register_model_info( | |
["mvdream"], | |
"MVDream", | |
"https://github.com/bytedance/MVDream", | |
"Multi-view Diffusion for 3D Generation", | |
) | |
register_model_info( | |
["grm-t", "grm-i"], | |
"GRM", | |
"https://justimyhxu.github.io/projects/grm", | |
"GRM: Large Gaussian Reconstruction Model for Efficient 3D Reconstruction and Generation", | |
) | |
register_model_info( | |
["point-e-t", "point-e-i"], | |
"Point·E", | |
"https://github.com/openai/point-e", | |
"A System for Generating 3D Point Clouds from Complex Prompts", | |
) | |
register_model_info( | |
["shap-e-t", "shap-e-i"], | |
"Shap-E", | |
"https://github.com/openai/shap-e", | |
"Generating Conditional 3D Implicit Functions", | |
) | |
register_model_info( | |
["prolificdreamer"], | |
"ProlificDreamer", | |
"https://ml.cs.tsinghua.edu.cn/prolificdreamer/", | |
"High-Fidelity and Diverse Text-to-3D Generation with Variational Score Distillation", | |
) | |
register_model_info( | |
["sjc"], | |
"Score Jacobian Chaining", | |
"https://pals.ttic.edu/p/score-jacobian-chaining", | |
"Lifting Pretrained 2D Diffusion Models for 3D Generation", | |
) | |
# register_model_info( | |
# [], | |
# "", | |
# "", | |
# "", | |
# ) | |
## regist image-to-shape generation models | |
register_model_info( | |
["dreamgaussian"], | |
"DreamGaussian", | |
"https://github.com/dreamgaussian/dreamgaussian", | |
"Generative Gaussian Splatting for Efficient 3D Content Creation", | |
) | |
register_model_info( | |
["wonder3d"], | |
"Wonder3D", | |
"https://github.com/xxlong0/Wonder3D", | |
"Single Image to 3D using Cross-Domain Diffusion", | |
) | |
register_model_info( | |
["dreamcraft3d"], | |
"Dreamcraft3d", | |
"https://github.com/deepseek-ai/DreamCraft3D", | |
"Hierarchical 3d generation with bootstrapped diffusion prior", | |
) | |
register_model_info( | |
["syncdreamer"], | |
"SyncDreamer", | |
"https://github.com/liuyuan-pal/SyncDreamer", | |
"Generating Multiview-consistent Images from a Single-view Image", | |
) | |
register_model_info( | |
["zero123"], | |
"Zero-1-to-3", | |
"https://github.com/cvlab-columbia/zero123", | |
"Zero-shot One Image to 3D Object", | |
) | |
register_model_info( | |
["stable-zero123"], | |
"Stable Zero123", | |
"https://stability.ai/news/stable-zero123-3d-generation", | |
"Quality 3D Object Generation from Single Images", | |
) | |
register_model_info( | |
["zero123-xl"], | |
"Zero123-XL", | |
"https://stability.ai/news/stable-zero123-3d-generation", | |
"Quality 3D Object Generation from Single Images", | |
) | |
register_model_info( | |
["magic123"], | |
"Magic123", | |
"https://guochengqian.github.io/project/magic123/", | |
"One Image to High-Quality 3D Object Generation Using Both 2D and 3D Diffusion Priors", | |
) | |
register_model_info( | |
["imagedream"], | |
"ImageDream", | |
"https://github.com/bytedance/ImageDream", | |
"Image-Prompt Multi-view Diffusion for 3D Generation", | |
) | |
register_model_info( | |
["make-it-3d"], | |
"Make-It-3D", | |
"https://github.com/junshutang/Make-It-3D", | |
"High-Fidelity 3D Creation from A Single Image with Diffusion Prior", | |
) | |
register_model_info( | |
["triplane-gaussian"], | |
"TriplaneGaussian", | |
"https://github.com/VAST-AI-Research/TriplaneGaussian", | |
"Triplane Meets Gaussian Splatting: Fast and Generalizable Single-View 3D Reconstruction with Transformers", | |
) | |
register_model_info( | |
["free3d"], | |
"Free3D", | |
"https://github.com/lyndonzheng/Free3D", | |
"Consistent Novel View Synthesis without 3D Representation", | |
) | |
register_model_info( | |
["escher-net"], | |
"EscherNet", | |
"https://github.com/kxhit/EscherNet", | |
"A Generative Model for Scalable View Synthesis", | |
) | |
register_model_info( | |
["v3d"], | |
"V3D", | |
"https://github.com/heheyas/V3D", | |
"Video Diffusion Models are Effective 3D Generators", | |
) | |
register_model_info( | |
["lgm"], | |
"LGM", | |
"https://github.com/3DTopia/LGM", | |
"Large Multi-View Gaussian Model for High-Resolution 3D Content Creation", | |
) | |
register_model_info( | |
["gsgen"], | |
"GSGEN", | |
"https://github.com/gsgen3d/gsgen", | |
"Text-to-3D using Gaussian Splatting", | |
) | |
register_model_info( | |
["openlrm"], | |
"OpenLRM", | |
"https://github.com/3DTopia/OpenLRM", | |
"Open-Source Large Reconstruction Models", | |
) | |
register_model_info( | |
["hifa"], | |
"HiFA", | |
"https://github.com/JunzheJosephZhu/HiFA", | |
"High-fidelity Text-to-3D Generation with Advanced Diffusion Guidance", | |
) | |
register_model_info( | |
["instant-mesh"], | |
"InstantMesh", | |
"https://github.com/TencentARC/InstantMesh", | |
"Efficient 3D Mesh Generation from a Single Image with Sparse-view Large Reconstruction Models", | |
) | |
# register_model_info( | |
# [], | |
# "", | |
# "", | |
# "", | |
# ) | |