先看以下错误,我用的是ubutun系统,其他系统如果出现类似,解决方案类似
Traceback (most recent call last):
File "faceswap.py", line 6, in <module>
from lib.cli import args as cli_args
File "/home/ztz/ai_face/faceswap-master/lib/cli/args.py", line 13, in <module>
from lib.gpu_stats import GPUStats
File "/home/ztz/ai_face/faceswap-master/lib/gpu_stats.py", line 25, in <module>
from lib.plaidml_tools import PlaidMLStats as plaidlib # pylint:disable=ungrouped-imports
File "/home/ztz/ai_face/faceswap-master/lib/plaidml_tools.py", line 16, in <module>
import plaidml
File "/home/ztz/.local/lib/python3.8/site-packages/plaidml/__init__.py", line 50, in <module>
import plaidml.settings
File "/home/ztz/.local/lib/python3.8/site-packages/plaidml/settings.py", line 38, in <module>
_setup_config('PLAIDML_EXPERIMENTAL_CONFIG', 'experimental.json')
File "/home/ztz/.local/lib/python3.8/site-packages/plaidml/settings.py", line 34, in _setup_config
raise plaidml.exceptions.PlaidMLError(
plaidml.exceptions.PlaidMLError: Could not find PlaidML configuration file: "experimental.json".
简单说就是没有找到配置文件,
为什么会出现这种错误呢
其实是因为conda下载库导致的,
大概率是plaidml的问题
大家可以去搜索一下conda和pip安装库时候的默认路径
当然了还是要仔细看报错的提示
先看以下我的路径:
/home/ztz/.local/lib/python3.8/site-packages/plaidml/settings.py
有没有发现问题(.local)路径下
我们调试进去看看,发现在这里寻找了experimental.json文件
def _find_config(name):
print(1,sys.prefix)
prefixes = [
sys.prefix,
os.path.join(sys.prefix, 'local'),
]
for prefix in prefixes:
cfg_path = os.path.join(prefix, 'share', 'plaidml', name)
print(cfg_path)
if os.path.exists(cfg_path):
return cfg_path
return None
然而没找到,问题就处在这,
看看路径
sys.prefix,
os.path.join(sys.prefix, 'local'),
寻找了这两个路径,打印发现
/home/ztz/anaconda3/share/plaidml/experimental.json
/home/ztz/anaconda3/local/share/plaidml/experimental.json
去文件夹看看确实没有,
其实是安装的时候出现了问题,追加
prefixes = [
sys.prefix,
os.path.join(sys.prefix, 'local'),
sys.prefix+"/../.local"
]
就解决了,原因就是库下载的时候装在了/home/ztz/.local 下
还在等什么赶紧进群,别的群都满了,快来新建的,进来sososo