CS231n – 0. 课程简介

斯坦福CS231n深度学习与计算机视觉

Numpy Tutorial – 初始化数组/矩阵

import numpy as np

# 创建数值全部为0的,长度为10的数组
np.zeros(10,dtype=int)

# 创建数值全为1, shape为3x5的浮点型数组
np.ones((3,5),dtype=float)

# 创建数值全为3.14, shape为3x5的浮点型数组
np.full((3,5),3.14)

# 创建数值是一个线性序列,从0开始,到20结束,步长为2, shape为3x5的数组
np.arange(0,20, 2)

# 创建包含5个元素的数组,5个元素均匀的分布在0~1
np.linsapace(0, 1, 5)

# 创建shape为3x3,在0~1均匀分配的随机数组成的数组
np.random.random(3,3))

# 创建shape为3x3,均值为0,方差为1,正太分布的随即数数组
np.random.normal(0,1,(3,3))

# 创建shape为3x3,[0,10]区间的随机整形数组
np.random.randint(0,10,(3,3))

# 创建shape为3x3的单位矩阵
np.eye(3)12

# 创建一个由3个整形数组组成的未初始化的数组,数组的值是内存空间中的任意值
np.empty(3)

Matplotlib Tutorials :

#导入numpy和matplotlib库
>>> import numpy as np
>>> import matplotlib.pyplot as plt
#生成x轴刻度
>>> x=np.arange(6)
#生成y轴的值
>>> y=np.random.randint(0,10,6)
>>> print(x)
[0 1 2 3 4 5]
>>> print(y)
[3 8 3 4 8 3]
#创建一个figure画图对象
>>> plt.figure()
#用subplot方法绘制子图
>>> plt.subplot(121) # subplot方法中有3个int参数,分别代表1行,2列,最后一个1代表正在绘制第1个子图
>>> plt.bar(x,y,width=0.5,color=['r','g','b']) # color参数传入颜色列表,可以在一幅图中显示不同颜色
>>> plt.subplot(122) # 括号中最后一个1代表正在绘制第2个子图
>>> plt.bar(x,y,0.5,color=['r','g','b'],alpha=0.5)
>>> plt.show()

TensorFlow Tutorial : 文本补齐功能 pad_sequences

Function pad_sequences

From keras.preprocessing.sequence.pad_sequences

Parmas pad_sequences(sequences, maxlen=None, dtype=’int32’, padding=’pre’, truncating=’pre’, value=0.)

函数说明
将长为nb_samples的sequences转化为形如(nb_samples,nb_timesteps) 2D numpy array.
如果提供了参数maxlen, 则nb_timesteps最大值设为maxlen, 否则其值为最长序列的长度.
其他短于该长度的序列都会用0进行填充以达到maxlen.
长于nb_timesteps的序列将会被截断, 以使其匹配目标长度.
padding和截断发生的位置分别取决于参数padding和truncating.

参数说明
sequences : 浮点数或整数构成的两层嵌套列表.
maxlen : None或整数, 为序列的最大长度.
dtype : 返回的 numpy array的数据类型
padding : ‘pre’或‘post’,确定当需要补0时,在序列的起始还是结尾补
truncating : ‘pre’或‘post’,确定当需要截断序列时,从起始还是结尾截断
value : 浮点数,此值将在填充时代替默认的填充值0进行填充.

返回值
返回形如(nb_samples,nb_timesteps)的2D张量


import tensorflow as tf