【TensorFlow】初探TensorFlow

自从Google将TensorFlow机器学习系统开源之后,越来越多的人开始接触TensorFlow,而我也来试探一下它的底(虽然我还是个菜鸟敲打)

首先来了解一下TensorFlow

TensorFlow是由Google研发的深度学习库,用于各种感知和语言理解任务的机器学习。它的一大特点是支持异构设备分布式计算,它能够在各个平台上自动运行模型,从手机,单个CPU/GPU到成百上千GPU卡组成的分布式系统。Tensor(张量)意味着N维数组,Flow(流)意味着基于数据流图的计算,TensorFlow即为张量从图的一端流动到另一端。另外,Tensorboard是用来可视化TensorFlow的计算图。

TensorFlow的一些基本概念

  1. graph(图):一个TensorFlow的计算即是数据流图。一个图中包含了操作(operation)对象,这是计算节点,创建的Tensor对象即是数据节点,
  2. session(会话):一个session即是运行操作的环境或者称为上下文。
  3. tensor(张量):存储数据,是一个类型化的多维数组。
  4. Variable(变量):维护图执行过程中的状态信息
  5. feed:在TensorFlow程序运行的时候供给数据的操作
  6. fetch:取回操作的输出内容
  7. constant(常量):即数值不变的量
  8. placeholder(占位符):输入数据所用

TensorFlow程序构建过程以及运行过程

  1. TensorFlow程序通常被组织成一个构建阶段和一个执行阶段。构建阶段,op的执行步骤被描述成一个图,执行阶段,使用会话执行图中的op.
  2. 构建图表(Build the Graph)
  •     inference()----构建好图表,满足促使神经网络向前反馈并做出预测的要求,能够在返回的时候包含了预测结果的Tensor。
  •     loss()----构建好损失函数,使训练时拟合正确率高的模型
  •     training()----训练函数,应用学习算法针对损失函数对数据进行训练拟合.

      3.运行图表:创建session对象,graph在session中被启动,session将图中的op分发到CPU或者GPU之类的,同时提供执行op的方法。

接下来来创建一个简单的TensorFlow程序吧!

import tensorflow as tf
# 创建两个常量,这两个即是数据节点,也是operation
matrix1=tf.constant([[3,3]])
matrix2=tf.constant([[3],[3]])
# 创建一个矩阵乘法matmul operation
product=tf.matmul(matrix1,matrix2)
# 没有指明graph,因此用默认图,创建一个Session上下文环境
sess=tf.Session()
# 运行上述构建的乘法矩阵操作图
result=sess.run(product)
print(result)
# 关闭Session
sess.close()

其中上述sess.close处可以用with tf.Session() as sess 语句实现,不用手动关闭session。

因我技术不精湛抓狂,先说到这里.

猜你喜欢

转载自blog.csdn.net/ximingren/article/details/79871094