ubuntu+anaconda3+python配置basicsr环境,真实有效


活动地址:CSDN21天学习挑战赛

1.环境要求

  • BasicSR官方网站
  • Python >= 3.7 (推荐使用 Anaconda 或 Miniconda)
  • PyTorch >= 1.3
  • NVIDIA GPU + CUDA

2.Python3.8

小于3.7的版本无法安装BasicSR,会报错没有对应的版本

  • 在anaconda中创建一个python3.8的环境

3.pytorch

BasicSR是基于pytorch的包,不安装pytorch直接安装BasicSR会报错如下

ERROR: Command errored out with exit status 1:
     command: /home/jiangyvhang/anaconda3/bin/python -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-oy7jrdxp/basicsr/setup.py'"'"'; __file__='"'"'/tmp/pip-install-oy7jrdxp/basicsr/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base /tmp/pip-pip-egg-info-gnmqycu3
         cwd: /tmp/pip-install-oy7jrdxp/basicsr/
    Complete output (5 lines):
    Traceback (most recent call last):
      File "", line 1, in <module>
      File "/tmp/pip-install-oy7jrdxp/basicsr/setup.py", line 8, in <module>
        import torch
    ModuleNotFoundError: No module named 'torch'
    ----------------------------------------
ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.

  • 安装pytorch:耗时较久,大概一两个小时
pip3 install torch

4. 安装BasicSR

  • pip安装:
pip3 install basicsr

5.查看是否成功

  • 进入python
python
  • 导入torch
import torch
  • 导入BasicSR
import bascisr
  • 发生报错:
ImportError: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.
  • 解决方法:
    • 使用指令先看下目前都有哪些版本的strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep GLIBCXX
    • 发现只到3.3版本:
      GLIBCXX_3.4 GLIBCXX_3.4.1 GLIBCXX_3.4.2 GLIBCXX_3.4.3 GLIBCXX_3.4.4 GLIBCXX_3.4.5 GLIBCXX_3.4.6 GLIBCXX_3.4.7 GLIBCXX_3.4.8 GLIBCXX_3.4.9 GLIBCXX_3.4.10 GLIBCXX_3.4.11 GLIBCXX_3.4.12 GLIBCXX_3.4.13 GLIBCXX_3.4.14 GLIBCXX_3.4.15 GLIBCXX_3.4.16 GLIBCXX_3.4.17 GLIBCXX_3.4.18 GLIBCXX_3.4.19 GLIBCXX_3.4.20 GLIBCXX_3.4.21 GLIBCXX_DEBUG_MESSAGE_LENGTH
    • 查看当前系统中其它的同类型文件sudo find -name "libstdc++.so.6*“
    • 结果如下:
      -./anaconda3/pkgs/libstdcxx-ng-9.3.0-hd4cf53a_17/lib/libstdc++.so.6.0.28 ./anaconda3/pkgs/libstdcxx-ng-9.3.0-hd4cf53a_17/lib/libstdc++.so.6 ./anaconda3/pkgs/libstdcxx-ng-9.1.0-hdf63c60_0/x86_64-conda_cos6-linux-gnu/sysroot/lib/libstdc++.so.6 ./anaconda3/pkgs/libstdcxx-ng-9.1.0-hdf63c60_0/x86_64-conda_cos6-linux-gnu/sysroot/lib/libstdc++.so.6.0.26 ./anaconda3/pkgs/libstdcxx-ng-9.1.0-hdf63c60_0/lib/libstdc++.so.6 ./anaconda3/pkgs/libstdcxx-ng-9.1.0-hdf63c60_0/lib/libstdc++.so.6.0.26 ./anaconda3/envs/fastrcnn/x86_64-conda_cos6-linux-gnu/sysroot/lib/libstdc++.so.6 ./anaconda3/envs/fastrcnn/x86_64-conda_cos6-linux-gnu/sysroot/lib/libstdc++.so.6.0.26 ./anaconda3/envs/fastrcnn/lib/libstdc++.so.6 ./anaconda3/envs/fastrcnn/lib/libstdc++.so.6.0.26 ./anaconda3/envs/bishefuxian27train/x86_64-conda_cos6-linux-gnu/sysroot/lib/libstdc++.so.6 ./anaconda3/envs/bishefuxian27train/x86_64-conda_cos6-linux-gnu/sysroot/lib/libstdc++.so.6.0.26 ./anaconda3/envs/bishefuxian27train/lib/libstdc++.so.6 ./anaconda3/envs/bishefuxian27train/lib/libstdc++.so.6.0.26 ./anaconda3/envs/bishefuxiantxt/x86_64-conda_cos6-linux-gnu/sysroot/lib/libstdc++.so.6 ./anaconda3/envs/bishefuxiantxt/x86_64-conda_cos6-linux-gnu/sysroot/lib/libstdc++.so.6.0.26 ./anaconda3/envs/bishefuxiantxt/lib/libstdc++.so.6 ./anaconda3/envs/bishefuxiantxt/lib/libstdc++.so.6.0.26 ./anaconda3/envs/python35/lib/libstdc++.so.6.0.28 ./anaconda3/envs/python35/lib/libstdc++.so.6 ./anaconda3/envs/bishefuxian27/x86_64-conda_cos6-linux-gnu/sysroot/lib/libstdc++.so.6 ./anaconda3/envs/bishefuxian27/x86_64-conda_cos6-linux-gnu/sysroot/lib/libstdc++.so.6.0.26 ./anaconda3/envs/bishefuxian27/lib/libstdc++.so.6 ./anaconda3/envs/bishefuxian27/lib/libstdc++.so.6.0.26 ./anaconda3/envs/mc/x86_64-conda_cos6-linux-gnu/sysroot/lib/libstdc++.so.6 ./anaconda3/envs/mc/x86_64-conda_cos6-linux-gnu/sysroot/lib/libstdc++.so.6.0.26 ./anaconda3/envs/mc/lib/libstdc++.so.6 ./anaconda3/envs/mc/lib/libstdc++.so.6.0.26 ./anaconda3/x86_64-conda_cos6-linux-gnu/sysroot/lib/libstdc++.so.6 ./anaconda3/x86_64-conda_cos6-linux-gnu/sysroot/lib/libstdc++.so.6.0.26 ./anaconda3/lib/libstdc++.so.6 ./anaconda3/lib/libstdc++.so.6.0.26
    • 选了一个版本较高的使用之前的指令看看其是否包含需要的版本
      strings ./anaconda3/pkgs/libstdcxx-ng-9.3.0-hd4cf53a_17/lib/libstdc++.so.6.0.28 | grep GLIBCXX
    • 发现有所需版本,复制链接sudo cp ./anaconda3/pkgs/libstdcxx-ng-9.3.0-hd4cf53a_17/lib/libstdc++.so.6.0.28 /usr/lib/x86_64-linux-gnu
    • 删除之前的链接sudo rm /usr/lib/x86_64-linux-gnu/libstdc++.so.6
    • 创建新的链接sudo ln -s /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.28 /usr/lib/x86_64-linux-gnu/libstdc++.so.6

6.完成

Python 3.8.5 (default, Sep  4 2020, 07:30:14) 
[GCC 7.3.0] :: Anaconda, Inc. on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import torch
>>> import basicsr
>>> 

你可能感兴趣的:(环境配置,论文复现,超分,ubuntu,python,pytorch,图像处理)