您的位置:首页 > 其它

【Tensorflow专题-01】深度学习应用介绍及tensorflow基本使用

2018-01-02 10:07 621 查看
摘要:这篇文章主要介绍深度学习的几个应用领域及安装tensorflow

深度学习应用领域

图像识别

语音识别

音频处理

自然语言处理

机器人

生物信息处理

电脑游戏

搜索引擎

网络广告投放

医学自动诊断

金融

基本工具介绍

Protocol Buffer:结构化数据工具

Bazel:自动化构建工具,用来编译程序

TensoFlow介绍

TensorFlow是由谷歌开发并维护的深度学习框架,在目前主流的深度学习框架中处于领先地位



安装TensorFLow

使用Python的pip命令安装,楼主安装的是
CPU
版本

楼主使用的
Python版本:3.6.1|Anaconda 4.4.0


安装命令:
pip install tensorflow --upgrade


等待安装,一切正常的话,安装完成后进行一下测试:

import tensorflow


如果导入正常,说明安装成功,下面使用一个例子打印出
Hello world


# 测试Tensorflow
import tensorflow as tf

__author__ = 'yooongchun'

def test():
hello = tf.Variable('Hello world', name='helloworld')

with tf.Session() as sess:
initialize = tf.global_variables_initializer()
sess.run(initialize)
print(sess.run(hello))


main
函数中调用
test
:

if __name__=='__main__':
test()


上面的示例会打印出如下结果:

b'Hello world'


TensorFlow 入门

计算图:TensoFlow是一个通过计算图的形式来表述计算的编程系统。TensorFlow中的每一个计算都是计算图上的一个节点,而节点之间的边描述了计算之间的依赖关系。如下图示意



计算图例子

# TensorFlow 计算图使用例子

# author = yooongchun

# time = 20180102

import tensorflow as tf

# 新建一个计算图

g1=tf.Graph()
with g1.as_default():
v=tf.get_variable("v",initializer=tf.zeros_initializer(),shape=[1])

# 新建另一个计算图,说明计算图之间的变量不共享

g2=tf.Graph()
with g2.as_default():
v=tf.get_variable("v",initializer=tf.ones_initializer(),shape=[1])

# 读取计算图中变量值

with tf.Session(graph=g1) as sess:
tf.global_variables_initializer().run()
with tf.variable_scope('',reuse=True):
print(sess.run(tf.get_variable('v')))

with tf.Session(graph=g2) as sess:
tf.global_variables_initializer().run()
with tf.variable_scope('',reuse=True):
print(sess.run(tf.get_variable('v')))


运行结果:

2018-01-02 09:05:11.360838: W C:\tf_jenkins\home\workspace\rel-win\M\windows\PY\36\tensorflow\core\platform\cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use AVX instructions, but these are available on your machine and could speed up CPU computations.
2018-01-02 09:05:11.366188: W C:\tf_jenkins\home\workspace\rel-win\M\windows\PY\36\tensorflow\core\platform\cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use AVX2 instructions, but these are available on your machine and could speed up CPU computations.
[ 0.]
[ 1.]
[Finished in 2.5s]


使用集合管理不同类别资源:TensorFlow提供了一些自动维护的常用集合,如下图所示



TensorFlow 计算模型:张量–TensorFlow管理数据的方式,Tensorflow中所有的数据都通过张量表示,简单来说就是多维数组。其中,零维张量及标量(scalar),为一个数,一阶张量为向量(vector),以此类推。张量中保存的是运算过程而非结果,如下例子所示:

# TensorFlow 张量运算例子

# author = yooongchun

# time = 20180102

import tensorflow as tf

a=tf.constant([1.0,2.0],name='a')
b=tf.constant([2.0,3.0],name='b')
result=tf.add(a,b,name='add')
print(result)


结果:

Tensor("add:0", shape=(2,), dtype=float32)
[Finished in 2.6s]


上面的结果表示:

结果来自add节点的第一个输出,结果为一维数组长度为2,类型为float32

Tensorflow运行模型–会话(Session):用来执行定义好的运算,比如对上面的程序计算结果

# TensorFlow 会话运算例子

# author = yooongchun

# time = 20180102

import tensorflow as tf

a=tf.constant([1.0,2.0],name='a')
b=tf.constant([2.0,3.0],name='b')
result=tf.add(a,b,name='add')

with tf.Session() as sess:
print(sess.run(result))

# 结果

# [ 3.  5.]










内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: