03 - Data Processing 数据操作

首先我们确认TensorFlow的版本

import tensorflow as tf
# 确认TensorFlow的版本
print(tf.__version__)

在TensorFlow中,tensor是一个类,也是存储和变换数据的主要工具。 如果你之前用过NumPy,你会发现tensor和NumPy的多维数组非常类似。 然而,tensor提供GPU计算和自动求梯度等更多功能,这些使tensor更加适合深度学习。

1.TensorFlow的基本功能

首先用arange创建一个行向量

# constant()函数表示
x = tf.constant(range(12))
print(x.shape)

关于constan函数在TensorFlow中表示张量。

关于张量:

多维数组可以被称之为张量,和numpy中的数组一样,张量也有类型和形状。在tensorflow 的python API中,可以用numpy中的ndarrays来表示。 通常用来保存浮点数据,也可以用来存储字符串(任意字节的数组)。


第一个值value是必须的,可以是一个数值,也可以是一个列表。

后面四个参数可写可不写,第二个参数表示数据类型,一般可以是tf.float32, tf.float64等:

第三个参数表示张量的“形状”,即维数以及每一维的大小。如果指定了第三个参数,当第一个参数value是数字时,张量的所有元素都会用该数字填充:

第四个参数name可以是任何内容,主要是字符串就行。

第五个参数verify_shape默认为False,如果修改为True的话表示检查value的形状与shape是否相符,如果不符会报错。

具体可以看这个https://blog.csdn.net/csdn_jiayu/article/details/82155224

def constant_v1(value,
                dtype: Any = None,
                shape: Any = None,
                name: str = "Const",
                verify_shape: bool = False)
TensorFlow基本功能.png

广播机制

两个形状相同的tensor做按元素运算。当对两个形状不同的tensor按元素运算时,可能会触发广播(broadcasting)机制:先适当复制元素使这两个tensor形状相同后再按元素运算。

广播机制.png

索引

在tensor中,索引(index)代表了元素的位置。tensor的索引**从0开始逐一递增。

我们指定了tensor的行索引截取范围[1:3]。依据左闭右开指定范围的惯例,它截取了矩阵X中行索引为1和2的两行。

tf.assign()的作用类似于python操作符中的=理解为tensorflow中为操作符进行赋值操作。


索引.png

tensor 和 NumPy 相互变换

我们可以通过array函数和asnumpy函数令数据在NDArray和NumPy格式之间相互变换。下面将NumPy实例变换成tensor实例。


相互转换.png

你可能感兴趣的:(03 - Data Processing 数据操作)