程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

ubuntu+anaconda3+python配置basicsr環境,真實有效

編輯:Python


活動地址: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 "<string>", 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
>>>


  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved