不安装cudnn可不可以_Linux非root用户如何优雅的安装cuda和cudnn

Linux非root用户如何优雅的安装cuda和cudnn

发布时间:2018-05-23 16:11,

浏览次数:804

, 标签:

Linux

root

cuda

cudnn

Linux非root用户如何优雅的安装cuda和cudnn

跑深度学习模型时,总会遇到各种版本的问题。如深度学习框架与cuda的版本不符,或者管理安装的cuda的版本太低,因此作为非root用户就很难受。为自己装cuda和深度学习框架就非常有必要

* anaconda的必要性

* 非root安装cuda和cudnn

anaconda

* python有一个很好的版本管理器——anaconda,安装它就可以自行管理各种python版本

* anaconda 安装和使用

非root用户安装cuda和cudnn

cuda的root用户安装,网上的教程非常多,但是非root用户安装的教程就很难找到

1、cuda下载 https://developer.nvidia.com/cuda-downloads

.

2、在选择linux及对应的系统之后,选择 runfile(local)这个选项,然后下面给出的命令 “sudo sh

cuda_9.0.176_384.81_linux.run” 中sudo这个需要管理员账号,其实可以去掉sudo,直接运行,然后按照给出的提示同意协议

3、linux没有图形界面时,可以在浏览器复制下载链接“link”,然后再linux命令 “wget link”,下载下来filename.run

4、chmod +x filename.run 然后 ./filename.run

5、在协议中选择同意EULA(accept),不安装driver installation

(no),然后再安装cuda时选择个人用户的目录,如/home/yourname/cuda9,以及cudasamples的目录

6、cudnn的安装,从官网下载https://developer.nvidia.com/cudnn

(需要注册账号),

我下载的是cudnn-9.0-linux-x64-v7.tgz,然后用tar -xzvf cudnn-9.0-linux-x64-v7.tgz

解压,解压到了cuda文件夹。(cd cuda && make)可选命令

7、拷贝过去cudnn->cuda (cuda9是个人用户的下的目录/home/yourname/cuda9)

cp cuda/include/cudnn.h cuda9/include/

cp cuda /lib64/libcudnn* cuda9/lib64

chmod a+r cuda9/include/cudnn/h cuda9/lib64/libcudnn*

8、修改个人用户的环境变量

环境变量文件 ~/.bashrc位于home/yourname/~/.bashrc(用vi ~/.bashrc编辑)

“export PATH=$HOME/cuda9/bin:$PATH”

“export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$HOME/cuda9/lib64/”

这两条命令添加进去HOME目录就是/home/yourname

修改之后 source ~/.bashrc使环境变量生效

快速测试

import tensorflow as tf x = tf.nn.conv2d(tf.ones([1,1,10,1]),

tf.ones([1,5,1,1]), strides=[1, 1, 1, 1], padding='SAME') with tf.Session() as

sess: sess.run(x) # this should output a tensor of shape (1,1,10,1) with

[3,4,5,5,5,5,5,5,4,3]

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/328655.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如果你也会C#,那不妨了解下F#(4):了解函数及常用函数

函数式编程其实就是按照数学上的函数运算思想来实现计算机上的运算。虽然我们不需要深入了解数学函数的知识,但应该清楚函数式编程的基础是来自于数学。 例如数学函数f(x) x^2x,并没有指定返回值的类型,在数学函数中并不需要关心数值类型和返…

新闻发布项目——实体类(newsTb)

package bdqn.newsMange.entity;import java.util.Date;/*** 新闻的实体类* author Administrator**/ public class newsTb {private int newsID;// 编号private int categoryID;//类别编号(外键)private String summary;// 摘要private String title;//题目private String con…

Java URL协议扩展实现

转载自 Java URL协议扩展实现在信息交互系统设计中,不乏有自定义通讯协议设计。本章会介绍如何利用 java.net.URL 类来自定义协议。一般而言, URL 的格式是: protocol://[authority]hostname:port/resource?queryString 。 URL 类能够解析…

axure8 事件改变样式_AxureRP8实战手册-案例2(文本框:边框变色)

案例2. 文本框:边框变色案例来源:百度-登录界面案例效果:光标进入文本框时:(图1-6)案例描述:在登录界面中,包含用户名与密码的输入框。当焦点进入输入框时,输入框边框与内部图标变为蓝色;失去…

URL的getFile()和getPath()方法的区别

转载自 URL的getFile()和getPath()方法的区别 import java.net.MalformedURLException; import java.net.URL; public class dd { /** * param args */ public static void main(String[] args) { try { URL url new URL("file://ftp.yoyodyne.com/pub/files/fo…

webpack打包发布

npm run dev npm run dist --线上 git status git add . git commit -am "online adapter" git push git pull git branch --查看当前分支是在哪里master 还是 admin yarn install v1.3.2 yarn run dist -- 打包 fe-deply.sh --shell脚本 自动发布脚本 gi…

介绍开源的.net通信框架NetworkComms

Networkcomms 是一款C# 语言编写的TCP/UDP通信框架 作者是英国人 以前是收费的 目前作者已经开源 开源地址是:https://github.com/MarcFletcher/NetworkComms.Net networkcomms通讯框架使用简单方便,性能稳定. 从github上下载到源码后,需要Visual studio安装nuget 加载相关D…

dplayer js控制 自动全屏_vue-video-player 通过自定义按钮组件实现全屏切换效果【推荐】...

最近公司的产品上线,一些高级功能在基础版本中不对用户开发,通过视频的形式展示。产品开发用的是 vue, 经同事介绍使用了vue-video-player视频播放插件,通过 demo案例很快实现了视频播放效果class"vjs-custom-skin"ref"videoP…

新闻发布项目——实体类(comment)

package bdqn.newsMange.entity;import java.util.Date;/*** 新闻评论表*/ public class comment {private int commentID;//编号private String cmmUser;//用户名private String ip;//ipprivate String cmmContent;//内容private int newsID;//新闻IDprivate Date cmmDate;//…

java字符串格式化:String.format()方法的使用

转载自 java字符串格式化:String.format()方法的使用常规类型的格式化 String类的format()方法用于创建格式化的字符串以及连接多个字符串对象。熟悉C语言的读者应该记得C语言的sprintf()方法,两者有类似之处。format()方法有两种重载形式。 l for…

java web每天定时执行任务(四步轻松搞定)

https://www.cnblogs.com/LiSheng97625/p/4648739.html java web每天定时执行任务(四步轻松搞定) 第一步: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44…

从Unity3D编译器升级聊起Mono

接前篇Unity 5.3.5p8 C#编译器升级,本文侧重了解一些Mono的知识。 Unity3D的编译器升级 新升级的Mono C#编译器(对应Mono 4.4) Unity编辑器及播放器所使用的Mono运行时还未升级。 新编译器仍针对C# 4,是旧的编译器也支持的版本。 …

bat脚本中获取上级目录_批处理bat命令--获取当前盘符和当前目录和上级目录

批处理命令获取当前盘符和当前目录%~d0 是当前盘符%cd% 是当前目录可以用echo %cd%进行打印测试以下例子是命令行编译Visual Studio编写的程序:echo offset b%cd% //将当前目录保存到参数b中,等号前后不要有空格C:cd program filescd microsoft visual studiocd com…

日期类的加减及java中所以日期类的操作算法大全

转载自 日期类的加减及java中所以日期类的操作算法大全1.计算某一月份的最大天数Calendar timeCalendar.getInstance(); time.clear(); time.set(Calendar.YEAR,year); //year 为 int time.set(Calendar.MONTH,i-1);//注意,Calendar对象默认一月为0 int daytime.getActu…

使用Spring的@Scheduled实现定时任务

https://blog.csdn.net/prisonbreak_/article/details/49180307 使用Spring的Scheduled实现定时任务 2015年10月16日 16:23:21 阅读数:103485更多 个人分类: Java开发 Spring配置文件xmlns加入 xmlns:task"http://www.springframework.org/sch…

新闻发布项目——实体类(categoryTB)

package bdqn.newsMange.entity; /*** 新闻类别实体类* author Administrator**/ public class categoryTB {private int categoryID;//编号private String categoryName;//类别名public int getCategoryID() {return categoryID;}public void setCategoryID(int categoryID) {…

.NET Core 系列5 :使用 Nuget打包类库

NuGet是个开源项目,项目包括 NuGet VS插件/NuGet Explorer/NuGetServer/NuGet命令行等项目,.NET Core项目完全使用Nuget 管理组件之间的依赖关系,Nuget已经成为.NET 生态系统中不可或缺的一个组件,从项目角度,将项目中…

foxmail 不知道这样的主机_华为P50真机图!网友:早知道这样,就不加价买mate40了...

hello,大家好,欢迎收看本期节目由于各方面原因,今年的华为mate40系列确实很难抢不少心急的用户甚至是加价买了入手之后有的用户有开始后悔了,当然不是该机不好而是他们看到了疑似华为P50的真机渲染图它的正面并没有丑陋的双打孔&a…

F#年度调查结果概述

本文要点 年度社区调查向600多名开发人员了解了他们的F#使用情况;在工作中,F#的最大好处包括正确性、让不合法状态不可达以及能够更轻松地解决复杂的问题;大多数F#开发人员仍然使用Windows作为他们的开发平台之一,但使用Mac和Linu…

java Date获取 年月日时分秒

转载自 java Date获取 年月日时分秒 package com.util;import java.text.DateFormat; import java.util.Calendar; import java.util.Date;public class Test {public void getTimeByDate(){Date date new Date();DateFormat df1 DateFormat.getDateInstance();//日期格式&…