【深度学习笔记】Anaconda及开发环境搭建
在学习了一段时间台大李宏毅关于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及开发环境搭建的更多相关文章
- 零基础Android学习笔记-01 安卓开发环境搭建
安卓开发环境搭建. 1.首先准备JDK,从官网找到JDK下载地址,原来做.NET不熟悉JAVA,干脆用最新的,下载了JDK 1.7的版本.原来装过1.5还要配置环境变量什么的.但1.7好像很给力,装好 ...
- 【EJB学习笔记】——EJB开发环境搭建(Eclipse集成JBoss)
之前一直用的EJB开发环境是他们搭建好的,直接拿来用,不过还是感觉老吃别人嚼好的不太好吃,所以自己动手来玩一玩. EJB开发依赖的最基本的环境:JDK.Eclipse.JBoss,这里简单介绍一下最基 ...
- Cocos2d-x学习笔记之Cocos2d-x开发环境搭建
作者:刘昊昱 博客:http://blog.csdn.net/liuhaoyutz Cocos2d-x源码包下载地址: http://cocos2d-x.org/projects/cocos2d-x/ ...
- 【原】Java学习笔记001 - JAVA开发环境搭建
1.JDK下载并安装,以jdk-7u45-windows-i586.exe为例(注意JDK的安装和JRE的安装是分开的) 2.“我的电脑”右键属性,找到“高级系统设置”,找到“高级”tab下的“环境变 ...
- ESP32学习笔记(一) 环境搭建与下载
ESP32学习笔记(一) 环境搭建与下载 作者:Nevel 博客:nevel.cnblogs.com 转载请保留出处 前几天刚入手了ESP32模块,趁着放假有时间,我们先把ESP32的编译环境搭建好 ...
- Solr学习笔记之1、环境搭建
Solr学习笔记之1.环境搭建 一.下载相关安装包 1.JDK 2.Tomcat 3.Solr 此文所用软件包版本如下: 操作系统:Win7 64位 JDK:jdk-7u25-windows-i586 ...
- qt学习教程1.qt开发环境搭建
qt学习教程1.qt开发环境搭建 首先下载qt 下载地址:http://download.qt.io/archive/qt/ 此教程使用的版本为5.1.1 下载好后,打开安装包,然后点下一步 选择一个 ...
- Java学习笔记【一、环境搭建】
今天把java的学习重新拾起来,一方面是因为公司的项目需要用到大数据方面的东西,需要用java做语言 另一方面是原先使用的C#公司也在慢慢替换为java,为了以后路宽一些吧,技多不压身 此次的学习目标 ...
- Hadoop学习笔记—22.Hadoop2.x环境搭建与配置
自从2015年花了2个多月时间把Hadoop1.x的学习教程学习了一遍,对Hadoop这个神奇的小象有了一个初步的了解,还对每次学习的内容进行了总结,也形成了我的一个博文系列<Hadoop学习笔 ...
- 8086汇编语言学习(二) 8086汇编开发环境搭建和Debug模式介绍
1. 8086汇编开发环境搭建 在上篇博客中简单的介绍了8086汇编语言.工欲善其事,必先利其器,在8086汇编语言正式开始学习之前,先介绍一下如何搭建8086汇编的开发环境. 汇编语言设计之初是用于 ...
随机推荐
- Highcharts 树状图(Treemap)
Highcharts 树状图(Treemap) 树状图 series 配置 设置 series 的 type 属性为 treemap ,series.type 描述了数据列类型.默认值为 " ...
- css去掉input记住密码的黄色
input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus,input:-webkit-autof ...
- mybatis定义拦截器
applicationContext.xml <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlS ...
- 【zznu-夏季队内积分赛3-G】2333
题目描述 “别人总说我瓜,其实我一点也不瓜,大多数时候我都机智的一批“ 宝儿姐考察你一道很简单的题目.给你一个数字串,你能判断有多少个连续子串能整除3吗? 输入 多实例输入,以EOF结尾,每行一个数字 ...
- MySQL Block Nested-Loop Join(BNL)
5.5 版本之前,MySQL本身只支持一种表间关联方式,就是嵌套循环(Nested Loop).如果关联表的数据量很大,则join关联的执行时间会非常长.在5.5以后的版本中,MySQL通过引入BNL ...
- RabbitMQ(4) 未路由的消息、TTL和死信
未路由的消息 当生产这发送的消息到达指定的交换器后,如果交换器无法根据自身类型.绑定的队列以及消息的路由键找到匹配的队列,默认情况下消息将被丢弃.可以通过两种方式 处理这种情况,一是在发送是设置man ...
- Mysql 建表时报错 invalid ON UPDATE clause for 'create_date' column
这个错误是由于mysql 版本问题导致的 `create_date` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '创建时间', ...
- The Interview Outline
************************* 一.基础部分************************* 1.1 常用数据类型 - 字符串 split/strip/replace/find/ ...
- (转)MapReduce Design Patterns(chapter 3 (part 1))(五)
Chapter 3. Filtering Patterns 本章的模式有一个共同点:不会改变原来的记录.这种模式是找到一个数据的子集,或者更小,例如取前十条,或者很大,例如结果去重.这种过滤器模式跟前 ...
- Kafka 单节点单Kafka Broker集群
下载与安装 从 http://www.apache.org/dist/kafka/ 下载最新版本的 kafka,这里使用的是 kafka_2.12-0.10.2.1.tgz $ tar zxvf ka ...