ubantu系统输入法加NVIIDIA+cuda

2019-03-22  本文已影响0人  cy247706243

双系统win10+ubantu系统卸载ubantu:如果电脑时GPT分区,则下载EasyUEFI按照教程进行删除(直接打开软件就可以看到引导项,直接删除即可);

如果是MBR分区,则下载EasyBCD按照教程进行设置和删除。

安装ubantu系统时,分区方案为:1G给/boot,2~4G给/swap,其余45%给/home,45%给根目录 /

双系统安装ubantu需要在BIOS中设置secure boot为Disable。且注意:boot引导必须选择UEFI模式!!!(因为选择lagency模式重装,开机一直出现grub,修复也修复不好折磨了几天)

如果用U盘安装:安装时选择“try ubuntu without installation”模式安装;分区时第一个分区给/boot分区,且/boot分区为primary主分区、其他swap、/和/home分区为logical逻辑分区;install时候Device for boot loader installation一定要选择boot所在分区。

win10的“快速启动”会影响Grub开机引导过程,可能出现无法载入Ubuntu的状况,关闭掉“快速启动”。

cudnn官网帐号为:1577344973@qq.com密码为:XXXXXXXXX156@(XXX为经常用的密码+@)下载cudnn直接选择cuDNN Library for Linux

首先检测fcitx有没有安装,,然后检查在language中设置keyboard为fcitx

然后下载搜狗输入法,安装完成,(重启)

再在fcitx configuration中 选择+号, 取消掉only  show current  language, 就会出现sougou pinyin 选择即可

NVIDIA驱动安装

1.首先卸載掉此前安裝的驱动 :

sudo  ./NVIDIA-Linux-x86_64-410.93.run --uninstall或者 sh ./NVIDIA-Linux-x86_64-410.93.run --uninstall;(最直接有效的方法,前面是nvidia驱动名字后面加--uninstall)

或者sudo apt-get remove nvidia-* 或者sudo apt-get remove --purge nvidia*;

2.再禁用自带驱动

输入命令:sudo gedit /etc/modprobe.d/blacklist.conf

               #sudo vim /etc/modprobe.d/blacklist-nouveau.conf

在文件后添加blacklist nouveau

                        options nouveau modeset=0

#或者:blacklist rivafb

blacklist vga16fb

blacklist nouveau

blacklist nvidiafb

blacklist rivatv

更新:sudo update-initramfs -u 然后重启电脑,

检查:lsmod | grep nouveau   若无提示则被可以安装

2.安装驱动(台式机不进入tty也可以安装成功;

进入tty的方法:先执行sudo service lightdm stop,黑屏后出现字符后同时按住ctrl+Alt+F1,回到桌面的方法:sudo service lightdm start)

首先官网上下载对应版本驱动(可以修改为自己熟悉的名字,比如390.run)

然后赋予权限:sudo chmod a+x  ./390.run

安装:sudo ./418.run --no-opengl-files --no-x-check --no-nouveau-check  把前面的-改成--noopengl-files,相应的后面的也要改)

安装中提示Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 361.62?是否安装NVIDIA选择no,其他基本上都是accept和yes。

提示你nvidia-xconfig时,就视自己的电脑情况而定,如果电脑是双显卡(双独显集显和独显)就选择不安装,如果只有一个显卡就选择安装

若提示是否安装opengl文件时,一定选择no不要安装!!!

安装完后记得重启!(若不成功可能需要开机引导bios中设置)检查:nvidia-smi  nvidia-settings

比如提示Error:Unable to load the 'nvidia-drm' kernel module .

出现这个问题最有可能的原因是你安装的Ubuntu是UEFI模式启动的,但是在BIOS中却打开了Security BOOT选项。 正确做法是禁用该选项,即注意ubantu的安装时候的模式和BIOS中的选项。

之前笔记本安装NVIDIA驱动一直报错,解决方法是:

首先驱动选择笔记本专用驱动(notebook);开机进入BIOS,在security选项下(如果boot选项中的BooT Mode是UEFI,则security选项中不会出现secure boot项),把secure Boot改为Disable,然后在Boot选项中:

把Boot Mode项选择UEFI(lagency是个坑!!!)再在tty模式下安装NVIDIA驱动。

3.安装cuda和cudnn

(有种说法是anaconda自带cuda和cudnn,或者安装tensorflow的GPU版本后【原理也是通过canda安装而不是pip安装】,不需要安装cuda,也尝试过没有成功)

当前能成功的是用pip安装的tensorflow和cuda用官网下载的版本,需要注意的是,cuda和cudnn的组合和tensorflow版本相对应,比如

CUDA和CUDNN安装(cuda10.1需要进入tty模式才能安装成功,先按住ctrl+alt+F1进入tty模式,登录后输入sudo service lightdm stop,安装完成后输入sudo service lightdm start)

cuda卸载:sudo /usr/local/cuda-10.1/bin/cuda-uninstaller

sudo/usr/local/cuda-9.0/bin/uninstall_cuda_9.0.pl

sudo rm -rf /usr/local/cuda-9.0/

首先安装cuda运行sudo  ./cuda_10.1.168_418.67_linux.run

(1)下载并执行.run文件(可以改名),记住1.不要安装nvidia驱动,2.最好安装在默认位置下

(2)设置环境变量:sudo vim ~/.bashrc

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

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

使生效:source ~/.bashrc

安装cudnn【此时你的/usr/local/cuda/lib64文件夹肯定有libcudnn.so  libcudnn.so.7  libcudnn.so.7.0.5三个文件,这时你需要把libcudnn.so.7  libcudnn.so.7.0.5 这两个删除(或者只删除 libcudnn.so.7,我没这么做),然后再去你下载好的cudnn文件夹那里把libcudnn.so.7.0.5这一个文件复制过来,并赋予权限并创建软连接】

先解压cudnn-9.0-linux-x64-v7.1-2.tgz,然后切换到刚刚解压出来的文件夹路径

cd cuda (cudnn解压后的文件夹名)

#复制cudnn.h到cuda安装文件夹中的include文件夹下(记得转到include文件里执行下面命令)

sudo cp include/cudnn.h /usr/local/cuda/include/  

#复制lib64中的libcudnn*动态链接库至cuda安装文件夹中的lib64文件夹(记得转到lib64文件里执行下面命令)

sudo cp lib64/*  /usr/local/cuda/lib64/

#设置权限(获取所有和阅读权限)

sudo chmod a+r /usr/local/cuda/include/cudnn.h

sudo chmod a+r /usr/local/cuda/lib64/libcudnn*

更新软连接(dudnn版本安装冲突情况下)

报错:ImportError: libcublas.so.9.0: cannot open shared object file: No such file or directory

找不到cudalib.so文件的话,执行:sudo ldconfig /usr/local/cuda/lib64

还有种可能是tensorflow安装的版本不一致导致的,比如cuda10.1要求tensorflow的版本为1.12.0至少,不然它自己会寻找libcuda.so.9.0的动态链接,而安装tensorflow1.12.0版本不会报错.

(sudo ldconfig /usr/local/cuda-10.1/lib64命令的意思是以超级权限执行动态链接库管理命令,让lib64下的动态链接库为系统所共享,这样就可以解决找不到动态链接库libcuda.so的错误)

备注(好像不是必须的)

先进入lib64文件夹:cd /usr/local/cuda/lib64/

sudo rm -rf libcudnn.so libcudnn.so.7  #删除原有动态文件,版本号注意变化,可在cudnn的lib64文件夹中查看

sudo ln -s libcudnn.so.7.1.2 libcudnn.so.7  #生成软衔接(注意这里要和自己下载的cudnn版本对应,可以在/usr/local/cuda/lib64下查看自己libcudnn的版本)

sudo ln -s libcudnn.so.7 libcudnn.so #生成软链接

sudo ldconfig -v #立刻生效

补充:关于nvidia-smi中的CUDA 版本与nvcc不一致。

其实是因为CUDA 有两种API,分别是 运行时 API 和 驱动API,即所谓的 Runtime API 与 Driver API。命令Nvidia-smi显示的是 CUDA Driver API的型号( CUDA Driver API是依赖于 NVIDIA 驱动 安装的)。而nvcc的结果是对应 CUDA Runtime API。

网络连接

ubantu系统突然不能连接网络,或是系统新装好不能连接网络,标志为:网线能用;ifconfig没有eth0项;网络连接logo一直在尝试连接;

可以在网络设置下,选择Edit connections,然后对Wired connecions选择Edit,在IP4 Settings下,配置address地址、Netmask子网掩码、Gateway默认网关,然后在DNS servers中填写一个区别ip4地址中的地址,比如ip4地址为192.168.100.168,该选项中填写192.168.100.68,点击save。

上一篇下一篇

猜你喜欢

热点阅读