python矩阵

Numpy 常用API学习(全)

北慕城南 提交于 2019-12-06 04:59:33
Numpy 常用API学习(全) 一、介绍 NumPy(Numerical Python) 是 Python 语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。 NumPy 的前身 Numeric 最早是由 Jim Hugunin 与其它协作者共同开发,2005 年,Travis Oliphant 在 Numeric 中结合了另一个同性质的程序库 Numarray 的特色,并加入了其它扩展而开发了 NumPy。NumPy 为开放源代码并且由许多协作者共同维护开发。 二、常用API 2.1.numpy.genfromtxt 从文本上读取相应的矩阵数据,delimiter是分隔符 import numpy​data = numpy.genfromtxt("data.txt",dtype=str,delimiter=",")​print(data)print(type(data))print(help(numpy.genfromtxt)) 2.2.numpy.array 将列表转换为矩阵 vector = numpy.array([5,10,15,20])matrix = numpy.array([[5,10,15],[20,25,30],[35,40,45]])print(vector)print(matrix) 2.3.vector

深度学习之数学基础(线性代数篇)

空扰寡人 提交于 2019-12-06 01:53:09
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接: https://blog.csdn.net/z4909801/article/details/78359952 2-1、标量 一个标量就是一个单独的数,一般用小写的的变量名称表示。 2-2、向量 一个向量就是一列数,这些数是有序排列的。用过次序中的索引,我们可以确定每个单独的数。通常会赋予向量粗体的小写名称。当我们需要明确表示向量中的元素时,我们会将元素排 列成一个方括号包围的纵柱: 我们可以把向量看作空间中的点,每个元素是不同的坐标轴上的坐标。 2-3、矩阵 矩阵是二维数组,其中的每一个元素被两个索引而非一个所确定。我们通常会赋予矩阵粗体的大写变量名称,比如A。 如果一个实数矩阵高度为m,宽度为n,那么我们说 。 2-4、张量 几何代数中定义的张量是基于向量和矩阵的推广,通俗一点理解的话,我们可以将标量视为零阶张量,矢量视为一阶张量,那么矩阵就是二阶张量。 例如,可以将任意一张彩色图片表示成一个三阶张量,三个维度分别是图片的高度、宽度和色彩数据。将这张图用张量表示出来,就是最下方的那张表格: 其中表的横轴表示图片的宽度值,这里只截取0~319;表的纵轴表示图片的高度值,这里只截取0~4;表格中每个方格代表一个像素点,比如第一行第一列的表格数据为[1.0,1.0,1

python numpy的基本操作

三世轮回 提交于 2019-12-06 01:09:23
站长资讯平台 :文章目录 0、NumPy 与 ndarry 1、数组属性查看:类型、尺寸、形状、维度 2、numpy元素中数据存储方式,数据类型,类型转换 2.1 查看元素数据存储类型 2.2 元素数据存储类型转换 3、List类型与numpy. ndarray类型的互相转换 4、创建 ndarray 数组 4.1 方法一:列表转换 4.2 zero,ones,empty函数创建特殊数组 4.3 arrange linspace 创建线性数组 5、矩阵的索引与打印 6、矩阵的运算 6.1 基础运算 6.2 点乘 6.3 其他矩阵特征运算 6.3 排序、转置、数值裁剪 7、其他操作 7.1 横纵向的拼接 7.2 矩阵添加或拼接新元素(append或concatenate) 7.3 新增维度 7.4 增减数组维度 7.5 矩阵的切片 7.6 reshape,ravel,flatten,transpose,shape,resize更改数组形状 8、常用操作 8.1 元素平方和 8.2 numpy转换成tensorflow的tensor LAST、未来得及添加的内容 0、NumPy 与 ndarry NumPy 是 Python 科学计算的基础包,它专为进行严格的数字处理而产生。 它提供: 快速高效的多维数组对象 ndarray; 直接对数组执行数学运算及对数组执行元素级计算的函数;

Python numpy的基本操作你一般人都不会

拟墨画扇 提交于 2019-12-06 00:32:09
前言 本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。 PS:如有需要最新Python学习资料的小伙伴可以加点击下方链接自行获取 http://note.youdao.com/noteshare?id=a3a533247e4c084a72c9ae88c271e3d1 来看正文: 0、NumPy 与 ndarry NumPy 是 Python 科学计算的基础包,它专为进行严格的数字处理而产生。 它提供: 快速高效的多维数组对象 ndarray; 直接对数组执行数学运算及对数组执行元素级计算的函数; 线性代数运算、随机数生成; 将 C、C++、Fortran 代码集成到 Python 的工具等。 它专为进行严格的数字处理而产生。多为很多大型金融公司使用,以及核心的科学计算组织如:Lawrence Livermore,NASA 用其处理一些本来使用 C++,Fortran 或Matlab 等所做的任务。 ndarray 是一个多维的数组对象,具有矢量算术运算能力和复杂的广播能力,并具有执行速度快和节省空间的特点。 ndarray 的一个特点是同构:即其中所有元素的类型必须相同。 1、数组属性查看:类型、尺寸、形状、维度 import numpy as np a1 = np.array([1,2,3,4],dtype

数据科学初阶(四)-- numpy数组生成以及矩阵转换

淺唱寂寞╮ 提交于 2019-12-05 23:29:19
文章说明: 本系列面向全国大中小学的通用数据科学教材, 原项目 是由 Jin Li 大佬整理的python笔记,鄙人学习后添加了许多自己的见解,于是最后写成了这系列手册。 文章目录 生成数组 1. 使用`arange`函数 2. 使用`linspace`函数 3. 生成网格数组 使用`meshgrid`函数 使用`ogrid` , `mgrid`函数 4. 使用`r_`,`c_`生成行列向量 5. 生成特殊数组 零矩阵 元素全为一的矩阵 生成随机数组 产生一个相似的数组 生成单位数组矩阵 生成矩阵 生成数组 1. 使用 arange 函数 arange函数类似range函数,其返回值为数组。 语法: # arange(start, stop=None, step=1, dtype=None) import numpy as np np . arange ( 4 ) # 返回 array([0,1,2,3]) 同时可以为 arange 函数生成的数组设置步长: # 设置步长为0.1 np . arange ( 0 , 1 , 0.1 , dtype = np . float ) 2. 使用 linspace 函数 linspace函数可以生成一个等差数组,其参数列表为起始值、终止值以及数组元素的个数。 # 与arange函数不同的是 # linspace第三个参数设置的是元素个数

AI-图像基础知识-02

痞子三分冷 提交于 2019-12-05 12:32:01
目录 图像坐标系 图像数字化 图像坐标系     在前面的数据标注文章中讲述如何进行标注,而标注后会保留4个坐标点,那么这些坐标点如何表示在图片中的位置?要表示一个点或图形的位置,就需要涉及到坐标系的概念。今天就来了解一下图像的坐标系。一般大家首先接触到的坐标系应该是的笛卡尔坐标系,如下所示:     如下图所示,是以图像左上角为原点建立的以像素为单位的直角坐标系 u-v 。其横坐标u与纵坐标v分别是在其图像数组中所在的列数和行数。 以上坐标在OpenCV中,u对应 x , v对应 y     由于 (u,v) 只代表像素的列数与行数,而像素在图像中的位置并没有用物理单位表示出来,所以还要建立以物理单位(如毫米)表示的图像坐标系x-y。将相机光轴与图像平面的交点(一般位于图像平面的中心处,也称为图像的主点(principal point)定义为该坐标系的原点O1,且x轴与u轴平行,y轴与v轴平行,假设(u0,v0)代表O1在u-v坐标系下的坐标,dx与dy分别表示每个像素在横轴x和纵轴y上的物理尺寸,则图像中的每个像素在u-v坐标系中的坐标和在x-y坐标系中的坐标之间都存在如下的关系: 上述公式中我们假设物理坐标系统中的单位为mm,则dx的单位为mm/px,而x/dx的单位则是px.     为使用方便,一般常用齐次坐标与矩阵形式表示为:     以上知识可能比较难懂

tensorflow DCGAN 源码中 conv_cond_concat函数

落爺英雄遲暮 提交于 2019-12-05 10:27:29
源码地址: https://github.com/carpedm20/DCGAN-tensorflow 今天看了源码中,再debug调试时看到了conv_cond_concat这个函数,第一反应就是应该与tf.concat有关系,看了源码确实是。 以下是函数定义: def conv_cond_concat(x, y): """Concatenate conditioning vector on feature map axis.""" x_shapes = x.get_shape() y_shapes = y.get_shape() return concat([ x, y*tf.ones([x_shapes[0], x_shapes[1], x_shapes[2], y_shapes[3]])], 3) 这里面有 y*tf.ones([x_shapes[0], x_shapes[1], x_shapes[2], y_shapes[3]])] 得注意一下,这个是tensorflow中的乘法表示,tf.ones是全1的矩阵。 这个单独测试一下,看效果比较直观: #!/usr/bin/env python #coding:utf8 import os,sys import numpy as np import tensorflow as tf y=tf.ones([1,1,3]) y

python 列表、矩阵、数组中的 * 和 ** 的区别

旧巷老猫 提交于 2019-12-05 06:47:48
1、!!!字符串*是复制3次 ,如果改成**会报错 数字中的**运算符,是表示求幂 2、列表*是复制26次 ,如果改成**会报错 3、矩阵中是用**表示两个矩阵相乘,*表示与每个元素相乘 4、数组中用**表示两个数组对应元素相乘,*表示与每个元素相乘 来源: https://www.cnblogs.com/mwcherish/p/11911454.html

OpenCV基础(一)

∥☆過路亽.° 提交于 2019-12-05 02:54:52
说明 :本文是我学习《TensorFlow深度学习应用实战》一书第5章知识的一个总结与实验过程,一方面是希望记录下自己的学习经历;另一方面是希望通过自己学习过程中的经历分享出来,相互学习,相互交流,共同成长。(本人刚学,所以很菜,请各位大佬勿喷,谢谢!) 一、简介 OpenCV:全称(Open Source Computer Vision Library),它是Intel公司所支持开发的一个计算机视觉处理开源软件库,采用C和C++编写,同时提供了Python、Matlab等语言的接口,并且可以自由地运行在Linux/Windows/Mac等多平台操作系统上。 OpenCV的目标是让使用者能够通过合理的使用和搭配,构建一个简单易用的计算机视觉处理框架,能够便捷地设计更为复杂的计算机视觉的相关应用,而且OpenCV充分利用了Intel处理器的高性能多媒体函数库的手工优化性能,提高了运行速度。 目前来说,OpenCV所包含的能够进行视觉处理的函数和方法接近1000个,已经能够极大地满足各行各业的需求,覆盖了如医学影像、设计外观、定位标记、生物体检测等多个行业领域。 二、基础应用 在进行简单的应用前,我们必须先下载安装opencv,我使用的是Anaconda 3+PyCharm,具体的做法如下: 根据你电脑安装的Python版本,下载对应的opencv .whl文件,下载地址为:https

纠删码简介

 ̄綄美尐妖づ 提交于 2019-12-04 01:32:42
纠删码(Erasure Code)中的数学知识 背景   在数据存储领域,Hadoop采用三副本策略有效的解决了存储的容错问题,但是三副本策略中磁盘的利用效率比较低,仅有33%,而且副本带来的成本压力实在太高,后来适时的出现了纠删码的概念。当冗余级别为n+m时,将这些数据块分别存放在n+m个硬盘上,这样就能容忍m个(假设初始数据有n个)硬盘发生故障。当不超过m个硬盘发生故障时,只需任意选取n个正常的数据块就能计算得到所有的原始数据。纠删码以更低的存储成本备受青睐,目前Microsoft、Google、Facebook、Amazon、淘宝(TFS)都已经在自己的产品中采用了Erasure Code.    在以上背景的基础上,本文在纠删码的编码、解码中采用的矩阵数学知识,以及矩阵分解中用到的LU分解等数学知识进行分析,并在文末给出相应的代码示例。 纠删码工作原理简介:   RS(Reed-Solomom)码是一种比较常见的纠删码,它的两个参数m和n分别代表校验块个数和原始数据块个数。 纠删码编码过程: 在图中的编码过程,C代表校验块,D代表原始的数据块。 当丢失了部分数据,如图 纠删码解码过程: Step1: 在编码矩阵中去掉丢失数据块以及该数据块对应的行。即B矩阵变为了n*n 维度的方阵,C与D组合的矩阵由(n+m)行变为n行,在上述假设过程中