点击上方“机器学习与生成对抗网络”,关注"星标"
获取有趣、好玩的前沿干货!
知乎 姚烦了
https://zhuanlan.zhihu.com/p/26478010
编辑 |深度学习这件小事
文仅交流,侵删
numpy可以说是Python运用于人工智能和科学计算的一个重要基础,近段时间恰好学习了numpy,pandas,sklearn等一些Python机器学习和科学计算库,因此在此总结一下常用的用法。
引入numpy库的方式:import numpy as np四则运算符可以直接用于数组(一维或多维)计算:
比较操作也可直接进行,如下,比较x1和x2各对应元素的大小,返回的是一个bool型数组。同理,可用的操作符有 ‘==’,‘!=’,‘<’,‘>’,‘<=’,‘>=’等。另外可以使用数组的any()或all()方法。只要数组中有一个值为True,则any()返回True;而只有数组的全部元素都为True,all()才返回True。
想要了解更多的numpy自带的ufunc函数,可以查看这篇博客:
numpy教程:数学函数和基本统计函数
https://blog.csdn.net/pipisorry/article/details/41214819
自定义ufunc函数:frompyfunc(func,nin,nout) 函数可以将计算单个值的函数转换成一个可对数组中每个元素进行计算的ufunc函数。其中nin是输入func的参数的个数,nout是func返回值的个数。如下例。
reduce方法(与Python的reduce函数类似,其沿着axis轴对array进行操作)
accumulate方法(其作用和reduce方法类似,但是会保存中间结果)
outer方法(对其两个参数数组的每两对元素的组合进行运算,计算外积):若数组a的维数为M,数组b的维数为N,则ufunc函数op的outer()方法对a、b数组计算所生成的数组c的维数为M+N,c的形状是a、b的形状的结合。例如a的形状为(2,3),b的形状为(4,5),则c的形状为(2,3,4,5)。
矩阵乘法(dot乘法,注意要符合矩阵乘法规则)
内积(inner,计算向量/矩阵内积):和dot乘积一样,对于两个一维数组,计算的是这两个数组对应下标元素的乘积和;对于多维数组a和b,它计算的结果数组中的每个元素都是数组a和b的最后一维的内积,因此数组a和b的最后一维的长度必须相
计算公式为:
inner(a, b)[i,j,k,m] = sum(a[i,j,:]*b[k,m,:])
外积(outer,计算外积):只按照一维数组进行计算,如果传入参数是多维数组,则先将此数组展平为一维数组之后再进行运算。outer乘积计算的列向量和行向量的矩阵乘积
解线性方程组(solve):solve(a,b)有两个参数a和b。a是一个N*N的二维数组,而b是一个长度为N的一维数组,solve函数找到一个长度为N的一维数组x,使得a和x的矩阵乘积正好等于b,数组x就是多元一次方程组的解。
a.tofile(file_name) ,保存a到file_name文件中,file_name为字符串类型,如‘a.txt’等;从文件中读回a数组时需要指明类型,如b=np.fromfile(file_name,dtype=np.float)时会报错,正确的使用方式是b=np.fromfile(file_name,dtype=np.int32)
save和load方法(写入文件和从文件读回都不需要指明类型,存储文件类型为npy格式文件):
np.save(“a.npy”, a) # 将array a存入a.npy文件中 c = np.load( “a.npy” ) # 从a.npy文件中读回array asavetxt和loadtxt方法(保存为txt格式文件):
np.savetxt(“a.txt”, a) # 将array a存入a.txt文件中 np.loadtxt(“a.txt”) # 从a.txt文件中读回array a 猜您喜欢: 超100篇!CVPR 2020最全GAN论文梳理汇总! 拆解组新的GAN:解耦表征MixNMatch StarGAN第2版:多域多样性图像生成 附下载 | 《可解释的机器学习》中文版 附下载 |《TensorFlow 2.0 深度学习算法实战》 附下载 |《计算机视觉中的数学方法》分享 《基于深度学习的表面缺陷检测方法综述》 《零样本图像分类综述: 十年进展》 《基于深度神经网络的少样本学习综述》