深度学习框架之TensorFlow初探

简介

近几年深度学习技术越来越火,相关框架也有不少,比如TensorFlow、Caffe、Keras、CNTK、Torch7、PyTorch、MXNet、Leaf、Theano、DeepLearning4j、Lasagne、Neon等,而在开源社区GitHub上由谷歌开发的TensorFlow在star数量、fork数量、contributor数量这三个数据上都完胜其他框架。所以想学习一下这个框架,记录一下学习的过程及在学习中遇到问题解决的方案。关于TensorFlow框架网上相关介绍有很多,在这里就不做重复介绍了。

安装TensorFlow

网上关于如何安装TensorFlow的文章不少,基本上有三种:

  • 使用Docker安装
  • 使用pip安装
  • 从源代码编译安装

我是在ubuntu系统下安装的,一开始在终端用pip安装,但是不知道什么原因安装失败了,后来在PyCharm这个IDE中安装成功,由于电脑没有GPU,所以安装的是CPU版的,就是计算速度上会比有GPU的慢很多。

测试Tensorflow

刚安装好后,第一个程序肯定还是熟悉的hello world了,哈哈,不过我写的是hello tensorflow。下面是一个简单的demo

import tensorflow as tf

hello = tf.constant('hello, tensorflow!')
sess = tf.Session()
print(sess.run(hello))
a = tf.constant(10)
b = tf.constant(20)
print(sess.run(a+b))
sess.close()

结果输出hello, tensorflow!和两个数字的和,显示如下图所示
这里写图片描述
但是同时也弹出来一个警告Your CPU supports instructions that this TensorFlow binary was not compiled to use: SSE4.1 SSE4.2 AVX
意思就是说你的Tensorflow不能使用SSE4.1 SSE4.2 AVX AVX2 FMA这些指令集进行编译。

解决编译警告的方案

  • 该警告属于编译问题,cpu没有得到充分的利用,在网上查到说从官网下载源码重新编译安装就不会有这种问题。
  • 通过pip安装的是manylinux1_X86这是一个通用版本,根据指令集不同,需要进行不同的编译。附上github的链接:TensorFlow binaries supporting AVX, FMA, SSE etc.
  • 通过在程序中以下添加代码可以忽略这个警告
import os
os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'

总结

关于tensorflow的初探就先到这里吧,在之后的时间里会继续学习该框架,进一步深入了解,并做好相关的学习记录。

你可能感兴趣的:(Deep,Learning,Tensorflow)