首页 > 编程笔记

第一个TensorFlow程序(hello world)详解

在任何计算机语言中学习的第一个程序是都是 Hello world,本教程中也将遵守这个惯例,从程序 Hello world 开始。

上一节进行 TensorFlow 安装验证的代码如下:
 

 
下面一起看一下这段简单的代码:
  1. 导入tensorflow,这将导入 TensorFlow 库,并允许使用其精彩的功能:

    import tensorflow as if

  2. 由于要打印的信息是一个常量字符串,因此使用 tf.constant:

    message = tf.constant('Welcome to the exciting world of Deep Neural Networks!')

  3. 为了执行计算图,利用 with 语句定义 Session,并使用 run 来运行:

    with tf.Session() as sess:
        print(sess.run(message).decode())

  4. 输出中包含一系列警告消息(W),具体取决于所使用的计算机和操作系统,并声明如果针对所使用的计算机进行编译,代码运行速度可能会更快:


     
  5. 如果使用 TensorFlow GPU 版本,则还会获得一系列介绍设备的提示消息(I):


     
  6. 最后是在会话中打印的信息:

    Welcome to the exciting world of Deep Neural Networks!

TensorFlow 程序解读分析

前面的代码分为以下三个主要部分:
现在来解读输出。收到的警告消息提醒 TensorFlow 代码可以以更快的速度运行,这能够通过从 source 安装 TensorFlow 来实现(本章后面的章节中会提及)。收到的提示消息给出计算设备的信息。这两个消息都是无害的,如果不想看到它们,可以通过以下两行代码实现:

import os
os.environ['TF_CPP_MIN_LOG_LEVEL']='2'

以上代码用于忽略级别 2 及以下的消息(级别 1 是提示,级别 2 是警告,级别 3 是错误)。

该程序打印计算图执行的结果,计算图的执行则使用 sess.run() 语句,sess.run 求取 message 中所定义的 tensor 值;计算图执行结果输入到 print 函数,并使用 decode 方法改进,print 函数向 stdout 输出结果:

b'Welcome to the exciting world of Deep Neural Networks!'

这里的输出结果是一个字节字符串。要删除字符串引号和“b”(表示字节,byte)只保留单引号内的内容,可以使用 decode() 方法。

关注公众号「站长严长生」,在手机上阅读所有教程,随时随地都能学习。本公众号由站长亲自运营,长期更新,坚持原创,专注于分享创业故事+学习历程+工作记录+生活日常+编程资料。

公众号二维码
微信扫码关注公众号

优秀文章