常用!基础!吴恩达deeplearning.ai:Tensorflow中数据形式

由于一些历史遗留问题,Numpy和Tensorflow在数据处理方面存在一些不一致的地方,今天我们主要来了解一下其中一些约定俗成的形式,从而能够让你写出正确的代码(耍帅)。

文章目录


Tensorflow是如何表示数据的

特征向量

和上一节博客中的例子一样(详细链接在这里),我们先看看咖啡:

这个例子之中,特征向量有两个,分别是温度(摄氏度),烘焙时间(分钟),那么x的写法如下:

python 复制代码
x = np.array([[200.0, 17.0]])

看到这里你是否会有疑问,为什么这里有两个方括号嘞?是不是多此一举嘞?俺第一次看到这里也有同样的疑问。

关于Numpy矩阵

让我们再举出两个例子:

假设我们要创建一个两行三列的矩阵,它的内容为[[1,2,3], [4,5,6]],线性代数中一般称之为2*3矩阵,那么它的创建方式为:

python 复制代码
x = np.array([[1, 2, 3],
              [4, 5, 6]])

假设我们要创建一个四行两列的矩阵,它的内容为 0.1,0.2,-3,-4,-0.5,-0.6,7.0,8.0,同样的,这种矩阵被称为4*2矩阵,那么代码为:

python 复制代码
x = np.array([[0.1, 0.2],
              [-3, -4]
              [-0.5,-0.6]
              [7.0, 8.0])

当行数列数多了你会更容易明白,外面一层括号的作用是将里面矩阵的每一行组合到一起。

反过来说,如果你写的代码是这样的:

python 复制代码
x = np.array([200, 17])

那么它并不是一个矩阵,这仅仅是一个数字列表。

因此,在普通的线性回归与逻辑回归之中,我们使用x = np.array([200, 17])这种单层中括号 形式来表示,而由于Tensorflow之类的常常用于数据量很大的计算,因此需要用矩阵来进行,通常是双层中括号的表示形式。

激活向量

在上一节的代码示例中(详细链接在这里)第一层的代码:

python 复制代码
x = np.array([[200.0, 17.0]])
layer_1 = Dense(units=3, activation='sigmoid')
a_1 = layer_1(x)

你是否有疑惑其中a1的形式呢,如果你看过我上之前的一篇博客,那么应该会更容易理解,a1作为一个激活值,又假设units=3,因此a1是一个3*1的矩阵(例如([[1,2,3]])),如果你print(a1)的话,会得到:

python 复制代码
tf.Tensor([[1, 2, 3]], shape=(1, 3), dtype=float32)

Tensor(翻译成中文是张量 的意思)是Tensorflow团队创建的一种数据类型,专门用于矩阵计算。其中获得了三个数据,第一个当然是矩阵中数据的内容,第二个是矩阵的大小为1*3,一行三列,第三行是指矩阵中数据的类型为浮点型。

从技术上讲,张量比矩阵更加通用一点,但是在该课程中可以把张量理解为矩阵的一种。

当然,我们也有Numpy表示矩阵的方式:

python 复制代码
a1.numpy()
输出:array([[1, 2, 3]], dtype=float32)

这个含义和上面是差不多的,就不过多解释了。

如果你获得了一个张量形式的矩阵,而想把它转换为Numpy形式的话,仍然运行:

python 复制代码
a1.numpy()

它可以提取Tensor中的数据并且以numpy的形式返回。

第二层的代码是这样的:

python 复制代码
layer_2 = Dense(units=1, activation='sigmoid')
a_2 = layer_2(a_1)

所以其中的a2是什么样的?a2应该是一个类似于0.8之类的浮点数,但准确的说应该是一个1*1的矩阵,即一行一列。如果你打印a2的话会得到:

python 复制代码
tf.Tensor([[0.8]], shape=(1, 1), dtype=float32)

和我刚刚的解释一致。

当然你也可以查看它的Numpy形式:

python 复制代码
a2.numpy()
输出:array([[0.8]], dtype=float32)

在学习完本篇博客后,希望你可以了解数据在Numpy和Tensorflow中的区别,以及了解它们的转换方式和使用场景,从而更便于你进行深度学习的网络搭建。

为了给读者你造成不必要的麻烦,博主的所有视频都未开启仅粉丝可见,如果想要阅读我的其他博客,可以点个小小的关注哦╰(°▽°)╯

相关推荐
好看资源平台40 分钟前
网络爬虫——综合实战项目:多平台房源信息采集与分析系统
爬虫·python
果冻人工智能1 小时前
2025 年将颠覆商业的 8 大 AI 应用场景
人工智能·ai员工
代码不行的搬运工1 小时前
神经网络12-Time-Series Transformer (TST)模型
人工智能·神经网络·transformer
进击的六角龙1 小时前
深入浅出:使用Python调用API实现智能天气预报
开发语言·python
檀越剑指大厂1 小时前
【Python系列】浅析 Python 中的字典更新与应用场景
开发语言·python
石小石Orz1 小时前
Three.js + AI:AI 算法生成 3D 萤火虫飞舞效果~
javascript·人工智能·算法
湫ccc1 小时前
Python简介以及解释器安装(保姆级教学)
开发语言·python
孤独且没人爱的纸鹤1 小时前
【深度学习】:从人工神经网络的基础原理到循环神经网络的先进技术,跨越智能算法的关键发展阶段及其未来趋势,探索技术进步与应用挑战
人工智能·python·深度学习·机器学习·ai
阿_旭1 小时前
TensorFlow构建CNN卷积神经网络模型的基本步骤:数据处理、模型构建、模型训练
人工智能·深度学习·cnn·tensorflow
羊小猪~~1 小时前
tensorflow案例7--数据增强与测试集, 训练集, 验证集的构建
人工智能·python·深度学习·机器学习·cnn·tensorflow·neo4j