Tensorflow框架

这篇博客介绍了Tensorflow,Google开源的基于数据流图的科学计算库,用于机器学习。文章详细阐述了如何构建图,包括创建常量、变量和占位符,并通过实例展示了Tensorflow的矩阵乘法操作。此外,还讲解了启动图的过程,以及如何使用会话来执行图。此外,还提到了张量Tensor的类型,如常量和变量,并提供了相关操作示例。最后,简要介绍了Tensorboard,一个用于可视化Tensorflow图和数据的强大工具。
摘要由CSDN通过智能技术生成

1. 什么是Tensorflow

Tensorflow是Google开源的基于数据流图的科学计算库,适用于机器学习。Tensor的意思是张量,向量是一阶张量,矩阵是二阶张量;flow是流动的意思。因此Tensorflow的意思是张量在图中流动。

Tensorflow使用tensor来表示数据;使用图(graph)来表示计算任务;在会话(session)的上下文(context)中执行图。

TensorFlow是一个编程系统,使用图来表示计算任务。图中的节点被称之为op (operation 的缩写)。一个op获得0个或多个Tensor,执行计算,产生0个或多个Tensor。每个Tensor 是一个类型化的多维数组。一个TensorFlow图描述了计算的过程。为了进行计算,图必须在会话里被启动。会话将图的op分发到诸如CPU或GPU之类的设备上,同时提供执行op的方法。这些方法执行后,将产生的tensor返回。在Python语言中,返回的tensor是numpy中的ndarray对象。

2.构建图

构建图的第一步是创建源op(source op),源op不需要任何输入,例如常量(Constant)。源op的输出被传递给其它op做运算。

import tensorflow as tf

# 创建一个常量 op, 产生一个 1x2 矩阵. 这个 op 被作为一个节点加到默认图中.

matrix1 = tf.constant([[3., 3.]])

 

# 创建另外一个常量 op, 产生一个 2x1 矩阵.

matrix2 = tf.constant([[2.],[2.]])

 

# 创建一个矩阵乘法 matmul

product = tf.matmul(matrix1, matrix2)

TensorFlow的Python库有一个默认图(default graph),op构造器可以为其增加节点。这个默认图对许多程序来说已经足够用了。

import tensorflow as tf

 

# 创建一个常量 op, 产生一个 1x2 矩阵. 这个 op 被作为一个节点加到默认图中.

# 构造器的返回值代表该常量 op 的返回值.

matrix1 = tf.constant([[3., 3.]])

 

# 创建另外一个常量 op, 产生一个 2x1 矩阵.

matrix2 = tf.constant([[2.],[2.]])

 

# 创建一个矩阵乘法 matmul

product = tf.matmul(matrix1, matrix2)

 

if matrix1.graph is tf.get_default_graph():

print('matrix1所在的图(Graph)是当前上下文默认的图')

 

if matrix2.graph is tf.get_default_graph():

print('matrix2所在的图(Graph)是当前上下文默认的图')

 

if product.graph is tf.get_default_graph():

print('product所在的图(Graph)是当前上下文默认的图')

运行结果:

matrix1所在的图(Graph)是当前上下文默认的图

matrix2所在的图(Graph)是当前上下文默认的图

product所在的图(Graph)是当前上下文默认的图

3.启动图

构造阶段完成后,才能启动图。启动图的第一步是创建一个Session对象,如果无任何创建参数,会话构造器将启动默认图。

# 方法1

import tensorflow as tf

 

# 创建一个常量 op, 产生一个 1x2 矩阵. 这个 op 被作为一个节点加到默认图中.

matrix1 = tf.constant([[3., 3.]])

 

# 创建另外一个常量 op, 产生一个 2x1 矩阵.

matrix2 = tf.constant([[2.],[2.]])

 

# 创建一个矩阵乘法 matmul op , 把 'matrix1' 和 'matrix2' 作为输入.

# 返回值 'product' 代表矩阵乘法的结果.

product = tf.matmul(

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值