pyinn安装

pyinn安装

在使用convcrf【https://github.com/MarvinTeichmann/ConvCRF】包的时候需要依赖pyinn【https://github.com/szagoruyko/pyinn】这个包,在pyinn安装是总是出现cupy安装问题,记录一下如解决:

问题

首先问题就是找不到合适的cupy版本,但是我们可以自己手动安装成功,但是安装版本和pyinn的setup.py中不一致,所以一直有错误。而且会出现pyinn包无法下载的问题。

解决

针对上面问题,我们将原网站安装命令进行拆解,原始命令:pip install git+https://github.com/szagoruyko/pyinn.git@master

拆解为:

1.手动下载pyinn包并解压

(这时候文件夹里往往有一个setup.py文件,但是有些时候并不能简单的python setup.py)

1.1 对setup.py进行修改

原文件下载的包:

    install_requires=[
        'torch',
        'cupy',
        # 'scikit-cuda',
    ]

因为我电脑使用的cuda11.1.0,所以cupy需要针对cuda版本进行下载安装,需要修改cupy版本,改为:

    install_requires=[
        'torch',
        'cupy-cuda111',
        # 'scikit-cuda',
    ]

2.在下载的文件夹下执行 :python setup.py sdist

3.然后会多出一个dist的文件夹,打开文件夹便可以看到一个打包好的你需要安装的项目xxx.tar.gz

4.然后再 pip install xxx.tar.gz ,到此安装完成

后续

安装成功后调用pyinn时也会报错:

import pyinn

Traceback (most recent call last):
  File ">", line 1, in >
  File "/home/mol/.local/lib/python3.6/site-packages/pyinn/__init__.py", line 1, in >
    from .ncrelu import ncrelu
  File "/home/mol/.local/lib/python3.6/site-packages/pyinn/ncrelu.py", line 2, in >
    from pyinn.utils import Stream, Dtype, load_kernel
  File "/home/mol/.local/lib/python3.6/site-packages/pyinn/utils.py", line 17, in >
    @cupy.util.memoize(for_each_device=True)
AttributeError: module 'cupy' has no attribute 'util'

解决办法:https://blog.csdn.net/Zhangrx _/article/details/115037500

由于pytorch版本升级,cupy更新后没有了util属性,因此将代码中的

@cupy.util.memoize(for_each_device=True)

改为:

@cupy.memoize(for_each_device=True)

代码所在位置就是报错中提醒的/home/mol/.local/lib/python3.6/site-packages/pyinn/utils.py

你可能感兴趣的:(ubuntu功能包安装,VIT,人工智能,pip)