当前位置: 首页 > news >正文

facefusion解除限制

facefusion解除限制

facefusion解除限制

当前最新版是3.5.0,我下载的版本是3.4.2,版本信息在.\facefusion\facefusion\metadata.py文件内看

问题描述:

启动方式:python .\facefusion.py run

  1. 修改`".\facefusion\facefusion\content_analyser.py"的任何内容,都会导致项目运行后直接结束 exit code 2
  2. 会对NSFW (not safe for work)内容审查(靠content_analyser.py限制)

解决办法

步骤1:解除对content_analyser.py修改的限制

原始代码对content_analyser.py文件进行了hash校验,修改内容会导致校验失败并触发hard_exit(2)结束运行
facefusion\core.py的大概125行,找到函数common_pre_check()并进行如下修改

def common_pre_check() -> bool:common_modules =\[content_analyser,face_classifier,face_detector,face_landmarker,face_masker,face_recognizer,voice_extractor]# content_analyser_content = inspect.getsource(content_analyser).encode()# content_analyser_hash = hash_helper.create_hash(content_analyser_content)return all(module.pre_check() for module in common_modules)# return all(module.pre_check() for module in common_modules) and content_analyser_hash == '803b5ec7'

步骤2:解除NSFW的限制

NSFW检测代码在facefusion\content_analyser.py中,大概128行,修改如下:

def analyse_stream(vision_frame : VisionFrame, video_fps : Fps) -> bool:global STREAM_COUNTERSTREAM_COUNTER = STREAM_COUNTER + 1# if STREAM_COUNTER % int(video_fps) == 0:# 	return analyse_frame(vision_frame)return False# 这个是主要修改,对每一帧的检测全部返回false
def analyse_frame(vision_frame : VisionFrame) -> bool:# return detect_nsfw(vision_frame)return False

结语

经过上述修改应该就没问题了,我只使用过python .\facefusion.py run启动,别的方式没用过,如果不好使可以自己调试分析一下,理论上是都好使的。

最新版3.5.0我没下载,不确定好不好使,但应该差不多的操作