Gradio 月活用户突破 100 万!
阅读更多Gradio 月活用户突破 100 万!
阅读更多3D 模型在机器学习中变得越来越流行,并成为一些最有趣的实验演示。使用 gradio
,您可以轻松构建 3D 图像模型的演示,并与任何人分享。Gradio 3D 模型组件接受 3 种文件类型,包括:.obj、.glb 和 .gltf。
本指南将向您展示如何用几行代码为您的 3D 图像模型构建演示;就像下面这个。点击、拖动和缩放,玩转 3D 对象
确保您已 安装 了 gradio
Python 包。
让我们看看如何创建上面的最小界面。在本例中,预测函数将只返回原始 3D 模型网格,但您可以更改此函数以在您的机器学习模型上运行推理。我们将在下面查看更复杂的示例。
import gradio as gr
import os
def load_mesh(mesh_file_name):
return mesh_file_name
demo = gr.Interface(
fn=load_mesh,
inputs=gr.Model3D(),
outputs=gr.Model3D(
clear_color=[0.0, 0.0, 0.0, 0.0], label="3D Model"),
examples=[
[os.path.join(os.path.dirname(__file__), "files/Bunny.obj")],
[os.path.join(os.path.dirname(__file__), "files/Duck.glb")],
[os.path.join(os.path.dirname(__file__), "files/Fox.gltf")],
[os.path.join(os.path.dirname(__file__), "files/face.obj")],
],
)
if __name__ == "__main__":
demo.launch()
让我们分解上面的代码
load_mesh
:这是我们的“预测”函数,为了简单起见,此函数将接收 3D 模型网格并返回它。
创建界面
fn
:用户点击提交时使用的预测函数。在我们的例子中,这是 load_mesh
函数。inputs
:创建一个 model3D 输入组件。输入期望上传的文件作为 {str} 文件路径。outputs
:创建一个 model3D 输出组件。输出组件也期望文件作为 {str} 文件路径。clear_color
:这是 3D 模型画布的背景颜色。期望 RGBa 值。label
:出现在组件左上角的标签。examples
:3D 模型文件列表。3D 模型组件可以接受 .obj、.glb 和 .gltf 文件类型。cache_examples
:保存示例的预测输出,以节省推理时间。下面是一个演示,它使用 DPT 模型来预测图像的深度,然后使用 3D 点云来创建 3D 对象。查看 app.py 文件,以了解代码和模型预测函数。
完成!这就是为您的 Model3D 模型构建界面所需的所有代码。以下是一些您可能会觉得有用的参考资料