├── .gitignore ├── LICENSE ├── README.md ├── configs ├── __init__.py ├── paths_config.py └── render_config.py ├── criteria ├── __init__.py ├── id_loss.py ├── l2_loss.py └── lpips │ ├── __init__.py │ ├── lpips.py │ ├── networks.py │ └── utils.py ├── datasets └── dataset.py ├── dnnlib ├── __init__.py └── util.py ├── docs ├── display1.png ├── display2.png └── display3.png ├── imgs ├── 1.jpg ├── 2.jpg ├── 3.png └── 4.png ├── models ├── Inception │ ├── __init__.py │ └── inception.py ├── __init__.py ├── eg3d │ ├── camera_utils.py │ ├── dual_discriminator.py │ ├── networks_stylegan2.py │ ├── networks_stylegan3.py │ ├── shape_utils.py │ ├── superresolution.py │ ├── triplane.py │ └── volumetric_rendering │ │ ├── __init__.py │ │ ├── __pycache__ │ │ ├── __init__.cpython-37.pyc │ │ ├── math_utils.cpython-37.pyc │ │ ├── ray_marcher.cpython-37.pyc │ │ ├── ray_sampler.cpython-37.pyc │ │ └── renderer.cpython-37.pyc │ │ ├── math_utils.py │ │ ├── ray_marcher.py │ │ ├── ray_sampler.py │ │ └── renderer.py ├── model.py ├── resnet │ ├── __init__.py │ ├── helpers.py │ └── model_irse.py ├── stylegan2 │ ├── __init__.py │ ├── model.py │ └── op │ │ ├── __init__.py │ │ ├── fused_act.py │ │ ├── fused_bias_act.cpp │ │ ├── fused_bias_act_kernel.cu │ │ ├── upfirdn2d.cpp │ │ ├── upfirdn2d.py │ │ └── upfirdn2d_kernel.cu └── triencoder.py ├── options ├── __init__.py └── train_options.py ├── requirements.txt ├── scripts ├── inference.py ├── inference_video.py ├── preprocess_single_image.py ├── preprocess_video.py ├── train.py ├── valuate.py └── visualize_mesh.py ├── torch_utils ├── __init__.py ├── custom_ops.py ├── misc.py ├── ops │ ├── __init__.py │ ├── bias_act.cpp │ ├── bias_act.cu │ ├── bias_act.h │ ├── bias_act.py │ ├── conv2d_gradfix.py │ ├── conv2d_resample.py │ ├── filtered_lrelu.cpp │ ├── filtered_lrelu.cu │ ├── filtered_lrelu.h │ ├── filtered_lrelu.py │ ├── filtered_lrelu_ns.cu │ ├── filtered_lrelu_rd.cu │ ├── filtered_lrelu_wr.cu │ ├── fma.py │ ├── grid_sample_gradfix.py │ ├── upfirdn2d.cpp │ ├── upfirdn2d.cu │ ├── upfirdn2d.h │ └── upfirdn2d.py ├── persistence.py └── training_stats.py ├── training ├── __init__.py ├── coach.py ├── ranger.py └── utils.py └── utils ├── __init__.py ├── common.py ├── train_utils.py └── wandb_utils.py /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dong142857/Live3DPortrait/HEAD/.gitignore -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dong142857/Live3DPortrait/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dong142857/Live3DPortrait/HEAD/README.md -------------------------------------------------------------------------------- /configs/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /configs/paths_config.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dong142857/Live3DPortrait/HEAD/configs/paths_config.py -------------------------------------------------------------------------------- /configs/render_config.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dong142857/Live3DPortrait/HEAD/configs/render_config.py -------------------------------------------------------------------------------- /criteria/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /criteria/id_loss.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dong142857/Live3DPortrait/HEAD/criteria/id_loss.py -------------------------------------------------------------------------------- /criteria/l2_loss.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dong142857/Live3DPortrait/HEAD/criteria/l2_loss.py -------------------------------------------------------------------------------- /criteria/lpips/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /criteria/lpips/lpips.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dong142857/Live3DPortrait/HEAD/criteria/lpips/lpips.py -------------------------------------------------------------------------------- /criteria/lpips/networks.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dong142857/Live3DPortrait/HEAD/criteria/lpips/networks.py -------------------------------------------------------------------------------- /criteria/lpips/utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dong142857/Live3DPortrait/HEAD/criteria/lpips/utils.py -------------------------------------------------------------------------------- /datasets/dataset.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dong142857/Live3DPortrait/HEAD/datasets/dataset.py -------------------------------------------------------------------------------- /dnnlib/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dong142857/Live3DPortrait/HEAD/dnnlib/__init__.py -------------------------------------------------------------------------------- /dnnlib/util.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dong142857/Live3DPortrait/HEAD/dnnlib/util.py -------------------------------------------------------------------------------- /docs/display1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dong142857/Live3DPortrait/HEAD/docs/display1.png -------------------------------------------------------------------------------- /docs/display2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dong142857/Live3DPortrait/HEAD/docs/display2.png -------------------------------------------------------------------------------- /docs/display3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dong142857/Live3DPortrait/HEAD/docs/display3.png -------------------------------------------------------------------------------- /imgs/1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dong142857/Live3DPortrait/HEAD/imgs/1.jpg -------------------------------------------------------------------------------- /imgs/2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dong142857/Live3DPortrait/HEAD/imgs/2.jpg -------------------------------------------------------------------------------- /imgs/3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dong142857/Live3DPortrait/HEAD/imgs/3.png -------------------------------------------------------------------------------- /imgs/4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dong142857/Live3DPortrait/HEAD/imgs/4.png -------------------------------------------------------------------------------- /models/Inception/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /models/Inception/inception.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dong142857/Live3DPortrait/HEAD/models/Inception/inception.py -------------------------------------------------------------------------------- /models/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /models/eg3d/camera_utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dong142857/Live3DPortrait/HEAD/models/eg3d/camera_utils.py -------------------------------------------------------------------------------- /models/eg3d/dual_discriminator.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dong142857/Live3DPortrait/HEAD/models/eg3d/dual_discriminator.py -------------------------------------------------------------------------------- /models/eg3d/networks_stylegan2.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dong142857/Live3DPortrait/HEAD/models/eg3d/networks_stylegan2.py -------------------------------------------------------------------------------- /models/eg3d/networks_stylegan3.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dong142857/Live3DPortrait/HEAD/models/eg3d/networks_stylegan3.py -------------------------------------------------------------------------------- /models/eg3d/shape_utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dong142857/Live3DPortrait/HEAD/models/eg3d/shape_utils.py -------------------------------------------------------------------------------- /models/eg3d/superresolution.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dong142857/Live3DPortrait/HEAD/models/eg3d/superresolution.py -------------------------------------------------------------------------------- /models/eg3d/triplane.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dong142857/Live3DPortrait/HEAD/models/eg3d/triplane.py -------------------------------------------------------------------------------- /models/eg3d/volumetric_rendering/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dong142857/Live3DPortrait/HEAD/models/eg3d/volumetric_rendering/__init__.py -------------------------------------------------------------------------------- /models/eg3d/volumetric_rendering/__pycache__/__init__.cpython-37.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dong142857/Live3DPortrait/HEAD/models/eg3d/volumetric_rendering/__pycache__/__init__.cpython-37.pyc -------------------------------------------------------------------------------- /models/eg3d/volumetric_rendering/__pycache__/math_utils.cpython-37.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dong142857/Live3DPortrait/HEAD/models/eg3d/volumetric_rendering/__pycache__/math_utils.cpython-37.pyc -------------------------------------------------------------------------------- /models/eg3d/volumetric_rendering/__pycache__/ray_marcher.cpython-37.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dong142857/Live3DPortrait/HEAD/models/eg3d/volumetric_rendering/__pycache__/ray_marcher.cpython-37.pyc -------------------------------------------------------------------------------- /models/eg3d/volumetric_rendering/__pycache__/ray_sampler.cpython-37.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dong142857/Live3DPortrait/HEAD/models/eg3d/volumetric_rendering/__pycache__/ray_sampler.cpython-37.pyc -------------------------------------------------------------------------------- /models/eg3d/volumetric_rendering/__pycache__/renderer.cpython-37.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dong142857/Live3DPortrait/HEAD/models/eg3d/volumetric_rendering/__pycache__/renderer.cpython-37.pyc -------------------------------------------------------------------------------- /models/eg3d/volumetric_rendering/math_utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dong142857/Live3DPortrait/HEAD/models/eg3d/volumetric_rendering/math_utils.py -------------------------------------------------------------------------------- /models/eg3d/volumetric_rendering/ray_marcher.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dong142857/Live3DPortrait/HEAD/models/eg3d/volumetric_rendering/ray_marcher.py -------------------------------------------------------------------------------- /models/eg3d/volumetric_rendering/ray_sampler.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dong142857/Live3DPortrait/HEAD/models/eg3d/volumetric_rendering/ray_sampler.py -------------------------------------------------------------------------------- /models/eg3d/volumetric_rendering/renderer.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dong142857/Live3DPortrait/HEAD/models/eg3d/volumetric_rendering/renderer.py -------------------------------------------------------------------------------- /models/model.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dong142857/Live3DPortrait/HEAD/models/model.py -------------------------------------------------------------------------------- /models/resnet/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /models/resnet/helpers.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dong142857/Live3DPortrait/HEAD/models/resnet/helpers.py -------------------------------------------------------------------------------- /models/resnet/model_irse.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dong142857/Live3DPortrait/HEAD/models/resnet/model_irse.py -------------------------------------------------------------------------------- /models/stylegan2/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /models/stylegan2/model.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dong142857/Live3DPortrait/HEAD/models/stylegan2/model.py -------------------------------------------------------------------------------- /models/stylegan2/op/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dong142857/Live3DPortrait/HEAD/models/stylegan2/op/__init__.py -------------------------------------------------------------------------------- /models/stylegan2/op/fused_act.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dong142857/Live3DPortrait/HEAD/models/stylegan2/op/fused_act.py -------------------------------------------------------------------------------- /models/stylegan2/op/fused_bias_act.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dong142857/Live3DPortrait/HEAD/models/stylegan2/op/fused_bias_act.cpp -------------------------------------------------------------------------------- /models/stylegan2/op/fused_bias_act_kernel.cu: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dong142857/Live3DPortrait/HEAD/models/stylegan2/op/fused_bias_act_kernel.cu -------------------------------------------------------------------------------- /models/stylegan2/op/upfirdn2d.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dong142857/Live3DPortrait/HEAD/models/stylegan2/op/upfirdn2d.cpp -------------------------------------------------------------------------------- /models/stylegan2/op/upfirdn2d.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dong142857/Live3DPortrait/HEAD/models/stylegan2/op/upfirdn2d.py -------------------------------------------------------------------------------- /models/stylegan2/op/upfirdn2d_kernel.cu: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dong142857/Live3DPortrait/HEAD/models/stylegan2/op/upfirdn2d_kernel.cu -------------------------------------------------------------------------------- /models/triencoder.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dong142857/Live3DPortrait/HEAD/models/triencoder.py -------------------------------------------------------------------------------- /options/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /options/train_options.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dong142857/Live3DPortrait/HEAD/options/train_options.py -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dong142857/Live3DPortrait/HEAD/requirements.txt -------------------------------------------------------------------------------- /scripts/inference.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dong142857/Live3DPortrait/HEAD/scripts/inference.py -------------------------------------------------------------------------------- /scripts/inference_video.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dong142857/Live3DPortrait/HEAD/scripts/inference_video.py -------------------------------------------------------------------------------- /scripts/preprocess_single_image.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dong142857/Live3DPortrait/HEAD/scripts/preprocess_single_image.py -------------------------------------------------------------------------------- /scripts/preprocess_video.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dong142857/Live3DPortrait/HEAD/scripts/preprocess_video.py -------------------------------------------------------------------------------- /scripts/train.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dong142857/Live3DPortrait/HEAD/scripts/train.py -------------------------------------------------------------------------------- /scripts/valuate.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dong142857/Live3DPortrait/HEAD/scripts/valuate.py -------------------------------------------------------------------------------- /scripts/visualize_mesh.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dong142857/Live3DPortrait/HEAD/scripts/visualize_mesh.py -------------------------------------------------------------------------------- /torch_utils/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dong142857/Live3DPortrait/HEAD/torch_utils/__init__.py -------------------------------------------------------------------------------- /torch_utils/custom_ops.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dong142857/Live3DPortrait/HEAD/torch_utils/custom_ops.py -------------------------------------------------------------------------------- /torch_utils/misc.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dong142857/Live3DPortrait/HEAD/torch_utils/misc.py -------------------------------------------------------------------------------- /torch_utils/ops/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dong142857/Live3DPortrait/HEAD/torch_utils/ops/__init__.py -------------------------------------------------------------------------------- /torch_utils/ops/bias_act.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dong142857/Live3DPortrait/HEAD/torch_utils/ops/bias_act.cpp -------------------------------------------------------------------------------- /torch_utils/ops/bias_act.cu: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dong142857/Live3DPortrait/HEAD/torch_utils/ops/bias_act.cu -------------------------------------------------------------------------------- /torch_utils/ops/bias_act.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dong142857/Live3DPortrait/HEAD/torch_utils/ops/bias_act.h -------------------------------------------------------------------------------- /torch_utils/ops/bias_act.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dong142857/Live3DPortrait/HEAD/torch_utils/ops/bias_act.py -------------------------------------------------------------------------------- /torch_utils/ops/conv2d_gradfix.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dong142857/Live3DPortrait/HEAD/torch_utils/ops/conv2d_gradfix.py -------------------------------------------------------------------------------- /torch_utils/ops/conv2d_resample.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dong142857/Live3DPortrait/HEAD/torch_utils/ops/conv2d_resample.py -------------------------------------------------------------------------------- /torch_utils/ops/filtered_lrelu.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dong142857/Live3DPortrait/HEAD/torch_utils/ops/filtered_lrelu.cpp -------------------------------------------------------------------------------- /torch_utils/ops/filtered_lrelu.cu: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dong142857/Live3DPortrait/HEAD/torch_utils/ops/filtered_lrelu.cu -------------------------------------------------------------------------------- /torch_utils/ops/filtered_lrelu.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dong142857/Live3DPortrait/HEAD/torch_utils/ops/filtered_lrelu.h -------------------------------------------------------------------------------- /torch_utils/ops/filtered_lrelu.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dong142857/Live3DPortrait/HEAD/torch_utils/ops/filtered_lrelu.py -------------------------------------------------------------------------------- /torch_utils/ops/filtered_lrelu_ns.cu: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dong142857/Live3DPortrait/HEAD/torch_utils/ops/filtered_lrelu_ns.cu -------------------------------------------------------------------------------- /torch_utils/ops/filtered_lrelu_rd.cu: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dong142857/Live3DPortrait/HEAD/torch_utils/ops/filtered_lrelu_rd.cu -------------------------------------------------------------------------------- /torch_utils/ops/filtered_lrelu_wr.cu: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dong142857/Live3DPortrait/HEAD/torch_utils/ops/filtered_lrelu_wr.cu -------------------------------------------------------------------------------- /torch_utils/ops/fma.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dong142857/Live3DPortrait/HEAD/torch_utils/ops/fma.py -------------------------------------------------------------------------------- /torch_utils/ops/grid_sample_gradfix.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dong142857/Live3DPortrait/HEAD/torch_utils/ops/grid_sample_gradfix.py -------------------------------------------------------------------------------- /torch_utils/ops/upfirdn2d.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dong142857/Live3DPortrait/HEAD/torch_utils/ops/upfirdn2d.cpp -------------------------------------------------------------------------------- /torch_utils/ops/upfirdn2d.cu: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dong142857/Live3DPortrait/HEAD/torch_utils/ops/upfirdn2d.cu -------------------------------------------------------------------------------- /torch_utils/ops/upfirdn2d.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dong142857/Live3DPortrait/HEAD/torch_utils/ops/upfirdn2d.h -------------------------------------------------------------------------------- /torch_utils/ops/upfirdn2d.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dong142857/Live3DPortrait/HEAD/torch_utils/ops/upfirdn2d.py -------------------------------------------------------------------------------- /torch_utils/persistence.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dong142857/Live3DPortrait/HEAD/torch_utils/persistence.py -------------------------------------------------------------------------------- /torch_utils/training_stats.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dong142857/Live3DPortrait/HEAD/torch_utils/training_stats.py -------------------------------------------------------------------------------- /training/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /training/coach.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dong142857/Live3DPortrait/HEAD/training/coach.py -------------------------------------------------------------------------------- /training/ranger.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dong142857/Live3DPortrait/HEAD/training/ranger.py -------------------------------------------------------------------------------- /training/utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dong142857/Live3DPortrait/HEAD/training/utils.py -------------------------------------------------------------------------------- /utils/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /utils/common.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dong142857/Live3DPortrait/HEAD/utils/common.py -------------------------------------------------------------------------------- /utils/train_utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dong142857/Live3DPortrait/HEAD/utils/train_utils.py -------------------------------------------------------------------------------- /utils/wandb_utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Dong142857/Live3DPortrait/HEAD/utils/wandb_utils.py --------------------------------------------------------------------------------