PaddlePaddle深度学习实践学习记录00

python库的操作

NumPy操作:
    用于科学计算。
        基本模块一:arrray(数组)模块。
基本操作:
               

#基本操作
import numpy as np

a= [1,2,3,4]            #a是python中的list类型
b = np.array(a)         #数组化后的b的类型变为array
type(b)                 #b的类型为

b.shape                 #shape参数表示array的大小:4
b.argmax()              #调用arg max()函数求array中最大索引:3
b.max()                 #调用max()求array中最大值:4
b.mean()                #调用mean()求array中平均值:2.5

  矩阵转置

#矩阵转置
x=np.array(np.arange(12).reshape((3,4)))
'''
[[0 1 2 3]
 [4 5 6 7]
 [8 9 10 11]]
'''
t = x.transpose()
'''
[[0 4 8]
 [1 5 9]
 [2 6 10]
 [3 7 11]]
'''

基础数学运算:

#对于一位的array支持python列表list支持的所有下标操作方法
#绝对值
a = np.abs(-1)
#sin函数
b = np.sin(np.pi/2)
#tanh函数
c=np.arctanh(0.462118)
#e为底的指数函数
d = np.exp(3)
#2的3次方
f=np.power(x,3)
#点积,1*3+2*4=11
g = np.dot([1,2],[3,4])
#开方
h = np.sqrt=(25)
#求和 10
l = np.sum([1,2,3,4])
#平均值
m = np.mean([4,5,6,7])
#标准差 0.968
p = np.std([1,2,3,2,1,3,2,0])

         二:random模块:

import numpy as np

#设置随机数种子
np.random.seed(42)

#产生一个1*3,[0,1)之间的浮点型随机数
np.random.rand(1,3)

#产生一个[0,1]之间的浮点型随机数
np.random.random()

#从a中有放回地随机采样7个
a = np.array([1,2,3,4,5,6,7])
np.choice(a,7)

#从a中无放回地随机采样7个
a = np.array([1,2,3,4,5,6,7])
np.choice(a,7,replace=False)

#对a进行乱序并返回一个新的array
b = np.randon.permutation(a)

#生成一个长度为9的随机bytes序列并作为str返回
# '\x96\x9d\xdl?\xe6\x18\xbb\x9a\xec'
np.random.bytes(9)

 有一个很违反直觉的概率题:一个选手去参加TV选秀,有三扇门,其中一扇门后有奖品,这扇门只有主持人知道。选手随机选一扇门,并不打开,主持人看到后,会打开其余两扇门中没有奖品的一扇门。然后主持人问选手:是否要改变一开始的选择?

        作为练习自行完成:

广播机制:

        对于array,执行对位运算时需要array的维度一致,若不一致,则在没有对齐的维度上分别执行对位运算,这种机制称为广播(Broadcasting)

c = np.array([
[1,2,3],
[4,5,6],
[7,8,9],
[10,11,12]
])
d = np.array([2,2,2])

c+d
'''
广播机制让计算的表达式保持简洁
d和c的每一行分别进行计算
array ([3,4,5],
       [6,7,8],
       [9,10,11],
       [12,13,14]])
'''

向量化:

对比用非向量版本实现点积和向量版本实现点积,向量本版效率高出约50倍。

非向量:循环(v+=v1[i]*v2[i])

向量:v = np.dot(v1,v2)

你可能感兴趣的:(paddlepaddle,深度学习,python)