欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Tensorflow入门之----helloworld

程序员文章站 2022-06-16 23:10:42
...

这是第一篇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这个框架的最大的特点。

 

相关标签: tensorflo dee