添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
首发于 代码相关

记录碰到的bug以及解决方案(持续更新)

已经解决的BUG

latex相关

【0】

出现这种情况可能是因为overleaf左侧菜单这里的版本设置有问题,比如:

2022改成了2021就好了

【1】

没显示出错误在具体哪一行,但是估计是引用的问题

加入下面这句话之后好了

\bibliographystyle{apalike]



python相关

【0】

问题:用地图编辑器修改星际的地图,但是用pymarl加载的时候报错:

原因:linux和windows的星际争霸2版本不一样,导致使用windows星际争霸地图编辑器设计的地图不能直接在linux环境上用

解决方法:下载 zezula.net/en/mpq/downl 里面的mpqeditor,把 t3Terrain.xml中的115改成114

参考:这个issue github.com/deepmind/pys

【1】

明明安装了包但是import不到

解决方法:添加python path

export PYTHONPATH=/home/chenhao/anaconda3/lib/python3.6/site-packages:$PYTHONPATH

【2】

ImportError: /usr/lib/python3.6/lib-dynload/_ctypes.cpython-36m-x86_64-linux-gnu.so: undefined symbol: _PyUnicode_AsWideCharString

我是在执行 github.com/starry-sky66 中的

python main.py --map=3m --alg=qmix 语句的时候报错的

把python换成python3就可以消除这个错误:python3 main.py --map=3m --alg=qmix

【3】

(1)pip uninstall enum34

(2)万一用不了pip,可直接删掉\Lib\site-packages\enum打头的两个文件夹即可!

【4】

需要修改SC2PATH

export PATH=/home/chenhao/pymarl/3rdparty/StarCraftII/:$PATH

export PATH=/home/chenhao/StarCraftII/:$PATH

【5】

段错误:内存不足导致的

【6】

用管理员权限安装了pip3 之后就好办了

# Install python3 pip3

RUN apt-get update

RUN apt-get -y install python3

RUN apt-get -y install python3-pip

RUN pip3 install --upgrade pip

【7】

明明之前smac安了,但是识别不出来

解决方法:运行如下命令重装

RUN pip3 install git+ github.com/oxwhirl/smac

【8】

github.com/openai/multi

pip3 uninstall gym

pip3 install gym==0.10.5

【9】

Aborted (core dumped)

一般是关于内存异常: 详细解释 gdb使用 1.往受到系统保护的内存地址写数据 有些内存是内核占用的或者是其他程序正在使用,为了保证系统正常工作,所以会受到系统的保护,而不能任意访问。可能是因为其他用户正在跑程序,等他们不跑了试一试。

【10】

nvidia-smi的时候没有进程出现

解决办法:服务器没有装gpu版本的torch,只有cpu版本的,所以自然识别不出来cuda

Pip安装1.0.0版本的torch就可以了

python

import torch

torch.cuda.is_available()

【11】

不用sudo的情况下更新pip

/home/chenhao/anaconda3/bin/python -m pip install --upgrade pip

【12】

WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!

ssh-keygen -R 服务器地址

【13】

pkg_resources.DistributionNotFound: The 'wheel; python_version < "3"' distribution was not found and is required by the application

tensorboard版本不对,重新安装最新版的就可以了

【14】

ModuleNotFoundError: No module named 'torch'

Pip安装的torch(usr/lib/下面)跟我实际使用的python(conda)是在两个位置,因此pip3安装成功,但是conda却找不到。直接conda install troch会报错

之后去官网 pytorch.org/ 找到了官方下载命令

conda install pytorch torchvision torchaudio cudatoolkit=10.2 -c pytorch

【15】

服务器提示某个包报错,装不上,环境不匹配等

解决办法:从另一个正常运行的服务器上面复制一份过来,拷贝到

/home/chenhao/anaconda3/lib/python3.6/site-packages/

/home/chenhao/anaconda3/lib/python3.7/ site-packages/

【16】

"/home/xxx/anaconda3/envs/LIIR/lib/python3.6/site-packages/smac/env/starcraft2/starcraft2.py", line 292, in _launch
self._run_config = run_configs.get(version=self.game_version)
TypeError: get() got an unexpected keyword argument 'version'

解决办法: github.com/oxwhirl/pyma

SMAC requires that you use pysc2>=3.0.0. Please update it!

【17】

ModuleNotFoundError:没有名为“ numpy.testing.nosetester”的模块

升级scipy到更高版本。

pip install numpy==1.18

pip install scipy==1.1.0

pip install scikit-learn==0.21.3

【18】

明明在mac上安装了torch包,但是vscode运行代码的时候还是会报错

原因:本地有多个python环境

切换一下环境就好了

【19】

tmux用不了

github.com/tmux/tmux/is

本质原因:由于没有sudo权限导致无法建立文件夹,解决方案就是在自己的目录里面建立文件夹之后用$SHELL来刷新

【20】

mac上面vscode报错PermissionError: [Errno 1] Operation not permitted

原因:系统更新之后需要重新授予vscode完全的磁盘访问权限,并重启vscode。

【21】

Expected object of backend CPU but got backend CUDA for argument #4 'mat1'

解决办法:self.agent.cuda()

【22】

RuntimeError: Only Tensors created explicitly by the user (graph leaves) support the deepcopy protocol at the moment

原因:调用copy.deepcopy的时候出问题

解决办法:参考这个链接

【23】

IndexError: Dimension out of range (expected to be in range of [-2, 1], but got 2)

原因:少了一个维度,输入的是二维的,而人家需要的是三维的

注意区分使用矩阵乘法bmm和mm的时候有没有batch

【24】

No module named _internal.cli.main

别急着 下载get-pip.py ,先看看自己是不是输入的是pip install xx,之前安的pip3,换成pip3 install xx就好了

【25】

module 'torch' has no attribute 'square'

解决办法:手动改成两个相同元素做torch.mul

【26】

'float' object has no attribute 'item'

epymarl的q_learner的132行:grad_norm后面多加了.item()

明明原版的pymarl里面没加.item()的,epymarl里面加了,还报错

【27】

pycharm里面的file-setting-project-project structure-content root

新增content root等效于:

import sys

sys.path.append('/home/ChenHao/code/xx')

可以用于解决Windows环境和Linux环境关于添加运行路径的问题

【28】

pytorch ImportError: libprotobuf.so.9: cannot open shared object file: No such file or directory

动态链接库的问题

export LD_LIBRARY_PATH=/usr/local/lib

或者是在服务器自己的用户目录下新建文件夹,把对应的so文件放进去,如果名字不一样就用 ln -s 原始文件 新文件 来生成软链接,使得系统能读取到改目录下的so文件

【29】

报错:sessions should be nested with care, unset $TMUX to force

解决:unset TMUX

【30】

问题:解决每次打开终端都需要source .bashrc

解决方案:编辑默认目录下面的.bash_profile文件(在mobaxterm里面默认是隐藏文件),在文件结尾添加如下内容即可

if [ -f ~/.bashrc ]; then
    . ~/.bashrc                                                                                                                    
fi 

【31】

AttributeError: module ‘cv2‘ has no attribute ‘gapi_wip_gst_GStreamerPipeline‘

降低openc-python的版本:

pip install opencv-python==4.1.2.30

【32】
问题:DeprecationWarning: Using or importing the ABCs from 'collections' instead of from ' collections.abc ' is deprecated, and in 3.8 it will stop working

解决方案:把相关位置代码改为 import collections.abc as _collections

【33】

在构建模型的时候,一定不能在计算过程中直接对Tensor进行赋值,否则会导致autograph机制失效,导致模型无法通过后向传播更新参数。

【34】

StarCraft2Env' object has no attribute '_sc2_proc_list'

这个问题不一定是由于星际环境导致的,其他(自己写的)代码的bug也可能导致。错误原因多样。

【35】

AttributeError: 'NoneType' object has no attribute 'items'

错误原因比较多,可能是算法的参数输入有问题,比如

CUDA_VISIBLE_DEVICES=0 python3 src/main.py --config=xx --env-config=sc2 with env_args.map_name=3m 这种语句的参数在复制的时候出错,多了空格或者格式不对

【36】

ImportError: libpython3.6m.so.1.0: cannot open shared object file: No such file or directory

原因:libpython3.6m.so.1.0这个文件不存在

解决方案:查看/usr/lib/x86_64-linux-gnu/目录下是否存在libpython3.m.so.1.0文件,没有的话从别的服务器拷贝一份

【37】

undefined symbol: cublasLtGetStatusString, version libcublasLt.so.11

并不一定是因为出错了,可能是因为压根没装pytorch

PyTorch

【38】GPU突然报错

gpustat报错:

Error on querying NVIDIA devices. Use --debug flag for details

nvidia-smi报错:

Failed to initialize NVML: Driver/library version mismatch
NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver. Make sure that the latest NVIDIA driver is installed and running.

重启就可以:

sudo reboot

但是有一个服务器重启还是不行,尝试下面的方法之后修好了

【39】如何打开xx.parquet.gzip文件?

import pandas as pd
path = r"/home/xx.parquet.gzip"
a = pd.read_parquet(path)

【40】'Tensor' object has no attribute 'astype'

解决方法一:

import numpy as np
attn.astype(np.float32)
attn.numpy().astype(np.float32)

解决方法二:

import numpy as np