在学习了一段时间台大李宏毅关于deep learning的课程,以及一些其他机器学习的书之后,终于打算开始动手进行一些实践了。

感觉保完研之后散养状态下,学习效率太低了,于是便想白天学习,晚上对白天学习的知识做一些总结和记录,如果有不妥的地方,欢迎大家批评指教,共同进步。

一、深度学习框架的选择

随着深度学习日趋火热,技术的逐渐兴起,各种深度学习框架也层出不穷。

目前使用普遍的框架有Tensorflow、Caffe、PyTorch、Theano、CNTK等,那么在这么多框架中该如何选择呢?

笔者作为一个初学者,架不住Tensorflow的名气之大,所以最开始便选择了Tensorflow。当然不仅仅只是因为名气大,Tensorflow作为谷歌主持的开源项目,它的社区热度目前看来是旺盛的,而且现在也最为流行。听说,它是在谷歌总结了DistBelief的经验教训上形成的;它运行高效、可扩展性强,可以运行在手机、普通电脑、计算机群上。

下面再简单介绍一下其他深度学习框架的特点:

(1) Caffe:卷积神经网络框架,专注于卷积神经网络和图像处理,因为是基于C++语言,所以执行速度非常的快。

(2) PyTorch:动态computation graph!!!(笔者学习Tensorflow一段后,便会转学PyTorch试试看)

(3) Theano:因其定义复杂模型很容易,在研究中比较流行。

(4) CNTK:微软开发的,微软称其在语音和图像识别方面比其他框架更有优势。不过代码只支持C++.

Tensorflow的一些特性就不再说了,网络上相关资料也有很多。

下面就介绍一下Tensorflow的安装,笔者的安装顺序是首先安装Anaconda、然后安装Tensorflow、再安装Pycharm。

二、安装Anaconda

安装环境:

虽然笔者用的是mac,自带了Python,但是还是先安装了Anaconda(点击进入官网)。因为它集成了很多Python的第三方库,而且可以方便的管理不同版本的Python,在不同版本的Python之间切换。而且Anaconda是一个科学计算环境,在电脑上安装完Anaconda之后,除了相当于安装了Python,也安装好了一些常用的库。

笔者安装的是Python 2.7版的Anaconda,在安装好Anaconda之后,就已经安装好了Python和一些常用的库了。此外,还自动安装了Spyder。

Spyder是Python一个简单的集成开发环境,和其他的Python开发环境相比,它最大的优点就是模仿MATLAB的“工作空间”的功能,可以很方便地观察和修改数组的值。

在终端中输入Spyder就可以打开它了,如下图所示:


但是笔者更喜欢使用Pycharm作为开发环境

三、建立、激活、安装Tensorflow

打开终端,在上面输入:

conda create -n tensorflow python=2.7

然后等执行完毕之后,再执行:

source activate tensorflow

至此就激活了运行环境。

然后再执行pip install tensorflow以进行Tensorflow的安装。

然后再执行以下Hello Tensorflow代码测试Tensorflow是否安装成

import tensorflow as tf
hello = tf.constant('Hello Tensorflow!')
sess = tf.Session()
print(sess.run(hello)) a = tf.constant(10)
b = tf.constant(32)
printf(sess.run(a+b))

如果正常的话会提示:

    Hello Tensorflow!
42

四、PyCharm IDE

一直使用终端开发的话,实在是太过难用了。笔者选择了PyCharm作为开发环境,官网链接。这里笔者用的是社区版(free)。

(1)首先新建一个Pycharm的工程

因为是做Tensorflow的开发,所以这里我们只需要选择图中所示的interpreter即可。

~/anaconda2/envs/tensorflow/bin/python

这样就把Tensorflow环境包括了进来,超级方便。

如果平时开发,想用一些轻量级的环境,就选择其他Python解释器就可以了。

(2)运行一个demo进行测试

import tensorflow as tf
hello = tf.constant('Hello, Tensorflow!')
sess = tf.Session()
print(sess.run(hello)) a = tf.constant(66)
b = tf.constant(88)
print(sess.run(a + b))

如果出现以下提示,就说明成功了,可以开始接下来的学习了~

Hello, Tensorflow!
154

五、总结

至此,我们便在机器上安装好了Tensorflow以及其开发环境。

总的来说,只需要以下几步:

  • 安装Anaconda
  • 通过conda建立Tensorflow运行环境
  • 激活Tensorflow运行环境
  • 安装Pycharm IDE

出处:http://www.cnblogs.com/wolfray/p/7828903.html

【深度学习笔记】Anaconda及开发环境搭建的更多相关文章

  1. 零基础Android学习笔记-01 安卓开发环境搭建

    安卓开发环境搭建. 1.首先准备JDK,从官网找到JDK下载地址,原来做.NET不熟悉JAVA,干脆用最新的,下载了JDK 1.7的版本.原来装过1.5还要配置环境变量什么的.但1.7好像很给力,装好 ...

  2. 【EJB学习笔记】——EJB开发环境搭建(Eclipse集成JBoss)

    之前一直用的EJB开发环境是他们搭建好的,直接拿来用,不过还是感觉老吃别人嚼好的不太好吃,所以自己动手来玩一玩. EJB开发依赖的最基本的环境:JDK.Eclipse.JBoss,这里简单介绍一下最基 ...

  3. Cocos2d-x学习笔记之Cocos2d-x开发环境搭建

    作者:刘昊昱 博客:http://blog.csdn.net/liuhaoyutz Cocos2d-x源码包下载地址: http://cocos2d-x.org/projects/cocos2d-x/ ...

  4. 【原】Java学习笔记001 - JAVA开发环境搭建

    1.JDK下载并安装,以jdk-7u45-windows-i586.exe为例(注意JDK的安装和JRE的安装是分开的) 2.“我的电脑”右键属性,找到“高级系统设置”,找到“高级”tab下的“环境变 ...

  5. ESP32学习笔记(一) 环境搭建与下载

    ESP32学习笔记(一) 环境搭建与下载 作者:Nevel 博客:nevel.cnblogs.com 转载请保留出处 前几天刚入手了ESP32模块,趁着放假有时间,我们先把ESP32的编译环境搭建好 ...

  6. Solr学习笔记之1、环境搭建

    Solr学习笔记之1.环境搭建 一.下载相关安装包 1.JDK 2.Tomcat 3.Solr 此文所用软件包版本如下: 操作系统:Win7 64位 JDK:jdk-7u25-windows-i586 ...

  7. qt学习教程1.qt开发环境搭建

    qt学习教程1.qt开发环境搭建 首先下载qt 下载地址:http://download.qt.io/archive/qt/ 此教程使用的版本为5.1.1 下载好后,打开安装包,然后点下一步 选择一个 ...

  8. Java学习笔记【一、环境搭建】

    今天把java的学习重新拾起来,一方面是因为公司的项目需要用到大数据方面的东西,需要用java做语言 另一方面是原先使用的C#公司也在慢慢替换为java,为了以后路宽一些吧,技多不压身 此次的学习目标 ...

  9. Hadoop学习笔记—22.Hadoop2.x环境搭建与配置

    自从2015年花了2个多月时间把Hadoop1.x的学习教程学习了一遍,对Hadoop这个神奇的小象有了一个初步的了解,还对每次学习的内容进行了总结,也形成了我的一个博文系列<Hadoop学习笔 ...

  10. 8086汇编语言学习(二) 8086汇编开发环境搭建和Debug模式介绍

    1. 8086汇编开发环境搭建 在上篇博客中简单的介绍了8086汇编语言.工欲善其事,必先利其器,在8086汇编语言正式开始学习之前,先介绍一下如何搭建8086汇编的开发环境. 汇编语言设计之初是用于 ...

随机推荐

  1. svn 教程

    1.将文件checkout到本地目录 svn checkout path(path是服务器上的目录)   例如:svn checkout svn://192.168.1.1/pro/domain    ...

  2. Linux命令详解-hwclock/chock

    hwclock命令可以用来显示/设置硬件时钟命令. 在Linux中有硬件时钟与系统时钟等两种时钟.硬件时钟是指主机板上的时钟设备,也就是通常可在BIOS画面设定的时钟.系统时钟则是指kernel中 的 ...

  3. python----tkinterm模块

    python tkinter学习——布局   目录 一.pack() 二.grid() 三.place() 四.Frame() 正文 布局 一.pack() pack()有以下几个常用属性: side ...

  4. SSM整合RocketMQ

    前言 RocketMQ是一个由阿里巴巴开源的消息中间件,脱胎于阿里内部使用的MetaQ,本文主要是写个小例子演示一下消息从生产到消费的过程. RocketMQ下载和安装 下载地址 http://roc ...

  5. CF910A

    题解: 简单dp dp[i]=min(dp[i-j])+1; 代码: #include<bits/stdc++.h> using namespace std; ; int n,m,dp[N ...

  6. SpringXML方式配置bean的生命周期lifecycle

    在Spring中容器在初始化某个bean的时候会有相应的生命周期,类似于Servlet,有相应的init,destory等方法 例如:如下service 1 2 3 4 5 6 7 8 9 10 11 ...

  7. 【PL/SQL编程】循环语句

    1. loop语句 loop plsql_sentence; exit when end_condition_exp; end loop; loop语句会先执行一次循环体,然后再判断“exit whe ...

  8. XML 测验

    测试地址http://www.w3school.com.cn/quiz/quiz.asp?quiz=xml 1.XML指的是? 您的回答:eXtensible Markup Language 2.XM ...

  9. EventUtil对象

    var EventUtil = { addHandler : function(element,type,handler){ if(element.addEventListener){ element ...

  10. ElasticSearchRepository和ElasticSearchTemplate的使用

    Spring-data-elasticsearch是Spring提供的操作ElasticSearch的数据层,封装了大量的基础操作,通过它可以很方便的操作ElasticSearch的数据. 版本说明 ...