首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Ubuntu 16.04 Cuda8.0 tensorflow-gpu

Ubuntu 16.04 Cuda8.0 tensorflow-gpu

作者头像
ke1th
发布于 2019-05-28 13:55:05
发布于 2019-05-28 13:55:05
1K0
举报

此教程 年代久远, 请移步 ubuntu16.04 安装 CUDA

此教程 年代久远, 请移步 ubuntu16.04 安装 CUDA

此教程 年代久远, 请移步 ubuntu16.04 安装 CUDA

此教程 年代久远, 请移步 ubuntu16.04 安装 CUDA

此教程 年代久远, 请移步 ubuntu16.04 安装 CUDA

11.09.2016 更新, 更新源之后,要进行upgrade

11.07.2016 更新 可能出现的错误

10.16.2016 更新

ubuntu 16.04 python 2.7 cuda7.5/Cuda8.0 tensorflow-gpu

最近在配深度学习的框架,配了一个星期,终于配好了,中间走了n条弯路。

下面开始介绍安装:

1-> : 准备工作:

  • 安装 sshserver : ubuntu默认是没有sshserver的,只有sshclientsudo apt-get install openssh-server openssh-client
  • 配置源,在国内最好使用国内源,因为下载速度快。国内源介绍
  • 只需将你想使用的源 添加到 /etc/apt/sources.list 文件头部即可
  • 然后sudo apt-get update
  • sudo apt-get upgrade
  • 安装依赖sudo apt-get install python-pip sudo apt-get install python-numpy swig python-dev python-wheel

sudo apt-get install git vim sudo apt-get install freeglut3-dev build-essential libx11-dev libxmu-dev libxi-dev libgl1-mesa-glx libglu1-mesa libglu1-mesa-dev

  • 这里我碰到了一个问题,使用国内源的话,安装的pip无论怎么更新,都是pip8.1.1,不是pip8.1.2,(使用pip-8.1.1的话,在之后安装tensorflow的时候会报错,所以需要升级到8.1.2)如何升级到pip8.1.2
  • 如果你用pip install软件的时候感觉速度很慢,你也可以设置一下pip源,(豆瓣源挺快的)cd $HOME mkdir .pip
  • cd .pip
  • sudo vim pip.conf 在里面添加 global index-url = http://mirrors.aliyun.com/pypi/simple install
  • trusted-host = mirrors.aliyun.com
  • disable-pip-version-check = true
  • timeout = 6000 保存即可

2->:安装nvidia驱动程序:

在这里我花了大概有3.4天的时间,被坑的不要不要的,主要一个问题就是安装完驱动之后 登陆时候一直卡在登陆界面进不去。到最后看到一个人提到了关闭Secury Boot,然后我就将其关了,才进去的。

  • 将nouveau加入黑名单sudo vim /etc/modprobe.d/blacklist.conf 将 blacklist nouveau加到文件最后
  • 重启电脑
  • 按Ctrl+Alt+F1进入命令行界面sudo service lightdm stop sudo rm /tmp/.X0-lock (删除此文件,如果本来就没有的话,就会报错)
  • 安装驱动sudo apt-get remove --purge nvidia-* sudo rm /etc/X11/xorg.cong sudo apt-add-repository ppa:graphics-drivers/ppa -y sudo apt-get update sudo apt-get install nvidia-367 nvidia-settings nvidia-prime sudo apt-get install mesa-common-dev sudo apt-get install freeglut3-dev sudo ldconfig -n sudo update-initramfs -u
  • 重启电脑,就可以进入界面了, 如果进不去,进入BIOS启动页面,在Boot(或Security)中找到Security BOOT ,将其disable就可以了
  • 查看驱动nvidia-smi 会输出显卡信息

3-> 安装CUDA8.0

  • 官网下载 CUDA8.0 .run 文件
  • cuda7.5需要gcc-4.7 g++-4.7进行编译, 而Ubuntu默认是5.4版本,所以需要降版本, cuda8.0的话不需要降级sudo apt-get install gcc-4.7 g++-4.7 sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.7 10 sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.7 10 10 代表优先级, 高的优先
  • 安装CUDA7.5,安装时会提示 unsorported configuration ,不用理会, 还会询问你要不要装显卡驱动选择n就可以了。 chmod +x cuda7* sudo ./cuda7*
  • 配置CUDA环境~$ sudo vim .bashrc 文件尾加入 export PATH=/usr/local/cuda/bin:$PATH export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH 保存退出 然后执行: source .bashrc
  • 测试
  • cd /usr/local/cuda-7.5/samples/1_Utilities/deviceQuery make sudo ./deviceQuery 再测试试一下nobody: cd ../../5_Simulations/nbody/ make 执行: ./nbody -benchmark -numbodies=256000 -device=0

4->安装cudnn4.0 安装cudnn5.1(官方tensorflow0.10.0 是用cuda7.5 和cudnn5.1编译的)

  • 官网下载 点击打开链接
  • 使用tar -zxvf filename 解压
  • 配置cudnnsudo cp cuda/include/cudnn.h /usr/local/cuda/include/ sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64/ sudo chmod a+r /usr/local/cuda/include/cudnn.h sudo chmod a+r /usr/local/cuda/lib64/libcudnn*

5->安装bazel(如果你不打算编译源码安装tensorflow的话,是不需要安装bazel的。我们这里不使用源码安装tensorflow。)

  • 安装bazel需要先安装java8$ sudo add-apt-repository ppa:webupd8team/java $ sudo apt-get update $ sudo apt-get install oracle-java8-installer
  • 安装bazel$ echo "deb arch=amd64 http://storage.googleapis.com/bazel-apt stable jdk1.8" | sudo tee /etc/apt/sources.list.d/bazel.list $ curl https://storage.googleapis.com/bazel-apt/doc/apt-key.pub.gpg | sudo apt-key add - $ sudo apt-get update && sudo apt-get install bazel $ sudo apt-get upgrade bazel
  • bazel命令需要工作在workspace文件夹或其子文件夹下

6->安装tensorflow

7->可能出现的错误:

  • 如果更新了 nvidia驱动之后报错(更新之前运行正常),可以尝试安装
  • sudo apt-get install nvidia-modprobe
  • 如果使用pycharm的话,进入pycharm根目录的bin/,打开pycharm.sh,然后在第180行左右插入LD_LIBRARY_PATH="/usr/local/cuda/lib64" #需要增加 LD_LIBRARY_PATH="$IDE_BIN_HOME:$LD_LIBRARY_PATH" "$JAVA_BIN"

报错信息:

failed call to cuInit: CUDA_ERROR_UNKNOWN in python programs using Ubuntu bumblebee

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2016年09月16日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

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

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
【一步步一起学DApp开发】(四)web3.js 基本使用 | 连接geth | 创建web客户端
web3.js内部使用JSONRPC与geth通信。它把所有JSON-RPC API当作JavaScript API,也就是说,它不仅支持所有与以太坊相关的API,还支持与Whisper和Swarm相关的API。
前端修罗场
2023/10/07
1.2K0
web3.fromWei
如果你希望马上开始学习以太坊DApp开发,可以访问汇智网提供的出色的在线互动教程: 以太坊DApp实战开发入门 去中心化电商DApp实战开发 以太坊货币单位之间的转换。将以wei为单位的资金,转换为指定单位的数值: 调用: web3.fromWei(number, unit) 参数: number:. Number|String|BigNumber - 数字或BigNumber。 unit:. String - 单位字符串 货币单位可取值如下 kwei/ada mwei/babbage gwei/shan
用户1408045
2018/05/17
7470
以太坊开发指南 #1
你应该听说过了以太坊[4]了,准备进入以太坊的世界冒险了吗?这篇文章将快速介绍一些区块链基础知识,然后让了解与模拟的以太坊节点进行交互--读取区块数据,检查账户余额并发送交易。在这个过程中,我们将理解传统的应用程序与这种新的去中心化应用之间的差异。
Tiny熊
2021/02/25
1.3K0
以太坊开发指南 #1
web3.toWei
如果你希望马上开始学习以太坊DApp开发,可以访问汇智网提供的出色的在线互动教程: 以太坊DApp实战开发入门 去中心化电商DApp实战开发 将给定资金转换为以wei为单位的数值。 调用: web3.toWei(number, unit) 参数: number:Number|String|BigNumber - 数字或BigNumber unit : String - 字符串单位 可选择的单位如下: kwei/ada mwei/babbage gwei/shannon szabo finney ether
用户1408045
2018/05/17
7640
搭建以太坊私有链
区块链技术正在逐渐走向成熟,以太坊作为区块链领域的重要代表被广泛应用于智能合约、去中心化应用等领域,然而公有链上的交易需要消耗大量的手续费,且数据的公开性也限制了其在某些场景下的应用。因此搭建以太坊私有链成为了一种更加灵活、高效、安全的解决方案,本文将介绍如何搭建以太坊私有链帮助读者更好地理解和应用区块链技术
Al1ex
2023/09/07
1.8K1
搭建以太坊私有链
以太坊介绍和使用
以太坊是一个能够在区块链上实现智能合约、开源的底层系统。换言之,以太坊是可编程的区块链,它并不是给用户一系列预先设定好的操作(例如比特币交易),而是允许用户按照自己的意愿创建复杂的操作。这样一来,以太坊是就可以作为多种类型去中心化区块链应用的平台,这些应用比如包括之前很火的各种代币但并不仅限于此,我们可以做很多除了代币之外的东西,比如你可以输出一行代表自己不是外行身份的hello world,或者在上面做一个简单的计算器,总之你可以在上面实现你想要的任何功能。
fnatic
2022/07/15
37.4K0
第三课 以太坊术语说明及开发者资源列表
也称钱包,提供账户管理、挖矿、转账、智能合约的部署和执行等等功能,以太坊节点利用以太坊客户端接入到以太坊网络。 现在以太坊客户端主要有:Wallent/ist , Geth, Parity, Harmony,
辉哥
2018/08/10
8050
第三课 以太坊术语说明及开发者资源列表
第十一课 从宠物商店案例看DAPP架构和WEB3.JS交互接口
【本文目标】 了解ETH生态下DAPP去中心化应用程序的框架和交互流程,了解WEB3.JS的作用和接口函数。 【前置条件】 完成了《第六课 技术小白如何开发一个DAPP区块链应用(以宠物商店为例)》的学习实践,对智能合约了解。 【技术收获】 1). DAPP架构 2). ETH节点框架 3).宠物商店的APP.js文件的业务处理流程图和函数介绍 4).web3.js接口
辉哥
2018/08/10
2.7K0
第十一课 从宠物商店案例看DAPP架构和WEB3.JS交互接口
web3.py简介
与web3.py库交互的共同入口是web3对象。web3对象提供API,用于python开发的应用与以太坊区块链进行交互,通常是通过连接JSON-RPC服务器进行。
笔阁
2018/09/04
1.3K0
【手把手】如何在10分钟内搭建一个以太坊私有链?
在开发以太坊时,很多时候需要搭建一条以太坊私有链,这篇来自作者熊丽兵的文章,手把手教你10分钟内如何在Mac上进行搭建。 作者 | 熊丽兵 整理 | 科科 阅读本文前,你应该对以太坊语言有所了解,如果你还不了解,建议你先看以太坊是什么。 go-ethereum客户端安装 Go-ethereum客户端通常被称为Geth,它是个命令行界面,执行在Go上实现的完整以太坊节点。Geth得益于Go语言的多平台特性,支持在多个平台上使用(比如Windows、Linux、Mac)。Geth是以太坊协议的具体落地实现,通过
区块链大本营
2018/06/19
2.5K0
以太坊私链入门
中国广东省深圳市龙华新区民治街道溪山美地 518131 +86 13113668890 <netkiller@msn.com>
netkiller old
2018/02/02
5.1K2
快速学习-Geth 控制台命令
Geth Console 是一个交互式的 JavaScript 执行环境,里面内置了一些用来操作以太坊的 JavaScript 对象,我们可以直接调用这些对象来获取区块链上的相关信息。这些对象主要包括: eth:主要包含对区块链进行访问和交互相关的方法; net:主要包含查看 p2p 网络状态的方法; admin:主要包含与管理节点相关的方法; miner:主要包含挖矿相关的一些方法; personal:包含账户管理的方法; txpool:包含查看交易内存池的方法; web3:包含以上所有对象,还包含一些通用方法。 常用命令有: personal.newAccount():创建账户; personal.unlockAccount():解锁账户; eth.accounts:列出系统中的账户; eth.getBalance():查看账户余额,返回值的单位是 Wei; eth.blockNumber:列出当前区块高度; eth.getTransaction():获取交易信息; eth.getBlock():获取区块信息; miner.start():开始挖矿; miner.stop():停止挖矿; web3.fromWei():Wei 换算成以太币; web3.toWei():以太币换算成 Wei; txpool.status:交易池中的状态;
cwl_java
2020/04/10
2.1K0
以太坊查看账户余额
如果你希望马上开始学习以太坊DApp开发,可以访问汇智网提供的出色的在线互动教程: 以太坊DApp实战入门教程 以太坊去中心化电商应用开发实战 使用web3获取账户余额 可以使用JavaScript API来获取以太坊账户余额,例如在JavaScript代码中: web3.fromWei(web3.eth.getBalance(web3.eth.coinbase)); 如果你在geth控制台里,可以将web3.eth使用其eth别名代替: > web3.fromWei(eth.getBalance(et
用户1408045
2018/05/17
3.1K0
智能合约:介绍、geth、Ethereum Wallet
从看雪论坛换了一本《智能合约安全分析和审计指南》,看了一些智能合约相关的内容,因为我之前对于区块链的了解仅仅是只知道世界上有一种叫做比特币的东西,所以对于这些概念的理解还是比较困难的
yichen
2020/05/04
1.9K0
以太坊开发入门 - 基本概念
本质上是一个去中心的数据库,区块链包含一串数据块,每个数据块中包含若干交易数据、时间戳等信息,可用于验证交易的有效性。
寒星
2018/06/19
6500
以太坊的安装、私有链创世区块搭建以及智能合约的部署
官方下载地址:https://geth.ethereum.org/downloads/ 下载相应系统版本的geth,安装成功后可以查看版本信息:
梦飞
2022/06/23
1.6K0
以太坊的安装、私有链创世区块搭建以及智能合约的部署
web3js 实战基本操作
这个篇文章的总结是在学习 b站web3.js的一个基础教程课 的课程总结,方便后续在文章中查找API。
六个周
2023/02/16
1.8K0
从零构建以太坊(Ethereum)智能合约到项目实战——第22章 玩转truffle framework 、Web3.js 框架
P84 、1-玩转truffle framework、Web3、js 框架 内容介绍
墨文
2020/02/28
5480
探路以太坊
关键字:以太坊,加密货币,crowdsale,geth,console,web3.js 以太坊简介 一句话简介:以太坊是一个基于功能齐全的编程语言构建的众多去中心化区块链应用的平台。 下面来解读一下这句话: 平台:首先以太坊是一个平台,这个平台上面有很多应用。 应用:这些应用是是去中心化的,基于区块链技术。所以这些应用可以实现永不停歇,因为它是分布式的,去中心化的,基于P2P网络的,这些应用被管理在以太坊钱包上面。 钱包:以太坊钱包,本质上以太坊钱包也是其中一个应用,它是一个网关,可以管理所有基
文彬
2018/05/03
2K0
CentOS7 搭建以太坊私有链
这里要注意下 最新的golang 1.10 和go-ethereum-1.7.3 不太兼容
王小明_HIT
2019/08/13
1.2K0
相关推荐
【一步步一起学DApp开发】(四)web3.js 基本使用 | 连接geth | 创建web客户端
更多 >
LV.1
这个人很懒,什么都没有留下~
交个朋友
加入腾讯云官网粉丝站
蹲全网底价单品 享第一手活动信息
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档