Ubuntu安装显卡驱动

ubuntu16.04 安装显卡驱动

首先下载驱动文件下载地址
在英伟达的官网上根据自己电脑的显卡型号然后下载相应的驱动
在这里插入图片描述

下载后可以将文件放到Home主文件夹(这样进入命令行就不需要再切换路径了),文件为:NVIDIA-Linux-x86_64-xxx.run

然后按照以下步骤安装
ubuntu 16.04默认安装了第三方开源的驱动程序nouveau,安装nvidia显卡驱动首先需要禁用nouveau,不然会碰到冲突的问题,导致无法安装nvidia显卡驱动。指令如下

$ sudo gedit /etc/modprobe.d/blacklist.conf

打开文件,在最后添加如下两行内容:

blacklist nouveau
options nouveau modeset=0
$ sudo update-initramfs -u
//注意:输入指令后重启系统

//重启之后验证nouveau是否已禁用
$ lsmod | grep nouveau
//执行命令后如果没有输出信息就是成功了

在ubuntu下按Ctrl+Alt+F1进入命令行界面,此时需要login:电脑账户名称,password:电脑密码,登录到命令行界面。
有时会出现登录失败,报错incorrect login ,此时可以按下Ctrl+Alt+F2(F4)等进入,重新login,即可。

$ sudo service lightdm stop      //这个是关闭图形界面,必须关闭

$ sudo apt-get remove nvidia-*   //卸载系统中存在的驱动,默认有安装的,一定要执行这个

$ sudo chmod  a+x NVIDIA-Linux-x86_64-xxx.run    //给文件权限

//输入NVI按下Tab键补全文件名即可
$ sudo ./NVIDIA-Linux-x86_64-xxx.run -no-x-check -no-nouveau-check -no-opengl-files 
//其中:-no-x-check:安装驱动时关闭X服务
//      -no-nouveau-check:安装驱动时禁用nouveau
//      -no-opengl-files:只安装驱动文件,不安装OpenGL文件

在安装过程中可能会出现以下两种情况

第一种情况如下:

he distribution-provided pre-install script failed! Are you sure you want to continue?     
选择 yes 继续。
Would you like to register the kernel module souces with DKMS? This will allow DKMS to automatically build a new module, if you install a different kernel later?            
选择NO继续
Would you like to run the nvidia-xconfigutility to automatically update your x configuration so that the NVIDIA x driver will be used when you restart x? Any pre-existing x confile will be backed up.  
选择 Yes  继续
$ sudo service lightdm start //启用图形界面

// 然后按Ctrl+Alt+F7退出命令行界面即完成

第二种情况如下:


等一会系统会跳出界面说 the distribute-provided pre-install script failed.....:
直接选择 continue to install

开始有进度条显示building kernel modules,等一会.

the target kernel has CONFIG_MODULE_SIG set......

直接选择 sign the kernel module(为内核模块签名)

the nvidia kernel module with an existing key pair .....直接选择 genera a new one

...was successfully signed with a newly generated key pair,would you like to delete...

直接选择no

接下来那个没得选,只有一个选项,直接选择 OK

再接下来那个,,还是直接选择 OK

the signed kernel module failed to load,because the kernei dose not trust any key...

直接选择 install signed kerrel module

接下来那个,,直接选择 OK

再接下来那个,直接选择 yes

接下来那个,,直接选择 OK

若是电脑重启了,记住开机之后,按ctrl + alt +f1 进入命令窗口,没重启的可以忽略这一步。
// 在命令行界面输入
$ nvidia-smi
// 没有任何关于GPU的信息显示或者提示有问题,说明安装失败,别着急接着往下看

// 输入将nvida*.der名字写完整,将*替换掉
$ sudo mokutil --import /usr/share/nvidia/nvidia*.der
//注意:sudo mokutil --import /usr/share/nvidia/nvidia双击Tab会出现可选的详细信息

//接下来提示输入密码,再次输入密码
$ sudo reboot   //输入重启命令 
等一会,会跳出一个蓝色背景的界面perform mok management ,不要慌。
按住方向键的向下键(它不会显示内容,安键才有内容),选择第二个
“ enroll mok ” ,
会跳出新界面 enroll mok,选择第二个 continue ,
会跳出新界面enroll the key 选择第二个 yes
接下来提示输入密码
又跳那个蓝色背景的界面perform mok management 选择第一个 reboot
重启之后应该就完成了。

参考以下文章,只为记录方便使用,感谢这两位博主的分享!
参考1
参考2

  • 16
    点赞
  • 51
    收藏
    觉得还不错? 一键收藏
  • 9
    评论
### 回答1: XNOR-Net is a neural network architecture that aims to reduce the computational cost of deep learning models by using binary weights and activations. PyTorch is a popular open-source deep learning framework that provides tools for building and training neural networks. To implement XNOR-Net in PyTorch, you can use binary convolutional layers and binary activation functions. PyTorch also provides functions for calculating the bitwise XNOR operation. Here's an example of a binary convolutional layer in PyTorch: ``` import torch import torch.nn as nn class BinaryConv2d(nn.Module): def __init__(self, in_channels, out_channels, kernel_size, stride=1, padding=0): super(BinaryConv2d, self).__init__() self.weight = nn.Parameter(torch.randn(out_channels, in_channels, kernel_size, kernel_size)) self.stride = stride self.padding = padding def forward(self, x): binary_weight = torch.sign(self.weight) return nn.functional.conv2d(x, binary_weight, stride=self.stride, padding=self.padding) ``` This code defines a binary convolutional layer that uses binary weights and the sign function to binarize the weights. The forward method applies the convolution using the binary weights. You can use this layer in a neural network to reduce the computational cost of the model. However, keep in mind that using binary weights and activations may reduce the accuracy of the model. ### 回答2: XNOR-Net是一种使用二值权重和二值激活函数的神经网络结构,具有高效、快速和低功耗的特点。该网络结构通过将权重和输入进行二值化,将乘法操作替换为位运算操作,从而降低了计算量和存储需求。 PyTorch是一个基于Python的深度学习框架,提供了丰富的功能和灵活的工具,使得深度学习模型的构建和训练变得更加简单。PyTorch支持各种类型的神经网络模型,包括XNOR-Net。 在PyTorch中,我们可以使用二值权重和二值激活函数来构建XNOR-Net。二值权重可以使用torch.sign()函数来实现,将权重转换为-1和1的形式。二值激活函数则可以使用类似的方法,将激活值转换为0和1。 构建XNOR-Net的过程类似于构建传统的神经网络模型。我们可以使用PyTorch的nn.Module来定义模型的结构,使用nn.Linear来定义全连接层,使用nn.ReLU来定义激活函数等等。然后,我们可以使用PyTorch提供的优化器和损失函数来训练和评估我们的模型。 总之,XNOR-Net是一种高效、快速和低功耗的神经网络结构,而PyTorch是一个强大的深度学习框架,可以方便地构建和训练XNOR-Net模型。使用PyTorch可以帮助我们更好地理解和应用XNOR-Net这一新兴的神经网络结构。 ### 回答3: xnor-net是一种基于二进制神经网络(Binary Neural Network)的模型架构,其主要使用的是二值(或多值)权重和激活函数,以实现高效的计算和内存使用。而pytorch则是一种开源深度学习框架,提供了丰富的工具和函数,方便用户进行神经网络的搭建和训练。 xnor-net在pytorch中的实现主要涉及两个方面。首先,在网络的模型定义部分,可以使用pytorch提供的二值权重和激活函数对网络层进行定义。同时,还需要使用xnor运算对输入和权重进行二值化处理,以实现模型参数的二值化。其次,需要在训练过程中使用相应的二值化算法,来更新二值网络的参数。这一过程可以通过基于梯度的二值化方法或者近似二值化方法来实现。 通过xnor-net和pytorch的结合,可以有效地在内存和计算资源有限的情况下进行高效的神经网络训练和推理。其二值化的特性使得网络参数和数据的表示更加紧凑,从而降低了模型的存储需求和计算复杂度。此外,pytorch作为一个灵活和易于使用的深度学习框架,提供了丰富的工具和函数,方便用户对xnor-net模型的定义和训练进行个性化的调整和优化。 总之,xnor-net的pytorch实现为神经网络的高效训练和推理提供了一种创新的方案。通过合理的网络设计和训练方法的选择,可以在保持较高模型性能的同时,减少计算资源的消耗,从而为各种应用场景带来更好的效果。
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值