Python深度学习 学习笔记2 神经网络的数据表示

1.Tensor(张量)

张量是一个数据容器,包含的数据几乎总是数值数据,因此是数字的容器。矩阵是二维张量。

2.scalar(标量,标量张量,零维张量,0D张量)

标量张量有0个轴(ndim == 0)。张量轴的个数也叫阶。

>>>import numpy as np #将numpy加载为np
>>>x=np.array(12)
>>>x
array(12)
>>>x.ndim
0

3.vector(向量,1D张量)

数字组成的数组叫做向量或一维张量。一位张量只有一个轴

>>>x=np.array([12,3,6,14,7]) #5D向量,但轴是1
>>>x
array([12,3,6,14,7])
>>>x.ndim
1

4.matrix(矩阵,2D张量)

矩阵有两个轴(第一个轴上的元素叫做行(row),第二个轴上的元素叫做列(column))

>>>x=np.array([[5,78,2,34,0],
               [6,79,3,35,1],
               [7,80,4,36,2]])
>>>x.ndim
2

5. 3D张量与更高维张量

将多个矩阵组合成一个新的数组,可以得到一个3D张量,直观理解为数字组成的立方体。

6.关键属性

阶的个数(ndim)、形状(shape)、数据类型(dtype)

#加载MNIST数据集
from keras.datasets import mnist
(train_images,train_labels),(test_images,test_labels)=mnist.load_data()

>>>print(train_images.ndim)
3
>>>print(train_images.shape)
(60000,28,28)
>>>print(train_images.dtype)
uint8
#这里的train_images是由60000个矩阵组成的数组,每个矩阵由28*28个整数组成

显示该3D张量中第4个数字(第4个图像样本)

digit=train_images[4]
import matplotlib.pyplot as plt
plt.imshow(digit,cmap=plt.cm.binary)
plt.show()

7.张量切片

选择张量的特定元素叫做张量切片。

#选择第10~100个数字,将其放在形状位(90,28,28)的数组中
>>>my_slice=train_images[10:100]
>>>print(my_slice.shape)
(90,28,28)

#等同于以下,给出了切片沿张量轴(row,column)的起始索引和结束索引
>>>my_slice=train_images[10:100,:,:]
>>>my_slice.shape
(90,28,28)
>>my_slice=train_images[10:100,0:28,0:28]
>>my_slice.shape
(90,28,28)

#所以图像右下角选出14*14像素区域
my_slice=train_images[:,14:,14:]

#所有图像中心裁剪出14*14像素区域
my_slice=train_images[:,7:-7,7:-7]

8.数据批量

通常,深度学习中所有数据张量的第一个轴(0轴)都是样本轴。

深度学习模型不会同时处理整个数据集,而是将数据拆分成小批量(batch)。

batch=train_images[:128]            #第一个批量
batch=train_images[128:256]         #第二个批量
batch=train_images[128*n:128*(n+1)] #第n个批量

 对于这种批量张量,第一个轴叫做批量轴或批量维度。

9.图像数据

128张灰度图像组成的批量可以保存在一个形状为(128,256,256,1)的张量中

128张彩色图像组成的批量可以保存在一个形状为(128,256,256,3)的张量中

10.视频数据

一个以每秒4帧采样的60秒YouTube视频片段,视频尺寸为144*256,这个视频共有240帧。

4个这样的视频片段组成的批量将保存在形状为(4,240,144,256,3)的张量中。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值