Advertisement

pip 安装 GFPGAN 遇到的一些问题以及解决方案

阅读量:

最近计划利用 GFPGAN 实现某种功能。在安装 GFPGAN 的过程中遇到了一系列困难,在深入了解后终于完成了任务。为了帮助其他人在这一过程中节省时间并避免犯错,在此将收集到的一系列问题及解决方法整理如下,并希望能为正在 struggles with GFPGAN 安装的朋友们提供一些建议。

环境准备

在安装 GFPGAN 之前做好环境 preparations 是非常重要的;这对于避免 many potential problems 是至关重要的.

Python 版本建议

推荐采用 Python 3.7至3.10版本,并因 GFPGAN 在这些版本中进行了充分测试与验证而具有较好的兼容性。你可参考以下指令获取当前安装的Python版本:

复制代码
    python --version

可从Python 官方网站获取并安装正确的版本。

创建新的虚拟环境

为了避免与系统中已有的Python包产生冲突,请您谨慎考虑后再创建一个新的虚拟环境

Windows 系统
复制代码
 python -m venv myenv

    
 .\myenv\Scripts\activate
Linux/Mac 系统
复制代码
 python -m venv myenv

    
 source myenv/bin/activate

在这一位置上设置的变量标识符 myenv 赋予了虚拟环境的身份。您可以在这一位置上设置的变量标识符 myenv 的基础上根据个人偏好选择不同的名称来替代当前设置。当您激活这个虚拟环境时,所有后续的操作将被限制在独立于其他虚拟环境的独特空间中。

当然也可以使用pycharm直接创建使用

更新 pip 和 setuptools

建议在安装过程中使用当前最新的pipsetuptools这将有助于规避由于旧版本可能导致的安装问题请按照如下步骤操作

复制代码
    python -m pip install --upgrade pip setuptools

安装过程中遇到的问题及解决方案

问题一:缺少 numpy 模块

在安装 basicsrGFPGAN 的依赖库之一)时,在控制台中出现提示信息显示为:无法找到名为 'numpy' 的模块。这是因为由于 basicsr 在安装过程中依赖于 numpy 模块的使用,请确保已正确配置虚拟环境以包含该模块。

解决方案

先单独安装 numpy,使用以下命令:

复制代码
    pip install numpy

安装完成后,在 Python 环境中验证一下是否安装成功:

复制代码
 import numpy as np

    
 print(np.__version__)

如果能正常打印出 numpy 的版本号,就说明 numpy 已经成功安装。

问题二:找不到 cv2 模块

在克服了 numpy 的问题之后,再次尝试安装依赖库时遇到了 ModuleNotFoundError: No module named 'cv2' 的错误。这表明 basicsrsetup.py 文件因缺少必要的模块而无法正常运行。

解决方案

先卸载现有的 opencv-python,然后重新安装:

复制代码
 pip uninstall opencv-python

    
 pip install opencv-python

安装完成后,同样在 Python 中验证是否安装成功:

复制代码
 import cv2

    
 print(cv2.__version__)

问题三:缺少 torchvision 模块

接着,在安装过程中又报错了 ModuleNotFoundError: No module named 'torchvision'。尽管已经部分开始下载 torchvision 了,但由于安装过程出现了一些问题, 最终结果是 basicsr 无法找到它。

解决方案

先卸载再重新安装 torchvision

复制代码
 pip uninstall torchvision

    
 pip install torchvision

安装完成后,进行验证:

复制代码
 import torchvision

    
 print(torchvision.__version__)

问题四:找不到 scipy 模块

随后再次遇到一个 ModuleNotFoundError: not found in the Python path 的困难。尽管之前已成功安装 scipy ,但由于 basicsr 运行时无法识别该模块。

解决方案

重新安装 scipy

复制代码
 pip uninstall scipy

    
 pip install scipy

安装完成后,验证是否安装成功:

复制代码
 import scipy

    
 print(scipy.__version__)

问题五:缺少 tqdm 模块

在安装过程中仍遇到了 ModuleNotFoundError: No module named 'tqdm' 的错误;尽管已尝试安装 tqdm 包,并采取了相应措施如更新系统或检查依赖项配置;但依然未能成功定位到该模块。

解决方案

重新安装 tqdm

复制代码
 pip uninstall tqdm

    
 pip install tqdm

安装完成后,验证:

复制代码
 import tqdm

    
 print(tqdm.__version__)

问题六:依赖冲突

最后遭遇了最难以解决的依赖冲突问题,在使用过程中发现有多个版本的 basicsr 都会依赖于 tb-nightly 包件,并且使用 pip 工具也无法解除这些冲突。遇到安装 basicsr==... 的错误信息:每个版本都带有与 tb-nightly 冲突的依赖关系。

解决方案
  • 建议首先自行完成 tb-nightly 的安装:并随后完成所有依赖软件的安装。使用官方 PyPI 镜像源进行操作;尽量避免因镜像源更新延迟而导致的问题
复制代码
 pip install tb-nightly -i https://pypi.org/simple

    
 pip install basicsr facexlib lmdb opencv-python pyyaml scipy torch torchvision tqdm
  • 替代为官方稳定的版本 :如果 tb-nightly 无法安装,则建议直接使用 tensorboard 的官方稳定的版本进行替换。
复制代码
 pip install tensorboard

    
 pip install basicsr facexlib lmdb opencv-python pyyaml scipy torch torchvision tqdm

在经历一系列操作后,最后实现了GFPGAN及其依赖库的安装过程。为了确保所有组件均能正常运行,在Python环境中进行了最终验证

复制代码
 import basicsr

    
 import facexlib
    
 import gfpgan
    
 import numpy as np
    
 import cv2
    
 import torchvision
    
 import scipy
    
 import tqdm
    
  
    
 print("所有库导入成功,安装正常!")

如果执行该段代码后未出现错误,并且输出 "所有库导入成功 安装正常!" ,则说明安装的库可以正常使用。

问题七:找不到 torchvision.transforms.functional_tensor 模块

完成安装后运行 run_pth.py 时遇到了模块不存在的问题。通常是因为 torchvision 版本不兼容所导致的功能模块已更新或发生变化。

解决方案
  • 调整代码以适应新版本 :如果不想降低 torch torchvision 的版本,请考虑对代码进行调整以适应新版本的变化。值得注意的是,在最新的 torch torchvision 版本中,默认可以直接从 torch torchvision.transforms.functional 中导入 rgb_to_grayscale 函数

找到

path\.venv\lib\site-packages\basicsr\data\degradations.py 文件

复制代码
    from torchvision.transforms.functional_tensor import rgb_to_grayscale

修改为

复制代码
    from torchvision.transforms.functional import rgb_to_grayscale

修改完代码后,再次运行 run_pth.py 脚本,问题就得到了解决。

总结

在进行 GFPGAN 的安装时

全部评论 (0)

还没有任何评论哟~