网站登记模板,建设一个网站需要多久多少钱,介绍网站开发的意义,无忧网站建设哪家好文章目录 1多维数组压缩维度扩充维度 2numpy类型转换深度学习常见的float32类型。 3数组扁平化4np.where()的用法5np.argmax()6图像拼接7生成同shape的图片#xff0c;指定数据类型 1多维数组
a.shape(3,2);既数组h3#xff0c;w2 a.shape(2,3,2);这里第一个2表示axis0维度上… 文章目录 1多维数组压缩维度扩充维度 2numpy类型转换深度学习常见的float32类型。 3数组扁平化4np.where()的用法5np.argmax()6图像拼接7生成同shape的图片指定数据类型 1多维数组
a.shape(3,2);既数组h3w2 a.shape(2,3,2);这里第一个2表示axis0维度上的三维数组中3,2数组的个数这里表示两个3,2数组。
压缩维度
这里axis0指代哪里是很重要的知识点。深度学习中经常压缩一个维度axis0。 numpy.squeeze()函数。 语法numpy.squeeze(a,axis None)作用是将shape维度为1的去掉但通常我们会指定axis0去除batchsize的维度。
扩充维度
np.expand_dims(a, axis1)将得到shape为(m, 1, n, c)的新数组新数组中的元素与原数组a完全相同。 np.expand_dims(a, axis2)将得到shape为(m, n, 1, c)的新数组新数组中的元素与原数组a完全相同。 np.expand_dims(a, axis3)将得到shape为(m, n, c, 1)的新数组新数组中的元素与原数组a完全相同。 ———————————————— 版权声明本文为CSDN博主「dekiang」的原创文章遵循CC 4.0 BY-SA版权协议转载请附上原文出处链接及本声明。 原文链接https://blog.csdn.net/weixin_41560402/article/details/105289015 2numpy类型转换
深度学习常见的float32类型。
函数 a.dtype ‘float32’ a np.random.random(4)a
array([ 0.0945377 , 0.52199916, 0.62490646, 0.21260126])a.dtype
dtype(float64)a.shape
(4,)a.dtype float32a
array([ 3.65532693e20, 1.43907535e00, -3.31994873e-25,1.75549972e00, -2.75686653e14, 1.78122652e00,-1.03207532e-19, 1.58760118e00], dtypefloat32)a.shape
(8,)3数组扁平化
假设C为三维数组 A C.flatten()
4np.where()的用法
一维数组返回一个array
a np.arange(8)
a
array([0, 1, 2, 3, 4, 5, 6, 7])np.where(a4)
(array([5, 6, 7], dtypeint64),)二维数组返回两个array。返回的第一个array表示行坐标第二个array表示纵坐标两者一一对应。
b np.arange(4*5).reshape(4,5)b
array([[ 0, 1, 2, 3, 4],[ 5, 6, 7, 8, 9],[10, 11, 12, 13, 14],[15, 16, 17, 18, 19]])np.where(b14)
(array([3, 3, 3, 3, 3], dtypeint64), array([0, 1, 2, 3, 4], dtypeint64))5np.argmax() 作用在axis方向上找最大值的坐标。 语义分割中将多通道预测结果pred_mask转化为单通道mask np.argmax(pre_mask,axis0)。即在通道方向上找到哪个通道的置信度最大比如1通道表示“汽车”2“人”3“猴子”那么返回的索引值刚好对应label将不同类别的像素点用不同颜色填充在原图上这样就可以起到分割的效果。
6图像拼接 np.hstack h-horizontal 水平方向拼接 np.hstack(array1,array2)np.vstack vertical 竖直方向拼接 np.vstack(array1,array2)7生成同shape的图片指定数据类型
# 以下是常用的两种类型
b np.zeros(a.shapedtypefloat32)
dtype np.int
dtype int8