news 2026/5/1 7:58:40

EGSTalker踩坑日记第一弹

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
EGSTalker踩坑日记第一弹

本文只针对25.4.30版本的EGSTalker仓库

一、环境配置

因为一直习惯于把项目zip拉下来上传服务器所以遇到了第一个问题,在服务器上没有办法执行这条指令(本地执行了也没效果不知道为啥)

gitsubmodule update --init --recursive

解决方法:

#在github上找到.gitmodules文件,自行下载到指定位置就可以了[submodule"submodules/custom-bg-depth-diff-gaussian-rasterization"]path=submodules/custom-bg-depth-diff-gaussian-rasterization url=https://github.com/joungbinlee/custom-bg-depth-diff-gaussian-rasterization.git[submodule"submodules/simple-knn"]path=submodules/simple-knn url=https://github.com/camenduru/simple-knn.git

下载后执行即可

pipinstall-e submodules/custom-gaussian-rasterization pipinstall-e submodules/simple-knn

二、数据预处理

原本的数据处理代码process.py的第六部分

ifopt.task==-1 or opt.task==6: extract_torso_and_gt(base_dir, ori_imgs_dir)

在保存之前缺少了文件夹创建步骤,而且这里不会报错!!!

#创建文件夹folder_path=os.path.dirname(image_path.replace('ori_imgs','torso_imgs').replace('.jpg','.png'))os.makedirs(folder_path,exist_ok=True)#在这段代码之前增加上述代码cv2.imwrite(image_path.replace('ori_imgs','torso_imgs').replace('.jpg','.png'),np.concatenate([torso_image,torso_alpha],axis=-1))

三、Train部分

本人python基础比较差因此很少在__init__.py里面做动作,但在这个项目里__init__.py包含了较多操作,这导致本人在运行时,默认执行地址会被改成

/home/xxx/miniconda3/envs/egstalker/lib/python3.9/site-packages/ikan

因此使用相对路径索引时,比如模型存储位置我写成model时,实际的绝对路径会变成

/home/xxx/miniconda3/envs/egstalker/lib/python3.9/site-packages/ikan/model

这导致了在运行过程中出现很多找不到文件的程序错误和找不到输出在哪的人类错误。解决方案如下:

#在train.py的main的最开始更改路径if__name__=="__main__":os.chdir(sys.path[0])

但还是会零星报一些找不到文件的错误,只需要在相应位置之前写入上述更改路径代码即可。
这里我觉得应该有一劳永逸的方法,但正如我最开始所说的,本人python基础不好,外加时间有限,干脆蠢蛋做法。

四、Inference with Custom Audio

Readme里面的示例代码给的是,如果按照示例跑的训练,iteration那里要删一个0

python render.py -s${YOUR_DATASET_DIR}/${DATASET_NAME}\--model_path${YOUR_MODEL_DIR}\--configs configs/egstalker_default.py\--iteration10000\# 训练的示例给的是1000,这里多一个零,如果是按训练跑的要删掉--batch16\--custom_aud<custom_aud>.npy\--custom_wav<custom_aud>.wav\--skip_train\--skip_test

另外就是render.py执行到这里会报一个索引越界的错误

ifname!='custom':model_name=model_path.split("/")[-2]iflen(model_path.split("/"))>=2else"/root/autodl-tmp/GaussianTalker/trained_model"print("model_path:", model_path)cmd=f'ffmpeg -loglevel quiet -y -i {gts_path}/gt.mp4 -i {inf_audio_dir} -c:v copy -c:a aac {gts_path}/{model_path.split("/")[-2]}_{name}_{iteration}iter_gt.mov'os.system(cmd)cmd=f'ffmpeg -loglevel quiet -y -i {render_path}/renders.mp4 -i {inf_audio_dir} -c:v copy -c:a aac {render_path}/{model_path.split("/")[-2]}_{name}_{iteration}iter_renders.mov'os.system(cmd)ifname!='custom':os.remove(f"{gts_path}/gt.mp4")os.remove(f"{render_path}/renders.mp4")

报错内容

Traceback(most recent call last): File"/home/xxx/xxx/EGSTalker-main/render.py", line231,in<module>render_sets(model.extract(args), hyperparam.extract(args), args.iteration, pipeline.extract(args), args)File"/home/xxx/xxx/EGSTalker-main/render.py", line163,inrender_sets render_set(dataset.model_path,"custom", scene.loaded_iter, scene.getCustomCameras(), gaussians, pipeline, audio_dir, batch_size)File"/home/xxx/xxx/EGSTalker-main/render.py", line134,inrender_set write_frames_to_video(tensor_to_image(image_tensor),render_path+'/renders', use_imageio=True)IndexError: list index out of range

这非常的玄学,盲猜是自己服务器的问题和项目无关,每次超出索引的代码位置还不一样,感觉像是程序执行过程中内存访址的问题,这里插个眼以后有空深研究一下。目前为了程序顺利执行,直接在这段之前return了,然后自行拼的音频。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/29 18:21:02

20、文件搜索、压缩与归档操作指南

文件搜索、压缩与归档操作指南 1. 文件搜索技巧 在日常的文件管理中,我们常常需要搜索特定的文件。传统的方式可能会多次执行命令,效率较低。为了提高效率,我们可以采用以下两种方法。 1.1 利用 find 命令的新特性 将 find 命令结尾的分号 ; 替换为加号 + ,就能…

作者头像 李华
网站建设 2026/4/29 21:38:07

Flutter 2025:从架构革命到商业落地的终极指南

一、Flutter 2025&#xff1a;为什么它成为大厂的“降维打击”武器&#xff1f;2025 年&#xff0c;全球 Top 50 App 中 42% 使用 Flutter&#xff08;Statista 数据&#xff09;。从 TikTok 国际版到 Google Ads&#xff0c;Flutter 已从“实验性框架”进化为 企业级开发的首选…

作者头像 李华
网站建设 2026/5/1 6:23:17

《终极金钱心智》

本书核心是拆解巴菲特的 “金钱心智”&#xff0c;以其成长与投资历程为脉络&#xff0c;解析价值投资演变与投资哲学内核&#xff1a;一、金钱心智的核心定义与本质金钱心智是一种融合对市场看法、投资方法、投资者气质的世界观&#xff0c;是思考重大财务问题&#xff08;如资…

作者头像 李华
网站建设 2026/5/1 2:55:02

图论入门:从存储结构到DFS/BFS遍历,零基础也能看懂的实战教程

图论是数据结构与算法的核心模块&#xff0c;也是面试高频考点&#xff0c;但很多新手会卡在“概念抽象”“代码难写”“逻辑理不清”三个环节。本文避开复杂理论&#xff0c;从“用代码实现”的角度出发&#xff0c;手把手教你掌握图的两种核心存储结构&#xff08;邻接矩阵、…

作者头像 李华
网站建设 2026/4/27 13:18:27

解密:毫秒级无网决策,算力如何支撑自动驾驶?

**一、自动驾驶的 “生死时速”&#xff1a;为何必须攻克毫秒级无网决策在自动驾驶领域&#xff0c;“10 毫秒” 是一条隐形的生死线。当车辆以 120km/h 的速度行驶时&#xff0c;每 10 毫秒就会前进 0.33 米&#xff0c;而人类驾驶员的反应延迟通常在 300-500 毫秒之间&#x…

作者头像 李华