Tensorflow学习笔记

来源:互联网 发布:asp.net crm系统源码 编辑:程序博客网 时间:2024/06/05 17:54

一、基本介绍

TensorFlow是一个基于图的计算机系统,主要应用于机器学习。

从字面上理解,TensorFlow=Tensor+Flow

Tensor:中文可以理解为张量,即任意维度的数组。一个向量就是一个1维的Tensor,矩阵就是2维的Tensor。

Flow:指的就是计算机中的数据流。

当我们想使用TensorFlow做什么的时候,一般需要三个操作步骤:

1.创建Tensor

2.添加Operations(Operations输入Tensor,然后输出另一个Tensor)

3.执行计算(也就是运行一个可计算的图)

TensorFlow有个图的概念,Operations会作为图的节点添加到图中,在添加某Operation的时候,不会立即执行该Operation。TensorFlow会等待所有Operation添加完毕,然后TensorFlow会优化该计算图,以便决定如何执行计算。

二、简单实例:向量相加

下面通过两个向量相加的简单例子来看一下TensorFlow的基本用法。

【1. 1. 1. 1.】+[2. 2. 2. 2.] =[3. 3. 3. 3.]

import tensorflow as tf

with tf.Session():

    input = tf.constant([1.0 1.0 1.0 1.0])

    input2 = tf.constant([2.0 2.0 2.0 2.0])

    output = tf.add(input, input2)

    result = output.eval()

   print result


TensorFlow的计算必须要在一个Session的上下文中。Session会包含一个计算图,而这个图就是你添加的Tensor和Operations.当然,在添加Tensor和Opreation的时候,它们都不会立即进行计算,而是等到最后需要计算Session结果的时候。当TensorFlow之后了计算图中的所有Tensor和Operation之后,其会知道如何去优化和执行图的计算。

两个tf.constant()语句向计算图中创建了两个Tensor。调用tf.constant()的动作大致可以说为创建两个指定维度的Tensor,以及两个constant操作符用于初始化相对应的Tensor(不会立即执行)。

tf.add()语句想计算图中添加了一个add操作,当不会立即执行,这时候add操作的结果还无法获取。此时,计算图大致如下所示:


result = output.eval()   print result

当我们最后调用的Tensor是常量(constant),而在我们实际的机器学习任务中,我们我们往往需要变量(variable)来记录一下可变的状态(例如神经网络节点的权重参数等)。下面我们来看一个简单的variable例子。

0 0
原创粉丝点击