自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(57)
  • 收藏
  • 关注

原创 Numpy:numpy.ogrid() 生成数组

1numpy.ogrid()ogrid函数作为产生numpy数组与numpy的arange函数功能有点类似,不同的是:arange函数产生的是一维数组,而ogrid函数产生的是二维数组 arange函数产生的是一个数组,而ogrid函数产生的是二个数组 ogrid函数产生的数组,第一个数组是以纵向产生的,即数组第二维的大小始终为1。第二个数组是以横向产生的,即数组第一维的大小始终为1。2 np.ogrid[开始值:结束值:步长]ogrid用切片作为下标,返回的是一组可用来广播计算的.

2020-06-05 23:22:37 1041

原创 Pytorch:torch.cat()

1torch.cat()在给定维度上对输入的张量序列seq进行连接操作。torch.cat()可以看做 torch.split() 和 torch.chunk()的反操作。 cat() 函数可以通过下面例子更好的理解。torch.cat(seq, dim=0, out=None) → Tensor参数 描述 seq(Tensors的序列) 可以是相同类型的Tensor的任何python序列 dim(int,可选) 沿着此维连接张量序列 out(Tensor,可..

2020-06-05 23:04:51 1187

原创 Pytorch:torch.mul() 、torch.mm()、torch.bmm()、torch.matmul()

1torch.mul() 用标量值value乘以输入input的每个元素,并返回一个新的结果张量。 \( out=tensor ∗ value \)。如果输入是FloatTensor or DoubleTensor类型,则value必须为实数,否则须为整数。 torch.mul(input, value, out=None)参数 描述 input(Tensor) 输入张量 value (Number) 乘到每个元素的数 out (Tensor) ...

2020-06-05 22:28:32 2340 1

原创 Pytorch:torch.ge()、torch.gt()、torch.le()、torch.lt()

1torch.ge()逐元素比较input和other,即是否 \( input >= other \)。如果两个张量有相同的形状和元素值,则返回True,否则False。 第二个参数可以为一个数或与第一个参数相同形状和类型的张量。torch.ge(input, other, out=None) → Tensor参数 描述 返回值 input 待对比的张量 一个torch.ByteTensor张量,包含了每个位置的比较结果(是否 input ...

2020-06-05 22:11:19 14100 3

原创 Numpy:numpy.prod()函数

1numpy.prod()[source]np.prod()函数用来计算所有元素的乘积,对于有多个维度的数组可以指定轴,如axis=1指定计算每一行的乘积。numpy.prod(a, axis=None, dtype=None, out=None, keepdims=<no value>, initial=<no value>, where=<no value>)参数 描述 返回值 a 输入arrays数组 一个形状为但已删除..

2020-06-05 21:58:46 14420 1

原创 Numpy:astype(bool) 和 astype(int)

1 np.array()将输入转换成数组。栗子:import numpy as npa=[[1,2,1],[2,3,5]]b=[[0,0,0],[2,3,5]]c=np.array(a)d=np.array(b)print(c)print(d)# result[[1 2 1] [2 3 5]][[0 0 0] [2 3 5]]简单的把list列表转化为数组。2type(bool)正如astype的中文意思,作为布尔类型,也就是true or .

2020-06-05 21:36:12 3328

原创 Pytorch:模型的保存与加载 torch.save()、torch.load()、torch.nn.Module.load_state_dict()

Pytorch 保存和加载模型后缀:.pt 和.pth1 torch.save()[source]保存一个序列化(serialized)的目标到磁盘。函数使用了Python的pickle程序用于序列化。模型(models),张量(tensors)和文件夹(dictionaries)都是可以用这个函数保存的目标类型。torch.save(obj, f, pickle_module=<module '...'>, pickle_protocol=2)参数 描述 o..

2020-06-05 12:46:18 207516 30

原创 Python:获取系统信息 os.environ()

1os.environ()使用python获得系统的信息时,使用os.environ()environ是一个字符串所对应环境的映像对象; os.environ.keys() 主目录下所有的key os.environ 显示key+内容。2 LINUXos.environ['HOME'] 当前这个用户的主目录。os.environ['LC_COLLATE']:路径扩展的结果排序时的字母顺序。os.environ['SHELL']:使用shell的类型。os.environ['...

2020-06-05 09:04:39 1553

原创 Python:创建文件夹 os.mkdir(path) 和 os.makedirs(path)

1os.mkdir(path)用来创建多层目录。他可以一次创建多级目录,哪怕中间目录不存在也能正常的(替你)创建,想想都可怕,万一你中间目录写错一个单词.........os.mkdir(path, mode=0o777, *, dir_fd=None)​​​​​栗子import os os.mkdir('d:\hello') # 正常os.mkdir('d:\hello\hi') # 正常 # 如果d:\hello目录不存在# 则os.mkdir('d:\he.

2020-06-05 08:52:25 5916 3

原创 Opencv:cv2.imread()、cv2.imshow()、cv2.waitKey()、cv2.destroyAllWindows()、cv2.imwrite()

1cv2.imread()读入图像。读进来直接是BGR 格式数据格式在 0~255,通道格式为(W, H, C)cv2.imread(文件名,标记)第一个参数图像应该在工作目录中,或者应该给出完整的图像路径。 第二个参数是一个标志,指定应读取图像的方式。读取方式 数字表示 描述 cv2.IMREAD_COLOR 0 加载彩色图像。任何形象的透明度将被忽略。这是默认的标志。 cv2.IMREAD_GRAYSCALE 1 以灰度模式加载图像 ...

2020-06-03 09:49:16 5505 3

原创 Opencv:颜色转换 cv2.cvtColor()

cv2.cvtColor()用于颜色空间转换。cv2.cvtColor(input_image, flag)参数 描述 返回值 input_image 需要转换的图片 颜色空间转换后的图片矩阵 flag 转换的类型 转换格式:类型 描述 cv2.COLOR_BGR2GRAY BGR -> Gray cv2.COLOR_BGR2RGB BGR -> RGB cv2.COLOR_BGR2HSV BGR -

2020-06-03 09:33:27 15523

原创 Opencv:图像二值化 cv2.threshold()

1cv2.threshold()用于获取二元值的灰度图像 。cv2.threshold(src, thresh, maxval, type)参数 描述 返回 src 源图片,必须是单通道,即灰度图 返回两个值:阈值、二值图 thresh 用于对像素值进行分类的阈值,取值范围0~255 maxval 填充色,如果像素值大于(有时小于)阈值则要给出的值,取值范围0~255 type 阈值类型 阈值类型表:阈值 用数字表示 .

2020-06-03 09:17:14 6362

原创 opencv:图像轮廓检测 cv2.findContours() 与 cv2.drawContours()

1cv2.findContours()OpenCV-Python接口中使用cv2.findContours()函数来查找检测物体的轮廓。cv2.findContours(image, mode, method, contours=None, hierarchy=None, offset=None)参数 描述 返回 image 寻找轮廓的图像,注意输入的图片必须为二值图片。若输入的图片为彩色图片,必须先进行灰度化和二值化 opencv2返回两个值:一个是轮.

2020-06-02 18:35:48 15042 4

原创 Python:PIL Image处理图像

1 使用PIL的Image处理图像时,需要导入包:from PIL import Image2 图片读取img = Image.open("D:\\test\\img\\test01.jpg")Image.open(fp, mode='r'):参数mode不是图片的mode,而是读写的方式,必须是‘r’。该函数只是打开图片,并不读入内存。读入内存时Image会调用Image.load()方法。# 从路径打开img = Image.open('01.jpg')## 从文件流读取

2020-06-02 11:00:46 2056

原创 Python:PIL的 Image.resize()函数

Image.resize()Image.resize()函数用于修改图片的尺寸。Image.resize(size, resample=0)参数 描述 返回值 size 要求的大小(以像素为单位),以二元组表示:(宽度,高度)。 返回 Image类型的图像 resam 用于表示改变图像过程用的差值方法。0:双线性差值。1:最近邻居法。2:双三次插值法。3:面积插值法。 ...

2020-06-02 10:47:24 24014

原创 Numpy:numpy与image互转(np.array/np.asarray,Image.fromarray)

1np.array()将数据转化为矩阵array。默认情况下,将会copy该对象。numpy.array(object, dtype=None, copy=True, order='K', subok=False, ndmin=0)2 Image.fromarray()实现array到image的转换。PIL.Image.fromarray(obj, mode=None)参数 描述 返回值 obj Object with array interface.

2020-06-02 10:30:39 18801

原创 Numpy:np.array() 与 np.asarray()

1 np.array()np.array()的作用就是按照一定要求将object转换为数组。numpy.array(object, dtype=None, copy=True, order='K', subok=False, ndmin=0)参数 含义 返回 object 必选参数,类型为array_like,可以有四种类型:数组,公开数组接口的任何对象,__array__方法返回数组的对象,或任何(嵌套)序列。 ndarray。满足指定要求的数组对象。 dty

2020-06-02 09:53:57 6857 1

原创 Numpy:zero()函数

1zero()函数import numpy as npnp.zeros(shape, dtype=float, order=‘C’)2 参数 shape 对第一个属性shape传入一个数字,它将生成一个一维的向量。import numpy as np Zero = np.zeros(10)print(Zero)print(Zero.shape)# result[0. 0. 0. 0. 0. 0. 0. 0. 0. 0.](10,)对shape传.

2020-06-02 09:20:20 8332

原创 Python NumPy: -1 的作用

Python代码中经常会遇到 -1 这个数字,它主要有两个作用:倒数第一 自动推断1倒数第一在list, tuple, array中表示倒数第一个。栗子1:a01 = [3, 2] print("a01[:-1]:", a01[:-1]) # output: 3 print("a01[0:-1]:", a01[0:-1]) # output: 3 ..

2020-06-02 09:06:19 3453

原创 Python:import、from...improt、from...import *三者的区别

1import 和from…import首先你要了解 import 与 from…import 的区别。import 模块:导入一个模块;注:相当于导入的是一个文件夹,是个相对路径。 from…import:导入了一个模块中的一个函数;注:相当于导入的是一个文件夹中的文件,是个绝对路径。所以使用上的的区别是当引用文件时是:import //模块.函数 from…import // 直接使用函数名使用就可以了2from…import *把一个模块中所有函数都导入进来...

2020-06-02 08:57:23 1441

原创 Python:str()函数

1str()函数str函数是Python的内置函数,它将参数转换成字符串类型,即人适合阅读的形式。str(object)名称 说明 备注 返回值 object 待被转换成字符串的参数 可省略的参数 返回object的字符串形式 2 实例假设我们要祝人生日快乐,可能会编写类似下面的代码:age=20message="Happy " + age + "th Btrthday!"print(message)但是如果运行这些代码,会.

2020-06-02 08:47:24 27867

原创 Numpy:sort()函数 与 argsort()函数

1np.sort()函数np.sort()函数的作用是对给定的数组的元素进行排序。np.sort(a, axis=-1, kind='quicksort', order=None)参数 含义 a 排序的数组 axis 排序的方向,None表示展开来排序,默认值为-1,表示沿最后的轴排序。可选有0、1,axis = 1 按行排序, axis = 0 按列排序 kind 排序的算法,包含快排'quicksort'、混排'mergesort'、堆排'heapso.

2020-06-01 16:38:26 8875

原创 Python:strip() 函数

1strip() 函数strip() 方法用于移除字符串头尾指定的字符(默认为空格或换行符)或字符序列。注意:该方法只能删除开头或是结尾的字符,不能删除中间部分的字符。str.strip([chars])参数 chars -- 移除字符串头尾指定的字符序列。 返回值 返回移除字符串头尾指定的字符生成的新字符串。 2 实例栗子1str = "00000003210Runoob01230000000"; print str..

2020-06-01 15:56:21 27469 3

原创 Python:with open() as f:

1with open() as f1.1 常见的读写操作with open(r'filename.txt') as f: data_user=pd.read_csv(f) #文件的读操作with open('data.txt', 'w') as f: f.write('hello world') #文件的写操作 1.2 相关参数r: 以只读方式打开文件。文件的指针将会放在文件的开头。这是**默认模式**。rb: 以二进制格式打开一个文件用于只读。文件指针.

2020-06-01 15:23:00 2235

原创 numpy.arange()函数

1numpy.arange()Numpy 中 arange() 主要是用于生成数组,用法如下:函数返回一个有终点和起点的固定步长的排列,如[1,2,3,4,5],起点是1,终点是5,步长为1。参数个数情况: np.arange()函数分为一个参数,两个参数,三个参数三种情况一个参数时,参数值为终点,起点取默认值0,步长取默认值1。 两个参数时,第一个参数为起点,第二个参数为终点,步长取默认值1。 三个参数时,第一个参数为起点,第二个参数为终点,第三个参数为步长。其中步长支持小数 ..

2020-06-01 10:51:48 2680

原创 numpy.all()函数 与 numpy.any()函数

0.0

2020-06-01 08:04:29 29898 2

原创 numpy.newaxis()函数、None

1np.newaxisnp.newaxis的作用是:在当前位置,插入一个新维度。np.newaxis 在使用和功能上等价于 None,其实就是 None 的一个别名。1.1 一维数组import numpy as npa = np.arange(5) # a.shape=(5,)b = a[np.newaxis, :] # b.shape=(1,5)c = a[:,np.newaxis] # c.shape=(5,1)d = a[:,np.newaxis,np.newaxis] #.

2020-05-31 21:39:42 705

原创 numpy和tensor互转

1 torch.from_nump()功能:完成数组numpy到tensor的转换。栗子:import torchimport numpy as npa = np.ones(5)b = torch.from_numpy(a)print(type(a))print(type(b))输出结果:<class 'numpy.ndarray'><class 'torch.Tensor'>注意:这个函数所产生的的Tensor和NumPy中的数

2020-05-31 19:02:55 1432

原创 python:冒号与省略号的使用

1 冒号(:)单冒号(包含在双冒号里) 双冒号seq[start:end:step] #从start开始到end结束,每隔step输出一次::将start和end省略意味着从开始到结束,省略谁就是采用默认。a = [1,2,3,4,5,6]a[::2] ->1,3,5 #从1开始,每隔两个输出一下a[::3] ->1,4 #从1开始,每隔三个输出一下a[2::3]

2020-05-31 17:43:43 4073 1

原创 numpy.shape()函数

shape描述的是矩阵的形状。1 一般用法import numpy as npa=np.array([1,2,3])print(a.shape)# result3b=np.array([[1,2,3],[4,5,6],[7,8,9]])print(b.shape)# result(3,3)c=np.array([[[1,2,3],[4,5,6],[7,8,9]]])print(c.shape)# result(1,3,3) #(H,W,C)2 特殊用法

2020-05-31 17:11:57 4869

原创 Opencv:图像翻转,cv2.flip()函数

0.0

2020-05-31 16:45:57 9585 2

原创 Opencv:图像缩放,cv2.resize() 函数

0.0

2020-05-31 16:14:41 15209

原创 Opencv:图像旋转,cv2.getRotationMatrix2D 和 cv2.warpAffine 函数

学习记录如何使用opencv实现对图像的旋转操作。1cv2.getRotationMatrix2D(center, angle, scale)图像的旋转矩阵一般为:但是单纯的这个矩阵是在原点处进行变换的,为了能够在任意位置进行旋转变换,opencv采用了另一种方式:为了构造这个矩阵,opencv提供了一个函数:M = cv2.getRotationMatrix2D(center, angle, scale)此函数主要用于获得图像绕着某一点的旋转矩阵,这个函数需要三个参数.

2020-05-31 14:04:57 24522 7

原创 Python:random模块

1. random.random()random.random()用于生成一个0到1之间的随机浮点数:0<=n<=1import randoma = random.random()print(a)# result0.70865880337962962. random.uniform(a, b)random.uniform(a,b)用于生成一个指定范围内的随机浮点数,若a<b,则a<=n<=b;若a>b,则b<=n<=a.

2020-05-31 13:24:12 373

原创 Python:__call__

往常中,我们调用函数时 “函数名(参数)” ;我们需要调用类的方法时,是通过类的实例调用的 “类名.方法名(canshu )”。现在我们想实现 在调用类方法时,可以 “实例名(参数)”,而__call__方法就可以帮我们实现这一效果。class Person(object): def __init__(self, name, gender): self.name = name self.gender = gender def __call__(sel

2020-05-31 13:05:53 100

原创 Python:isinstance()函数

1. 描述Python中的 isinstance() 函数,是Python中的一个内置函数,用来判断一个函数是否是一个已知的类型,类似 type()。2. 语法isinstance(object, classinfo)参数 object : 实例对象。 classinfo : 可以是直接或者间接类名、基本类型或者由它们组成的元组 返回值 如果对象的类型与参数二的类型(classinfo)相同则返回 True,否则返回 False。 3. 实例

2020-05-31 11:21:04 934

原创 FCN跳跃结构实现图像分割

1 BagData.pyimport osimport cv2import numpy as npfrom torch.utils.data import Dataset# onehot编码def onehot(n, data): msk = np.eye(n)[data] # (C, H, W) => (224, 224, 2) msk = np.array(list(map(lambda x: abs(x - 1), msk))).astype('float3

2020-05-25 13:54:02 1230

原创 梯度消失、梯度爆炸

反向传播算法(即BP算法)是从输出层反向传到输入层,逐层传递误差梯度,进而进行权重的更新。训练很深的神经网络时,随着层数的增加,导数会出现指数级的下降,则导致梯度消失。或者指数级的增加,导致梯度爆炸;本质是梯度传递的链式法则所导致的矩阵高次幂(反向传播会逐层对函数求偏导相乘)。1 梯度消失1.1 原因在深层网络中,如果激活函数的导数小于1,根据链式求导法则,靠近输入层的参数的梯度因为乘了很多的小于1的数而越来越小,最终就会趋近于0,例如函数,其导数为的值域为,极易发生这种情况。所以梯度消失出现.

2020-05-18 12:45:27 470

原创 Python:list()函数(列表[ ])、dict()函数(字典{ })

0.0

2020-05-17 18:59:18 3317 1

原创 Python:map()函数

0.0

2020-05-17 18:30:49 435

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除