远程控制与Nvidia显卡驱动和CUDA版本

前段时间TeamViewer被检测成商用了,于是电脑就不能跑程序了,后来导师派提前到校的准研一学妹帮我去解决这个问题,解决的方法就是重新更换了一个远程控制软件—向日葵。这两款软件用起来的体验对比起来,TV相对来说毕竟是大公司,专业性是没的说的,功能相对来说也很全面。但是主要有两个缺点:

  1. 不稳定,因为TV的服务器在国外,这可能是导致不稳定的比较大的一个原因吧。在使用TV的这些日子里我已经遇到了不下于5种连不上的情况。最主要的就是连接的时候卡在了”正在初始化显示设置“这个页面上,然后一会儿就自动掉了。往往过一两天之后才能连接上,十分影响学习进度。还有一点就是传文件不稳定,传的时候有时候很快,但有时候各种掉线,不过好在它这个传文件掉了可以继续传,比Anydesk是方便多了。
  2. 给你检测成商用,你这边检测成商用还好,但是一但受控的那边被检测成商用了就比较蛋疼了,首先linux不知道直接更换mac地址好不好使。其次那边不是你自己在操作,可以一点点试,要耽误别人的时间帮你调试就很尴尬。所以一旦检测成商用,你也别看官网上的说填一个表单交上去,然后给你重置账号。对,你发了那个表单他确实会给你回一封邮件,告诉你我们无法确认您的行为是否属于商用,你又两种解决办法:1.购买TV的付费产品;2.填一个比较详细的个人信息表单,并需要打印下来手写签字恢复给他。我当然选择的是后者,果不其然,在TV了解到我的详细信息之后,直接让亚太地区的销售从澳洲打来了电脑。起先我没接,接着又给我发邮件,直接说您是否有意愿购买我们公司的付费产品,如果有就和我联系,我可以提供折扣。就丝毫不提重置账号的事情了。也罢也罢,我们身在中国,一些免费的东西用惯了,但是心里应该清楚有些东西就不该是免费的,别人的知识产权你就得给人钱啊。
    现在用向日葵,除了不能传文件,感觉还不错,操作虽然说不上流畅吧,但是起码卡起来没有TV卡的时候那么卡。总之就是卡了勉强基本操作还能进行。有一点就是,每次开关机之后,都必须重装向日葵,否则你这边连过去就出现闪退的现象,我也不知道为什么,得返校之后去看看。现在用anydesk传数据集,好在数据集也不是特别大,虽然只有两点几个G的大小,传了一晚上,但是时间上还能接受。好了,说了这么多,还是回到今天的主题上来,就是又几乎重新安装了深度学习的环境,我太难了!!!
    这次主要就是和驱动在做斗争,因为之前显卡驱动是384,所以只能安装cuda9.0,但是cuda9.0对很多新的pytorch版本并不支持,所以我一直想着换一个比较高版本的驱动,好让我安装比较高版本的cuda,最终安装比较高版本的pytorch我的思路大致就是这样的。首先在我把显卡驱动换成了430,这个比较高的版本,挑最高的换的,然后重启了电脑,我以为没事了,就让在那边操作的学妹走了。然后cuda依然是9.0,pytorch1.1.0。我运行了原先在上面能跑通的一个yoloV3的检测程序,然后就报错,基本的意思就是我电脑上的cuda不可用,你只能用cpu版本的pytorch跑程序。于是我心想,估计是换了驱动,要换比较高版本的cuda吧,于是我没有在意,就去调试我要跑的程序了。在自己的电脑上调试好程序之后打算放在那台机子上运行。于是我就把原先的cuda9.0给卸载了,然后安装了cuda10.1,因为我自己的电脑上就安装的是10.1。因为我在上次配环境的那个表里面没有430驱动对应的cuda版本,于是我就心想cuda10.1在418上都可以用,那么我的430肯定没有问题,于是我就欣然装了cuda10.1,然后对应的cudnn也装了。主要就是装cuda10.1的时候有点怪,那就是它没有给我像其他博客中以及我前面几次装cuda时的那些选项,所以我就比较迷惑,当你点击install之后,他就自动给你装好了,应该都是默认选项吧。于是我又安装了pytorch1.3.0,然后我就高兴的去运行程序。结果还是报错:torch.cuda.is_available()==false,也就是cuda不可用。于是我心想是不是cuda10.1安装的时候有问题啊,况且我对这个版本的cuda不是很熟(因为我的电脑上最近也是需要跑一个pytorch1.4.0的evaluate程序才安装的cuda10.1),好像安装过程和以前的cuda有点不同,于是我就想着装回cuda10.0吧,不知道如何,装完之后,运行程序(当然这里我也安装了cuda10.0对应的pytorch了的),发现还是false。我绝望了,这次是无助,因为上次起码还可以自己搞定问题,但是这次我深知很有可能是显卡驱动存在问题,不是自己一个人能搞定的。于是我在网上开始疯狂搜索那个false的原因,最后看到了一个视频,对问题的总结还是比较全面的:

https://www.bilibili.com/video/av75282498/

于是,我打算自己去网上下载机器对应的显卡驱动来进行安装,但是驱动安装步骤太复杂了,而且安装完之后又需要重启,重启的话只能找学妹帮着开机了。接着往后看,我看到up主查看了驱动的版本:用的是nvidia-smi,正常情况下就应该是像up主这样:
远程控制与Nvidia显卡驱动和CUDA版本_第1张图片
但是在CUDA Version那里显示的是N/A,上网搜一下N/A,就是Not Applicable意思就是不适用。
于是最后我决定,保险点,到时候还是换回384的显卡驱动,乖乖用cuda9.0吧。于是我直接把驱动给换回来了,并把电脑重启了,等待着学妹下午给我把远程控制软件打开。但是中途我不甘心,我首先在百度上搜N/A这个问题,搜到了一个,还是英文的提问,但是很遗憾没有人理这个老哥:
远程控制与Nvidia显卡驱动和CUDA版本_第2张图片
于是我又去google上查询相关的信息,找到了和我一样问题的老哥:

远程控制与Nvidia显卡驱动和CUDA版本_第3张图片
但是这个就很不同了,他的问题是解决了,底下有人叫他安装一个显卡驱动之前,最好先卸载之前的驱动,不然残余的驱动会影响到之后的驱动,用的指令是:

sudo apt-get remove --purge '^nvidia-.*'

我打算破罐子破摔,到时候先把这个指令给用了,大不了最后用384嘛。用了之后,发现切换成了手动安装的模式,之前的那些驱动不能选了,我又绝望了。我看了看手动装驱动的那些复杂的过程,关键是要重启,重启之后要重现装向日葵。很无奈,我都让学妹去帮我看看有没有其他电脑可以用了。就在这个时候,我看到了一个博客,根本就没有那么复杂的过程,一句话装好驱动。那就是这个博客:

https://blog.csdn.net/linhai1028/article/details/79445722

直接采用:sudo apt-get install nvidia-384
于是我先尝试安装一下384,成了,但是没有显示CUDA version。于是我又不甘心,安装了410,成功了。(当然这导致机器又重启了一次,每换一张显卡机器就要重启)CUDA version那里显示的是10.0,运行发现torch.cuda.is_available()也变成true了。
现在回想起来,当初就不应该安装一个表格上没有的430驱动的,然后就是这个原因导致安装的cuda版本不匹配。以后换驱动就换常见的,然后照着表格上的来,一一对应配cuda,那么就没有问题了。

你可能感兴趣的:(深度学习及Python相关知识)