Tensorflow入门之----helloworld

版权声明:本博客内原创文章禁止转载 https://blog.csdn.net/qq_32466233/article/details/81070809

这是第一篇tensorflow的博客,主要介绍tensorflow的运行机制和tensorflowhelloworld程序。tensorflow从它的名字可以看出,它的数据类型是tensor,至于tensor是什么,直接翻译过来我们可以理解为张量,张量可以理解为多维数组。

flow表示这个框架是以数据流图的形式来执行程序,首先你需要定义一个计算图,比如以下代码中的语句result=tf.add(number1,number2)。这个计算图是静止的,当代码运行到这里的时候,程序其实不会进行加法运算。接下来我们要定义一个会话,这也就是让tensorflow的计算图”流动“起来,会话的定义是sess=tf.Session()这一句,当然我们还可以用with tf.Session as sess,这样的语句。定义好数据流图和会话之后,就可以利用result=sess.run(result)这个语句来启动会话,使得之前定义的加法运算能够进行。

# -*- coding: utf-8 -*-
import tensorflow as tf
"""
Created on Mon Jul 16 20:05:52 2018

@author: Lenovo
"""
number1 = tf.constant(3)
number2 = tf.constant(4)
result=tf.add(number1,number2)
sess = tf.Session()
result=sess.run(result)
print("结果是")
print(result)

下图是运行的结果: 

runfile('E:/Study/programmingstudy/tensorflowhelloworld.py', wdir='E:/Study/programmingstudy')
结果是
7

tensorflow采用这种数据流图的形式,在一定程度上也限制了tensorflow的动态性,使得它不能够实时的改变神经网络的结构并且查看改变后的结果。

另外,需要提醒的一点是类似于number1 = tf.constant(3),这种数据定义的类型就是tensor类型,这种类型的操作只能用tf.XXX的操作才能进行,而且必须在会话中才能看到结果,在会话之前,直接用print输出来不会输出数值本身如果我们将代码稍微改一下,变成下图所示。

import tensorflow as tf

number1 = tf.constant(3)
number2 = tf.constant(4)
print(number1)

那么我们可以看到输出的结果变成了这样:

runfile('E:/Study/programmingstudy/tensorflowhelloworld.py', wdir='E:/Study/programmingstudy')
Tensor("Const_15:0", shape=(), dtype=int32)

总结,tensorflow先定义计算图,然后利用session会话的方式启动计算,这种计算的方法将计算定义和计算部分分开,是tensorflow这个框架的最大的特点。

猜你喜欢

转载自blog.csdn.net/qq_32466233/article/details/81070809