numpy安装与常用的属性方法

最近两个月没有更新博客是因为我在尝试使用keras进行图像识别,然后里面就使用到了numpy,今天我就来写一下numpy为什么在机器学习领域那么使用的那么多,现在我们先来安装一下numpy

简单介绍numpy

numpy 底层采用c 语言编写 它的主要的使用领域是科学技术领域,非常适合做矩阵运算
什么是矩阵? 简单说一下,我们都知道在任何一门编程语言里面都有列表或者数组的概念
也可以叫做向量vector 数组或者列表是一维的就像这个样子[1, 2, 3, 4, 5]而矩阵呢,你可以把它理解为多维的数组大概像这样的[[1 2 3], [4 5 6]] 这就叫做矩阵,而numpy 非常适合做矩阵运算。那这个numpy又是如何跟图像识别关联起来的呢,首先我们来看一张图片,如下图

楼楼
在我们眼里的图片,可以看到是一只猫,但是计算机如果要做识别,它要怎么看这个图呢。
答案就是把这个图片转为计算机可以识别的样子。怎么转呢,什么样才是计算机可以识别的样子
这里我们就需要知道计算机要怎么看图了,我们都知道图像其实是由一个一个的像素点组成的,我们把
像素点使用数值来表达怎么样?使用0-255表示像素点,颜色越深数值越高,反之越浅,就像下面的图片
人类的眼中是这样的(图片来自知乎:https://www.zhihu.com/question/39022858)
8
计算机眼中是这样的
在这里插入图片描述

现在我们知道了计算机可以识别的图像是什么样的了,现在需要解决的问题是,我们有图像了,如何把它转成
计算机可以识别的样子,这里就需要使用python的视觉处理模块啦 cv2 模块
现在我们把刚才是图片转成计算机可以识别的样子
mc

看到了吗,图像被转换成了矩阵!这样就把numpy和机器学习关联起来了,实际上tensorflow等框架在做图像识别的时候,输入的数据就是这样的图像矩阵!! 好啦扯远啦。接下来继续讲numpy

安装numpy(环境Linux)

pip install numpy

常用的属性

1 查看矩阵的数据类型
dtype
比如我们查看刚才我们把图片转换成的矩阵数据类型是什么

import numpy as np
import cv2
image = cv2.imread("cat.jpg")
image = np.array(image)
image.dtype

## out ##

dtype('uint8')

2 查看矩阵的大小
shape

image.shape
## out ##
(407, 430, 3)
这个407 和 430 代表图像的宽度和高度, 3 代表RGB 三颜色在机器学习里面叫做通道(channel)如果图像是黑白色的 这个就是 1

在这里插入图片描述

3 查看矩阵的深度
ndim

image.ndim
## out ##

3

常用方法

1 生成随机矩阵
根据给定维度生成[0,1)之间的数据,包含0,不包含1

numpy.random.rand(3, 2) 
## out ##
[[0.38723131 0.56080535 0.28986393]
 [0.52948079 0.49717751 0.42280896]
 [0.51374604 0.56677323 0.90121968]]

2 生成 一维矩阵
arange 这个和python 里面的range 方法差不多

numpy.arange(6)
## out ##
array([0, 1, 2, 3, 4, 5])

3 将arange一维矩阵拆分成 n 维矩阵
reshape

numpy.arange(6).reshape((2, 3))

## out ##

array([[0, 1, 2],
       [3, 4, 5]])

4 创建矩阵

array 创建矩阵时里面的元素数据类型可以制定,使用参数dtype 进行指定

array = numpy.array([[1, 2], [3, 4]])

5 求矩阵最大值,最小值,平均值
max
min
mean

numpy.max(array)
numpy.min(array)
numpy.mean(array)

## out ##
4
1
2.5

以上就是numpy 的一些常用属性和方法,后续我会再回来补充如何使用keras进行图像识别,回见啦

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/lucky404/article/details/82878113