python3.7安装opencv失败 cuda10.0_ubuntu16.04 安装CUDA10.2+pytorch1.5.0+cudnn7.6.5+python3.5+opencv4.3(...

一. 安装nvidia 驱动: B9 V7 c5 z( i' V1 D! m6 Z' |

2 p! f+ a8 a1 l( }. n: l! k( Y

下载离线安装包 NVIDIA-Linux-x86_64-440.82.run1 r) _8 J; ?, ^% Q; o/ }7 ^9 ]1 N

1.禁用nouveau:命令如下:

% Q0 @) O  s/ [" H6 i  ~1 f5 @6 r& R1 M; \* e3 {2 K4 a

sudo chmod 666 /etc/modprobe.d/blacklist.conf

! \5 U9 Z( Z* T! y' H! r7 Ysudo vim /etc/modprobe.d/blacklist.conf

" L9 a1 i) ^& C; p6 C# o5 d2.在最后面添加如下代码:7 @5 y* L, h3 [' Q6 {; D2 w

d6 z" ^4 h- S$ w8 R- N0 V

blacklist nouveau

6 X, E; T; |1 [% vblacklist lbm-nouveau

! v0 p2 z3 E6 _& O! ^options nouveau modeset=0

$ |. y/ @) t5 z" |9 ealias nouveau off

( `7 g* T6 L2 i- H# s2 e# N1 L0 Nalias lbm-nouveau off( I  S0 ?: Q. Z+ C4 q

3.然后保存(esc键,然后shift键+:键,然后输入wq,回车)& V% ]: c1 x/ I& c& L* i& E

- g6 T7 X! Y4 g3 K1 M9 b

为了保证完全禁用掉,还要在内核中直接禁用Nouveau:

4 Y8 {  c. y4 h* S( M) ~8 z命令如下:

' e3 G/ I" k1 ~1 w! z3 k& l$ ^echo options nouveau modeset=0 | sudo tee -a /etc/modprobe.d/nouveau-kms.conf

" m% ?0 R* Y: u完成后再把权限改回出来,命令如下:9 E/ ]0 U- [: u+ `  C5 T- z, K) e% S

sudo chmod 644 /etc/modprobe.d/blacklist.conf: H: z8 S5 z7 S

这之后,更新配置试生效,命令如下:6 X& N9 T. H! y3 x

sudo update-initramfs -u

, S9 L3 F) R, c4.重启:sudo reboot

% Z2 b; _' V) p+ V( o: z3 N! a2 {; c; T5 u0 m) b

重启完成后,我们需要关闭图形界面,如果没有关闭图形界面,开始安装,测试时会报错。

% K' g2 v% Y: d0 t- Bctrl+alt+f1 切换到终端界面' {5 F. r- X5 @# p2 J% \0 G

关闭图形界面命令如下:

" G, F* w& n2 @; `+ o1 s- p! t/ Z$ G) d

service lightdm stop

% V& t/ W4 u# r9 ]& \4 Q7 K5. 开始安装

; I3 t0 s3 H( `

! Q3 N: U: r, Q; Msudo ./NVIDIA-Linux-x86_64-440.82.run -no-x-check -no-nouveau-check -no-opengl-files' W# C7 W- f' o9 L1 Z* i, r

安装完成$ @& D1 y: \' b1 F! h1 t

二. 安装cuda

; H0 E0 Z. i! P1 u/ q* ~

p/ |  {8 d; V  |0 j3 ?% r下载离线安装包  cuda_10.2.89_440.33.01_linux.run

4 Q' i2 A! t' ~" \4 t: c. `3 ^4 Psudo ./cuda_10.2.89_440.33.01_linux.run

4 d+ Z; [; O( [1 U开始安装

: `( m( X( _8 C; P3 Faccept

7 O' W0 X0 f" y2 J取消选中驱动安装

$ e# U: E% W! E' N5 ]; Ginstall 完成# x) ^& ?  `: m

查看是否安装成功' p$ I+ Q" r% n2 g

nvidia-smi4 P: y$ F) d( H, m  T

下一步,配置变变量环境:

; y1 I9 V: R; v% j0 w3 O/ t) O执行命令:

$ l  i* S. w( u% A. L; T. Evim ~/.bashrc

$ h: w/ H# g+ K4 d" v4 B. {添加如下代码:

& U* ^4 a9 X) i( t- g* {export PATH=/usr/local/cuda-10.2/bin${PATH:+:${PATH}}export LD_LIBRARY_PATH=/usr/local/cuda-10.2/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}然后保存" E7 M+ Z4 g" h3 c7 O( b2 y2 f

输入命令:

1 V( f4 y& H' I# Lsource ~/.bashrc8 a, {' _2 D3 e, i

重启:! m" E) T0 N: S# l. B1 i

sudo reboot

: h; _9 m# t: T3 c3 F3 b: E! V开始测试cuda是否安装成功:7 ~  C  {' ~2 @

命令如下:1 t" W9 M0 F& Y/ H

cd /usr/local/cuda-10.2/samples/1_Utilities/deviceQuery4 O" `$ K) q0 n1 m) u

sudo make

/ Q0 a) L/ O& `- }/ o! D./deviceQuery

- P/ O: B% T9 a三. 安装cudnn5 @5 R6 i; S) b$ ^1 X# @$ g' h

, ^6 w+ {7 H( A4 [下载离线安装包

& T3 n1 f6 K9 D( I' k8 r6 Hhttps://developer.nvidia.com/cudnn0 {1 \$ k1 y& a# L

libcudnn7_7.6.5.32-1+cuda10.2_amd64.deb

% r. k, W7 x( P& P; A/ f: ~libcudnn7-dev_7.6.5.32-1+cuda10.2_amd64.deb* {) y' T- d- Y: t1 K

libcudnn7-doc_7.6.5.32-1+cuda10.2_amd64.deb

( g' o) M0 f: X1 T3 W$ O8 H# Ysudo dpkg -i libcudnn7_7.6.5.32-1+cuda10.2_amd64.deb7 y* R" C- E9 |% w2 d+ e) z

sudo dpkg -i libcudnn7-dev_7.6.5.32-1+cuda10.2_amd64.deb& C4 Q- n; h; e% \3 }, v

sudo dpkg -i libcudnn7-doc_7.6.5.32-1+cuda10.2_amd64.deb

: p/ f0 }( C$ ^& ]四. 安装conda

& v4 o$ Q$ n& y. l) e2 y6 J! d' C1 ~" [8 r

下载 Anaconda3-4.2.0-Linux-x86_64.sh

3 ^, k; U0 g+ e7 Ohttps://repo.continuum.io/archive/Anaconda3-4.2.0-Linux-x86_64.sh

" w! z) @. I8 }$ o, b" O安装bash Anaconda3-4.2.0-Linux-x86_64.sh- W/ z& J5 R" F: O8 L

一路安装... 并加入环境变量

3 a1 ?9 ~! H; h五. 离线安装pytorch+torchvision

: f1 U( B- A( j9 _% T

' e. _) h1 z" z; L0 X2 ]下载离线安装包 pytorch-1.5.0-py3.5_cuda10.2.89_cudnn7.6.5_0.tar.bz21 L0 O: y' w7 q# i, `

https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/0 m2 S2 |7 ]9 J4 E& }, Q. P/ G' B

下载离线安装包 torchvision-0.6.0-cp35-cp35m-linux_x86_64.whl; e9 U  ^& ^( w( i; _; \" z0 e4 S

https://download.pytorch.org/whl/torch_stable.html

; ^) `- \" }2 G3 c1. 安装torch, ~+ s3 ~: A3 e" f

6 F/ x( }4 H" `3 U5 x. N* c在同一文件夹下运行:

_) z+ O: m) Z9 |conda install pytorch-1.5.0-py3.5_cuda10.2.89_cudnn7.6.5_0.tar.bz2! u1 a3 d/ N4 H/ u

2. 再安装torchvision :

4 Y! A2 Y8 B1 E4 h& e7 C5 s/ F7 h3 {9 _) l

conda install torchvision 最终失败

5 ?6 q6 o- i; \! k' U/ ^9 y' Z3 i通过 pip install torchvision 安装也失败( R) |0 p4 \- M4 X( h) ]& L! ~

最后还是通过离线安装; o  q/ \, `5 J$ ]* p

conda install torchvision-0.4.2-py35_cu101.tar.bz2E- e! h& `5 d* _4 t, t

安装Pytorch之后,输入import torch,出现ImportError: libmkl_gnu_thread.so: cannot open shared object file: No such file or directory. h" \: ], `$ ]" D" W5 C; E

9 x1 ?) Z- ]/ A% H首先,尝试把相关的so文件添加到路径里,ldconfig 更新一下,不能解决问题.

' j2 q5 M0 L3 n) [3 X# J1.使用如下命令debug一下

# b. p. v1 ^2 H6 q6 l9 d8 j0 gconda install --debug mkl

& G1 n/ R% z; D2.使用如下命令重新装一下mkl包

6 I7 J& c7 Y+ G, N. ^- O4 mconda install mkl

. d0 U( a7 x3 a0 c# m) }* P原文链接:https://blog.csdn.net/qq_22704577/java/article/details/539280590 ?9 h0 q& V$ [7 W+ z& j

测试

; Q( a3 M5 G* S+ b% l9 e1 h+ f5 i/ p

, ]7 V# d2 _' t5 }' f- n进入python交互式环境

B( Z: j& t8 J* Y  Wpython+ Q$ x! o. [* i# v6 ^2 W/ x$ G) D1 X; B

import torchprint(torch.__version__) 六 opencv安装+ c; Y) S# ?% {0 p' Q

7 Y3 r4 Y- d8 O. e& ^. _

安装依赖/ d  F; ]) H9 O' s3 L% J% P

9 a+ M" q' l) Q$ c

必须要安装的依赖,通过命令安装:' z; t1 [% k# N2 D2 y" C' e, A

sudo apt-get install build-essential cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev如果需要其他的功能,还需安装一些,命令:

0 Z8 z  B$ \4 rsudo apt-get install python-dev python-numpy python3-dev python3-numpysudo apt-get install libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev安装OpenCV

8 K: M' T, T) ?

4 z! m0 N& s! q" S! X! ^下载OpenCV的安装包,下载Sources包,opencv-4.2.0.tar.gz 解压:

% ~6 G& O4 l* Q. K( Ptar -zxvf opencv-4.2.0.tar.gz2 D" g$ R; h) m; X( S0 ~% ~

在解压的文件夹里新建一个文件夹用来编译OpenCV:

2 L6 w' a6 ~2 @; Q( G5 u# icd opencv-4.0.1mkdir releasecd release然后在新建的这个文件里运行cmake:( O3 X& Q/ y' I) Q: q! E2 M

cmake -DCMAKE_BUILD_TYPE=Release \-DOPENCV_GENERATE_PKGCONFIG=ON \-DCMAKE_INSTALL_PREFIX=/usr/local ..OpenCV4默认不生成.pc文件,OPENCV_GENERATE_PKGCONFIG=ON才会生成。

- c. z8 J, z2 x& k9 D! c之后就是编译和安装了,我的电脑是四核八线程,可以运行make -j8,但我不想编译时影响我工作,所以用-j7,如果是四核可用make -j4。

! t" N/ O! Y! [6 Z. x& P  e. X7 P& xmake -j7sudo make install如果你安装了python-dev,这时Python应该可以使用OpenCV了,在终端输入python,可以查看OpenCV版本:

8 x4 R& }" Y" C3 L$ python >>> import cv2>>> cv2.__version__'4.0.1'>>> 通过,安装Python-OpenCV解决/ {" A7 T, c  N

pip install opencv-python$ J3 u$ B- @! w$ Z7 M

之后就是配置c++了,先在/etc/ld.so.conf.d/文件夹下新建一个opencv4.conf,里面写入/usr/local/lib。

% I% S) X2 O5 ]) W3 ^4 y+ O/ icd /etc/ld.so.conf.d/sudo touch opencv4.confsudo sh -c 'echo "/usr/local/lib" > opencv4.conf'更新pkg-config:" j  y3 u6 a8 ?. y

sudo ldconfig9 {" _/ H9 T' `, L

解决报错1:darknet-yolo:fatal error: opencv2/opencv.hpp: No such file or directory4 K7 i) D  x! Z* s4 Q

6 O. z# G8 g# L3 S* \, msudo apt install libopencv-dev4 y6 j7 t9 p6 H1 n4 E$ t

解决报错2:/bin/sh: 1: nvcc: not found make: *** [obj/convolutional_kernels.o] Error 127! O7 l1 a; W" `

/ H9 \; |7 j8 c1 q; l

修改makefile+ t7 \. P, q7 I% f4 G5 C

NVCC = /usr/local/cuda-10.2/bin/nvcc解决报错3:cuda error: out of memory darknet: ./src/cuda.c:36: check_error: Assertion `0' failed# H1 d3 c7 c+ a( U* ]

* K( `/ H2 V% X那么,修改cfg文件夹下的yolov3.cfg文件,原始的yolov3.cfg文件开头为:

7 O5 v* |, A! p1 g[net]# Testing#batch=1#subdivisions=1# Trainingbatch=64subdivisions=16修改为:( F) h1 P. }- h/ s1 g7 f

[net]# Testingbatch=1subdivisions=1# Training#batch=64#subdivisions=168 c8 S; {. }/ U# q) ]1 C. ~0 D

Java吧 收集整理 java论坛 www.java8.com

你可能感兴趣的:(cuda10.0)