本文转载自:https://keras-cn.readthedocs.io/en/latest/for_beginners/keras_linux/#kerasmnist

本教程不得用于任何形式的商业用途,如果需要转载请与作者SCP-173联系,如果发现未经允许复制转载,将保留追求其法律责任的权利。


关于计算机的硬件配置说明

推荐配置

如果您是高校学生或者高级研究人员,并且实验室或者个人资金充沛,建议您采用如下配置:

  • 主板:X299型号或Z270型号
  • CPU: i7-6950X或i7-7700K 及其以上高级型号
  • 内存:品牌内存,总容量32G以上,根据主板组成4通道或8通道
  • SSD: 品牌固态硬盘,容量256G以上
  • 显卡:NVIDIA GTX TITAN(XP) NVIDIA GTX 1080ti、NVIDIA GTX TITAN、NVIDIA GTX 1080、NVIDIA GTX 1070、NVIDIA GTX 1060 (顺序为优先建议,并且建议同一显卡,可以根据主板插槽数量购买多块,例如X299型号主板最多可以采用×4的显卡)
  • 电源:由主机机容量的确定,一般有显卡总容量后再加200W即可

最低配置

如果您是仅仅用于自学或代码调试,亦或是条件所限仅采用自己现有的设备进行开发,那么您的电脑至少满足以下几点:

  • CPU:Intel第三代i5和i7以上系列产品或同性能AMD公司产品
  • 内存:总容量4G以上

CPU说明

  • 大多数CPU目前支持多核多线程,那么如果您采用CPU加速,就可以使用多线程运算。这方面的优势对于服务器CPU志强系列尤为关键

显卡说明

  • 如果您的显卡是非NVIDIA公司的产品或是NVIDIA GTX系列中型号的第一个数字低于6或NVIDIA的GT系列,都不建议您采用此类显卡进行加速计算,例如NVIDIA GT 910NVIDIA GTX 460 等等。
  • 如果您的显卡为笔记本上的GTX移动显卡(型号后面带有标识M),那么请您慎重使用显卡加速,因为移动版GPU容易发生过热烧毁现象。
  • 如果您的显卡,显示的是诸如 HD5000,ATI 5650 等类型的显卡,那么您只能使用CPU加速
  • 如果您的显卡芯片为Pascal架构(NVIDIA GTX 1080,NVIDIA GTX 1070等),您只能在之后的配置中选择CUDA 8.0

基本开发环境搭建

1. Linux 发行版

linux有很多发行版,本文强烈建议读者采用新版的Ubuntu 16.04 LTS 一方面,对于大多数新手来说Ubuntu具有很好的图形界面,与乐观的开源社区;另一方面,Ubuntu是Nvidia官方以及绝大多数深度学习框架默认开发环境。 个人不建议使用Ubuntu其他版本,由于GCC编译器版本不同,会导致很多依赖无法有效安装。 Ubuntu 16.04 LTS下载地址:http://www.ubuntu.org.cn/download/desktop 通过U盘安装好后,进行初始化环境设置。

2. Ubuntu初始环境设置

  • 安装开发包 打开终端输入:
# 系统升级
>>> sudo apt update
>>> sudo apt upgrade
# 安装python基础开发包
>>> sudo apt install -y python-dev python-pip python-nose gcc g++ git gfortran vim
  • 安装运算加速库 打开终端输入:
>>> sudo apt install -y libopenblas-dev liblapack-dev libatlas-base-dev

3. CUDA开发环境的搭建(CPU加速跳过)

如果您的仅仅采用cpu加速,可跳过此步骤 - 下载CUDA8.0

下载地址:https://developer.nvidia.com/cuda-downloads 

之后打开终端输入:

>>> sudo dpkg -i cuda-repo-ubuntu1604-8-0-local-ga2_8.0.61-1_amd64.deb
>>> sudo apt update
>>> sudo apt -y install cuda

自动配置成功就好。

  • 将CUDA路径添加至环境变量 在终端输入:
>>> sudo gedit /etc/profile

profile文件中添加:

export CUDA_HOME=/usr/local/cuda-8.0
export PATH=/usr/local/cuda-8.0/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

之后source /etc/profile即可

  • 测试 在终端输入:
>>> nvcc -V

会得到相应的nvcc编译器相应的信息,那么CUDA配置成功了。(记得重启系统)

如果要进行cuda性能测试,可以进行:

>>> cd /usr/local/cuda/samples
>>> sudo make -j8

编译完成后,可以进samples/bin/.../.../...的底层目录,运行各类实例。

4. 加速库cuDNN(可选)

从官网下载需要注册账号申请,两三天批准。网盘搜索一般也能找到最新版。 Linux目前最新的版本是cudnn V6,但对于tensorflow的预编译版本还不支持这个最近版本,建议采用5.1版本,即是cudnn-8.0-win-x64-v5.1-prod.zip。 下载解压出来是名为cuda的文件夹,里面有bin、include、lib,将三个文件夹复制到安装CUDA的地方覆盖对应文件夹,在终端中输入:

>>> sudo cp include/cudnn.h /usr/local/cuda/include/
>>> sudo cp lib64/* /usr/local/cuda/lib64/
>>> cd /usr/local/cuda/lib64
>>> sudo ln -sf libcudnn.so.5.1.10 libcudnn.so.5
>>> sudo ln -sf libcudnn.so.5 libcudnn.so
>>> sudo ldconfig -v

Keras框架搭建

相关开发包安装

终端中输入:

>>> sudo pip install -U --pre pip setuptools wheel
>>> sudo pip install -U --pre numpy scipy matplotlib scikit-learn scikit-image
>>> sudo pip install -U --pre tensorflow-gpu
# >>> sudo pip install -U --pre tensorflow ## CPU版本
>>> sudo pip install -U --pre keras

安装完毕后,输入python,然后输入:

>>> import tensorflow
>>> import keras

无错输出即可

Keras中mnist数据集测试

下载Keras开发包

>>> git clone https://github.com/fchollet/keras.git
>>> cd keras/examples/
>>> python mnist_mlp.py

程序无错进行,至此,keras安装完成。

声明与联系方式

由于作者水平和研究方向所限,无法对所有模块都非常精通,因此文档中不可避免的会出现各种错误、疏漏和不足之处。如果您在使用过程中有任何意见、建议和疑问,欢迎发送邮件到scp173.cool@gmail.com与作者取得联系.

本教程不得用于任何形式的商业用途,如果需要转载请与作者或中文文档作者联系,如果发现未经允许复制转载,将保留追求其法律责任的权利。

作者:SCP-173 E-mail :scp173.cool@gmail.com 如果您需要及时得到指导帮助,可以加微信:SCP173-cool,酌情打赏即可 

keras安装配置指南【linux环境】【转】的更多相关文章

  1. [转载]SharePoint 2013测试环境安装配置指南

    软件版本 Windows Server 2012 标准版 SQL Server 2012 标准版 SharePoint Server 2013 企业版 Office Web Apps 2013 备注: ...

  2. 【转】Syncthing – 数据同步利器---自己的网盘,详细安装配置指南,内网使用,发现服务器配置

    Syncthing – 数据同步利器---自己的网盘,详细安装配置指南,内网使用,发现服务器配置 原贴:https://www.cnblogs.com/jackadam/p/8568833.html ...

  3. 高可用,完全分布式Hadoop集群HDFS和MapReduce安装配置指南

    原文:http://my.oschina.net/wstone/blog/365010#OSC_h3_13 (WJW)高可用,完全分布式Hadoop集群HDFS和MapReduce安装配置指南 [X] ...

  4. Centos下安装配置LAMP(Linux+Apache+MySQL+PHP)

    Centos下安装配置LAMP(Linux+Apache+MySQL+PHP)   关于LAMP的各种知识,还请大家自行百度谷歌,在这里就不详细的介绍了,今天主要是介绍一下在Centos下安装,搭建一 ...

  5. 大数据应用日志采集之Scribe 安装配置指南

    大数据应用日志采集之Scribe 安装配置指南 大数据应用日志采集之Scribe 安装配置指南 1.概述 Scribe是Facebook开源的日志收集系统,在Facebook内部已经得到大量的应用.它 ...

  6. QWT编译与配置-Windows/Linux环境

    QWT编译与配置-Windows/Linux环境 QWT和FFTW两种开源组件是常用的工程软件支持组件,QWT可以提供丰富的绘图组件功能,FFTW是优秀数字波形分析软件.本文使用基于LGPL版权协议的 ...

  7. 【转】服务器证书安装配置指南(Weblogic)

    服务器证书安装配置指南(Weblogic) 详情请点击: http://verisign.itrus.com.cn/html/fuwuyuzhichi/fuwuqizhengshuanzhuangpe ...

  8. Windows 7上安装配置TensorFlow-GPU运算环境

    Windows 7上安装配置TensorFlow-GPU运算环境 1. 概述 在深度学习实践中,对于简单的模型和相对较小的数据集,我们可以使用CPU完成建模过程.例如在MNIST数据集上进行手写数字识 ...

  9. 安装配置PhoneGap开发环境(二)——使用Cordova取代PhoneGap创建项目

    1 Cordova是谁 PhoneGap的官方文档说的非常清楚.Cordova是PhoneGap的引擎,这两者的关系类似于WebKit与Chrome浏览器的关系.所以一些核心的基础操作对于Cordov ...

随机推荐

  1. HDU 3450 Counting Sequences(线段树)

    Counting Sequences Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/65536 K (Java/Other ...

  2. 2017 Multi-University Training Contest - Team 4——HDU6069&&Counting Divisors

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6069 题目意思:首先解释一下d[n]这个函数表示n有多少个因子,百度一下可以知道这个函数是一个非完全积 ...

  3. SpringCloud 入门

    1. 入门概述 SpringBoot专注于快速方便的开发单个个体微服务; SpringCloud:关注全局的微服务协调治理框架,它将SpringBoot开发的一个个单体微服务整合并管理起来, 为各个微 ...

  4. GNU Screen使用入门

    前些天开始学习使用GNU Screen程序,发现这个工具在管理服务器时候确实挺方便的,于是写一篇文章总结一下,顺便介绍Screen的基本使用方法. 简介 GNU Screen是 一个基于文本的全屏窗口 ...

  5. 部署knight项目

    发布CRM你将使用以下软件 nginx uWSGI CentOS7 CRM项目文件 virtualenv supervisor WSGI.uWSGI python web服务器开发使用WSGI协议(W ...

  6. 读取xml文件,写入excel

    在上一篇 Python写xml文件已经将所有订单写入xml文件,这一篇我们把xml文件中的内容读出来,写入excel文件. 输入xml格式: <?xml version="1.0&qu ...

  7. Java内存解析 程序的执行过程

    Java内存解析 栈.堆.常量池等虽同属Java内存分配时操作的区域,但其适用范围和功用却大不相同.本文将深入Java核心,简单讲解Java内存分配方面的知识. 首先我们先来讲解一下内存中的各个区域. ...

  8. python16_day19【Django_抽屉项目】

    补充ORM块: 1.select_related()  # 解决:当有外健,规避多决查询,使用了join. 多次查询变成一次查询 例:UserInfo.objects.all().select_rel ...

  9. python全栈开发从入门到放弃之面向对象反射

    1.classmethod.staticmethod方法 classmethod类方法默认参数cls,可以直接用类名调用,可以与类属性交互 #student文件内容 宝宝,男 博博,女 海娇,男 海燕 ...

  10. 5.MySQL必知必会之过滤数据-WHERE

    本章将讲授如何使用SELECT语句的WHERE子句指定搜索条件. 1.使用WHERE子句 数据库表一般包含大量的数据,很少需要检索表中所有行.通常只 会根据特定操作或报告的需要提取表数据的子集.只检索 ...