【Anaconda】遇到的安装问题汇总

2023-05-16

一、下载模型

1、使用pytorch时,下载的预训练模型的默认保存地址为:

C:\Users\个人用户名\.cache\torch

如以下代码,从pytorch官网下载一些常用的预训练模型

import torchvision.models as models

resnet18 = models.resnet18()
alexnet = models.alexnet()
vgg16 = models.vgg16()
squeezenet = models.squeezenet1_0()
densenet = models.densenet161()
inception = models.inception_v3()
googlenet = models.googlenet()
shufflenet = models.shufflenet_v2_x1_0()
mobilenet = models.mobilenet_v2()
resnext50_32x4d = models.resnext50_32x4d()
wide_resnet50_2 = models.wide_resnet50_2()
mnasnet = models.mnasnet1_0()

# 如果需要下载预训练好的模型,添加pretrained=True即可
resnet18 = models.resnet18(pretrained=True)
alexnet = models.alexnet(pretrained=True)
squeezenet = models.squeezenet1_0(pretrained=True)
vgg16 = models.vgg16(pretrained=True)
densenet = models.densenet161(pretrained=True)
inception = models.inception_v3(pretrained=True)
googlenet = models.googlenet(pretrained=True)
shufflenet = models.shufflenet_v2_x1_0(pretrained=True)
mobilenet = models.mobilenet_v2(pretrained=True)
resnext50_32x4d = models.resnext50_32x4d(pretrained=True)
wide_resnet50_2 = models.wide_resnet50_2(pretrained=True)
mnasnet = models.mnasnet1_0(pretrained=True)

如果没有预先下载好预训练模型,在运行以上代码后,会自动下载到默认保存地址(国内网速慢,通常先手动下载预训练模型,放入制定或默认下载目录下)

可以pycharm控制台上输入以下代码,查看模型的存储路径:

import torch
torch.hub.get_dir()

如果要更改路径,有两种办法

① 当pretrained为True时,torch会调用 torch.utils 的 load_state_dict_from_url 函数,最终调用 torch.utils.model_zoo.load_url 函数。其中的参数 model_dir 就是设置的保存目录(默认使用环境变量TORCH_HOME,TORCH_HOME 默认为 ~/.cache 或 %USERPROFILE%.cache)

可以在下载模型前,在操作系统里修改环境变量TORCH_HOME的值(听说没用);
也可以在代码里临时添加对应的条目,对应的代码如下:

# 注意:在运行下面代码之后,重新加载模型时就会在这个目录下载和加载,
#      所以每次python重新启动都需要重新运行一遍以下代码。

import os

path = 'D:/JetBrains/models/vgg'
if not (os.path.exists(path)):
    os.makedirs(path)
for url in model_urls.values():
    download_model(url, path)

② 在 torch 安装路径下找到 hub.py,在文件中搜load_state_dict_from_url,找到如下代码:

def load_state_dict_from_url(urL, model_dir=Nond, map_location=None, progress=True):
# model_dir 即为下载模型的默认路径,将 model_dir = None 换成 model_dir = 想要的模型下载绝对路径即可。

但这种方法,需要每个虚拟环境中都设置,感觉还是没有很方便。

二、安装包相关

1、ERROR: pip’s dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.

在这里插入图片描述

这种很多的,可以把requires前的东西都按版本删了(比如transformers 3.4.0);
如果只有一两条,可以把requires后的东西按版本安装好

通过pip命令在安装包时经常会出现不兼容的提示,可以将本地pip版本进行升级后,再进行尝试安装:

python -m pip install --upgrade pip

2、ModuleNotFoundError: No module named 'xxx’可能的解决方案大全:https://zhuanlan.zhihu.com/p/416872266

3、No module named torchcrf

pip uninstall torchcrf   #首先卸掉以前的torchcrf包
pip install pytorch-crf -i https://pypi.tuna.tsinghua.edu.cn/simple/   #再安装
# 再导入(from torchcrf import CRF)即可

4、pip install nltk 后仍有报错

在这里插入图片描述

先 pip install nltk;然后在github(https://github.com/nltk/nltk_data)上下载语料库;
下载后解压,把里面的packages文件名改成nltk_data,放在该放的路径下(错误提示里会给出路径,如上图最下,我放在了’D:\anaconda3\envs\pytorch_gpu\nltk_data’,这是我虚拟环境的路径)

5、pip install pyahocorasick==1.4.2 报错

在 https://pypi.org/project/pyahocorasick/ 下载对应版本,然后进到下载目录安装。

在这里插入图片描述

可能还是报错:Microsoft Visual C++ 14.0 or greater is required. Get it with “Microsoft C++ Build Tools”
用微软账号登录 https://my.visualstudio.com/Downloads/Featured?mkt=zh-cn 下载如图:

在这里插入图片描述

解压后双击其中的.exe文件,默认安装即可(我是自定义,也装到C盘了,唉3.12GB),再装就成功了。

6、TypeError: CharBiLSTH.forward: netunn type ‘cclass ‘torch.Tenson’>’ is not a 'class ‘NoneType’> ’

在这里插入图片描述

可以看到报错中,有环境里overrides文件夹下的问题,更改overrides版本为 3.1.0 即可(pip uninstall overrides、pip install overrides==3.1.0)

7、ValueError: tensorflow.__ spec__ is None 类似,以及下面这个报错

在这里插入图片描述

可以看到报错中,有提及transformers的问题,更改transformers版本为 3.4.0 即可(pip uninstall transformers、pip install --user transformers==3.4.0)

8、pip install dgl 后报错

在这里插入图片描述在官方网站(https://www.dgl.ai/pages/start.html)中寻找对应版本的命令,如cuda11.6对应的命令为:pip install dgl-cu116 dglgo -f https://data.dgl.ai/wheels/repo.html

三、OSError 等系统?问题

1、OSError: Windows requires Developer Mode to be activated, or to run Python
以管理员身份运行使用的代码编译器。

2、ERROR: Could not install packages due to an OSError: [WinError 5] 拒绝访问
把 pip install 改成 pip install --user
但是 pip uninstall 不能用这个办法,可以修改 anaconda安装目录 以及其中的 python.exe 的user权限(我修改了,但有时还是报错,未解决,,但似乎不管它也可以)

3、0verflowError : Python int too large to convert to c long
点击报错最后的蓝色部分,自动跳转到错误行,把其中的 “sys.maxsize” 改为 “2**31-1” 即可(系统默认的太大,改成可以接受的大小)。

四、pytorch相关

1、ERROR: pip’s dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
报以上冲突,直接改版本号(看具体情况)比如 torchvision 0.12.0 requires torch==1.11.0, but you have torch 1.12.1 which is incompatible. 直接 pip install torch 1.11.0

这个版本是可以的:pytorch 1.11.0、torchvision 0.12.0、torchaudio 0.11.0、cudatoolkit 10.2/11.3

2、RuntimeError:‘lengths’ argument should be a 1D CPU int64 tensor,but got 10 cuda:0 Long tensor

在这里插入图片描述

点击报错最后的蓝色部分,自动跳转到错误行,把其中的 “lengths” 改为 “lengths.to(“cpu”)” 即可。

四、其他报错

1、无法启动bert-serving

之前都不知道只是啥东西,总体需要三步:

  • 在 anaconda prompt 中进入当前使用的环境进行安装:pip install bert-serving-server、pip install bert-serving-client
  • 下载模型并解压,如 cased_L-12_H-768_A-12
  • 在所用编辑器的Terminal中启动:bert-serving-start -model_dir 模型所在目录 -cpu

在这里插入图片描述

tensorflow可以和pytorch共存?!!!
因为 bert-serving 支持版本较低(cuda11.不可),所以装cpu版本的 pip install tensorflow 1.15.0【要在命令后加-cpu】,配套需要 pip install numpy 1.16、scipy 1.4.1(不改也行,warning会很多)

bert-serving启动到一半没有反应:

在这里插入图片描述

使用绝对路径就没事了【注意目录要用 \ 而不是/ 】:
bert-serving-start -model_dir D:\JetBrains\PycharmProjects\XXX\tmp\cased_L-12_H-768_A-12 -max_seq_len NONE -pooling_strategy NONE -cpu

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【Anaconda】遇到的安装问题汇总 的相关文章

随机推荐