天天看點

mmdetection訓練資料遇到的問題1 Permission denied2 cuda 問題3 not in the sudoers file4 ASSERT5 no commands supplied6 FileNotFoundError

原文連結

1 Permission denied

報錯:

-bash: ./compile.sh: Permission denied

沒有操作權限,改為賦予最高權限(777):

chmod 777 compile.sh
           

2 cuda 問題

報錯:

unable to execute '/usr/local/cuda-9.0/bin/nvcc': No such file or directory

error: command '/usr/local/cuda-9.0/bin/nvcc' failed with exit status 1

找不到cuda下nvcc檔案,需要找到自己的nvcc檔案所在地,然後輸入:

./compile.sh \ --export CUDA_HOME=/usr/local/cuda-8.0/bin
           

如果還不行,需要檢視一下是否有nvcc:

nvcc --version
           

2.1 nvcc正常

若nvcc正常,設定cuda路徑首先執行:

sudo vim ~/.bashrc
           

設定為:

export PATH=/usr/local/cuda-9.0/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH
           

然後執行:

sudo vim /etc/profile
           

末尾添加:

export CUDA_HOME=/usr/local/cuda-9.0
export PATH=/MATLAB/R2016b/bin:/usr/local/cuda-9.0/bin:/anaconda3/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64:$LD_LIBRARY_PATH
           

然後執行

source /etc/profile
           

使連結生效

2.2 command not found

報錯:

-bash: nvcc: command not found

應該安裝nvcc:

sudo apt-get install nvidia-cuda-toolkit
           

報錯:

E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?

更新apt-get update:

sudo apt-get update
           

報錯:

Failed to connect to nvidia.github.io port 443: Connection timed out

2.2.1 修改源

則應該修改源:

(1)修改前先做備份:

sudo cp /etc/apt/sources.list /etc/apt/sources.list.old
           

(2)打開sources.list檔案:

sudo vim /etc/apt/sources.list
           

替換為其他源:

清華源:

# deb cdrom:[Ubuntu 16.04 LTS _Xenial Xerus_ - Release amd64 (20160420.1)]/ xenial main restricted
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial main restricted
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates main restricted
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial universe
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates universe
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security main restricted
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security universe
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security multiverse
           

阿裡源:

# deb cdrom:[Ubuntu 16.04 LTS _Xenial Xerus_ - Release amd64 (20160420.1)]/ xenial main restricted
deb-src http://archive.ubuntu.com/ubuntu xenial main restricted #Added by software-properties
deb http://mirrors.aliyun.com/ubuntu/ xenial main restricted
deb-src http://mirrors.aliyun.com/ubuntu/ xenial main restricted multiverse universe #Added by software-properties
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted multiverse universe #Added by software-properties
deb http://mirrors.aliyun.com/ubuntu/ xenial universe
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates universe
deb http://mirrors.aliyun.com/ubuntu/ xenial multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse #Added by software-properties
deb http://archive.canonical.com/ubuntu xenial partner
deb-src http://archive.canonical.com/ubuntu xenial partner
deb http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted multiverse universe #Added by software-properties
deb http://mirrors.aliyun.com/ubuntu/ xenial-security universe
deb http://mirrors.aliyun.com/ubuntu/ xenial-security multiverse
           

2.2.2 修改 nameserver

修改/etc/resolv.conf檔案為:

nameserver 8.8.8.8
nameserver 4.2.2.2
           

3 not in the sudoers file

報錯:

××× is not in the sudoers file. This incident will be reported.

1.切換到超級使用者root:

su root
           

2.檢視/etc/sudoers權限:

ls -all /etc/sudoers
           

可以看到目前權限為744:

-r--r----- 1 root root 744 4月 16 20:36 /etc/sudoers

3.更改權限為777(表示允許操作):

chmod 777 /etc/sudoers
           

4.編輯/etc/sudoers:

vi /etc/sudoers
           

5.在root ALL=(ALL:ALL) ALL 下面添加一行:

XXX    ALL=(ALL)ALL
           

其中

XXX

表示目前使用者名

6.把/etc/sudoers權限改回440:

chmod 440 /etc/sudoers
           

然後就可以切換回自己的使用者操作了

4 ASSERT

報錯:

ASSERT: "false" in file qasciikey.cpp, line 501

OpenCV版本不對,沒有裡面沒有tracker。安裝contrib的OpenCV:

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple opencv-contrib-python
           

如果提示使用

--user

pip install --user -i https://pypi.tuna.tsinghua.edu.cn/simple opencv-contrib-python
           

5 no commands supplied

報錯:

no commands supplied

應該将

python setup.py

改為

python setup.py install

6 FileNotFoundError

報錯:

[Errno 2] No usable temporary directory found in ['/tmp', '/var/tmp', '/usr/tmp', /home/snowstorm/mmdetection']

磁盤空間已滿,清理空間。