专栏首页我的深度学习笔记ubantu系统输入法加NVIIDIA+cuda
原创

ubantu系统输入法加NVIIDIA+cuda

双系统win10+ubantu系统卸载ubantu:首先应知道自己的电脑分区格式(自行百度GBT和MBR分区)。

如果电脑是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 Library for Linux网站:https://developer.nvidia.com/rdp/cudnn-archive。

输入法的安装也应该按步骤来,首先检测fcitx有没有安装(没有安装的更新安装,更新中遇到问题详细见另外一篇apt-get报错和dpkg报错),然后检查在language中设置keyboard为fcitx,重启。

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

再在fcitx configuration中 选择+号, 取消掉only  show current  language, 就会出现sougou pinyin 选择,为了直接使用搜狗输入法的中英文,建议在Text Nntry中添加sougou后,把english(us)用”-“号去掉,再在sougou中设置中英文切换即可。

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

(10.0版本及以下):sudo/usr/local/cuda-9.0/bin/uninstall_cuda_10.0.pl

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

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

注意:在提示是否install symbolic link的时候,即是否创建软连接时候,可以直接选择no,此时/usr/local/下不会生成cuda文件夹,而在复制cudnn的时候直接复制进如/usr/local/cuda-9.0/文件夹下即可(参考非root安装cuda)。

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

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

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

(LD_LIBRARY_PATH环境变量用于在程序加载运行期间查找动态链接库时指定除了系统默认路径之外的其他路径,这样就可以让需要调用cuda时,找到神经网络加速库.so文件了)

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

( “PATH=$PATH:路径”可以把这个路径加入环境变量)

使生效:source ~/.bashrc

安装cudnn

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

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

#复制cudnn.h到cuda安装文件夹中的include文件夹下

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

#复制lib64中的libcudnn*动态链接库至cuda安装文件夹中的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版本安装冲突情况下)

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

找不到cudalib.so文件的话,执行:sudo ldconfig /usr/local/cuda-9.0/lib64(注意自己cuda版本)可能又出现报错,提示:/usr/local/cuda-10.0/lib64/libcudnn.so.7 is not a symbolic link,此时组要删除文件夹中的文件sudo rm -rf libcudnn.so libcudnn.so.7,然后通过建立软链接,使得.so文件指向.so.7最终指向cudnn加速库.so.7.4.2。

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

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

报错2:Could not load dynamic library 'libcudart.so.10.0'; dlerror: libcudart.so.10.0: cannot open

一般出现在conda的base环境未安装tensorflow-gpu,直接创建虚拟环境,并在虚拟环境中使用tensorflow-gpu,导致cudatoolkit未安装。因为conda安装了Cuda的子集,专门用于pytorch和tensorflow使用,比如:torch默认先找/usr/local/cuda(为什么安装的时候,提示生成一个软连接,这样就可以让程序通过访问usr/local/cuda来访问目标文件夹比如usr/local/cuda-10.0,而且cuda-10.0文件夹之前已经export为全局变量了,这样可以让),找不到才找conda的安装的cuda子集)一旦找不到这个文件目录,就会报错。解决办法:conda install cudatoolkit

补充:ubantu的软硬链接和.so文件以及环境变量

简单理解:

(1)硬链接可认为是一个文件拥有两个文件名;而软链接则是系统新建一个链接文件,此文件指向其所要指的文件,创建软连接如:ln -s 原始文件或文件夹 目标文件或文件夹,比如神经网络共享动态库,一般是.so连接到.so.7,然后.so.7再连接到cudnn的.so.7.4.2。

(2).so文件就是共享动态库,一般是 名字.版本.so的格式,名字代表了动态库是哪个工程生成的。

(3)环境变量是在操作系统中一个具有特定名字的对象,它包含了一个或者多个应用程序所将使用到的信息,即bash可以顺着PATH变量找到命令或者程序的位置而快速打开文件目录。

命令 “PATH=$PATH:路径”可以把这个路径加入环境变量,配置环境变量时有两个文件可 选:“/etc/profile”和用户主目录下的“.bash_profile”,“/etc/profile”对系统里所有用户都有效,用户主目录下 的“.bash_profile”只对这个用户有效。

在 /etc/profile文件中设置,export的意思就是将局部变量设置为环境变量

关于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。

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • docker安装和使用

    当前已经安装了nvidia418驱动和cuda9.0,需要添加cuda至环境变量:

    用户7625592
  • dlib和imglab数据集标签工具

    首先从官网下载dlib,或者从gittub上:https://github.com/davisking/dlib

    用户7625592
  • docker离线安装

    参考:https://www.cnblogs.com/atuotuo/p/9272368.html

    用户7625592
  • 树莓派定制为无线便携监控摄像头

    将树莓派定制为无线便携监控摄像头,插上USB摄像头,插上USB wifi,然后将摄像头的数据编码,将编码后的数据推流至流媒体服务器,其他人就可以通过流媒体服...

    用户3765803
  • PHP-运算符

    cwl_java
  • 隐马尔科夫模型 和动态贝叶斯网络

    (一):定义及简介: 介绍(introduction) 通常我们总是对寻找某一段时间上的模式感兴趣,这些模式可能出现在很多领域:一个人在使用电脑的时候使用的命...

    机器学习AI算法工程
  • python函数参数

    py3study
  • CentOS安装 gitlab 11.1.4版本汉化

    git clone https://gitlab.com/xhang/gitlab.git

    24-丰总
  • ospfv3 认证配置

        ospfv3是基于ipv6的路由协议,因为IPV6本身的IPSEC安全特性,OSPFV3本身就已经没有再带安全认证功能,这一功能由IPV6协议来完成。

    py3study
  • 【Go API 开发实战 4】Go API 开发环境配置

    Go 有多种安装方式,比如 Go 源码安装、Go 标准包安装、第三方工具(yum、apt-get 等)安装。本教程 API 运行在 Linux 服务器上,选择通...

    腾讯技术工程官方号

扫码关注云+社区

领取腾讯云代金券