自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 window7 SP2

网上很多window7 SP1的更新教程,很少有sp2的教程。选择与 Windows 7 版本相对应的。转到 Microsoft 网站上的。

2024-04-01 10:46:53 171 1

原创 pip安装第三方库 报错:You should consider upgrading

'd:\\program\\pytyhon38\\scripts\\pip.exe' Consider using the `--user` option or check the permissions.报错:WARNING: You are using pip version 21.1.2;however, version 21.3.1 is available.简单粗暴:卸载重装python,因为使用pip install --upgrade pip过程中pip不能使用了。

2024-03-21 17:28:58 327 1

原创 AutoDL跑pycharm代码

参考文献:AutoDL帮助文档Pycharm连接远程GPU服务器跑深度学习_哔哩哔哩_bilibili安装包在linux环境下载非常方便!!详解Apex的安装和使用教程_花开山岗红艳艳的博客-CSDN博客_apex安装

2022-05-17 09:21:08 6769 3

原创 对图片进行膨胀与腐蚀

操作前的图片:操作后:代码实现:import cv2import numpy as npfrom PIL import Imageimport osimport matplotlib.pyplot as plt# 生成文件夹def makedir(path): folder = os.path.exists(path) if not folder: os.makedirs(path) print("...Ne...

2022-04-11 19:48:54 1341 1

原创 语义分割Deeplabev3plus更改预训练权重(GHOSTNET)

def init_weights(self): # 先读取下载的预训练的键,读取模型的键 checkpoint = torch.load('F:/Code/pytorch-deeplab-dualattention/test/state_dict_73.98.pth') state_dict = OrderedDict() # 对字典对象中的元素排序 # convert data_parallal to model 改变键的名字 更改名:将下载的预训练的键进行改名,.

2022-04-11 13:45:38 2196 2

原创 将一个文件中的部分图片进行合并

读取路径下的文件,生成列表A(不一定是有序的) while()循环,判断列表A是否为空 取列表A的数值,每次取第一个,取完就删,所以每次取的值是不一样的。取第一个数值为a 获取数值a的前四位(观察发现,每张图片的前四位是一样的则合并),并从列表A中获取与a相同前四位的值生成列表B 遍历列表B,从列表B中取值b,将a与b进行相加,累加得到new_image,取完就删除b的值 将new_image矩阵转为image,进行保存此文件夹下的图片可以合并为一张:效果:代码...

2022-04-11 13:40:17 589

原创 JSON文件读取,获取图片标签名的最多值

# 找到颜色最多的且是人的图片,然后识别该图片的颜色类别 找到类别最多的图片以及有多少类别import csvimport jsonimport csvimport osimport pandas as pdfrom PIL import Imageimport matplotlib.pyplot as pltimport numpy as np# 读取数据data = pd.read_csv("data1.csv") # DataFrame结构d_data = np.arr.

2022-04-11 13:20:55 463

原创 JSON文件的读取特定标签名,生成CVS文档

# 读取json文件里面存在person的文件名,并存入data1.csv中import csvimport jsonfi = 'C:\\FeigeDownload\\YouTube_vos\\train\\train\\meta.json' # 源文件地址fo = open('C:\\FeigeDownload\\YouTube_vos\\train\\train\\output.txt', 'a+', encoding='utf-8') #提取后的txt文件存放地址data1 = .

2022-04-11 13:16:17 535

原创 json文件的读取,以及更改特定标签特定标签名的对应像素值更改

获取所需标签名“person”所对应的文件名,csv文档 获取文档名,一个读取该文件名下的标签图片Annotations,一个读取json文件所对应的标签,每一个标签下的数值生成列表 读取列表下key所对应Annotations下的图片,另外,生成一个全零矩阵,以及新的文件夹,用来存放同文档名同图片名,并创建一个矩阵用来存放新图片的数值 如果该图片已经在该路径下存在,读取该图片的值(只修改对应位置的像素值),如果不存在,则将该矩阵保存为图片 将标签名下的数值保存为列表,依次读取列表中键值,将标签名.

2022-04-11 13:08:09 3590

原创 在endnote中做笔记

将笔记显示在preview中:如果research notes中写的笔记特别长,可以将其显示在preview的地方,当然,endnote还是要提前更改下设置。首先选择Edit>Outputstyles>Edit "Annotated"(选你正在使用的style,Annotated是默认的style)保存,即可在preview处看到research notes了。...

2022-03-27 18:09:30 5216

原创 空洞卷积的理解

空洞卷积的作用空洞卷积有什么作用呢?扩大感受野:在deep net中为了增加感受野且降低计算量,总要进行降采样(pooling或s2/conv),这样虽然可以增加感受野,但空间分辨率降低了。为了能不丢失分辨率,且仍然扩大感受野,可以使用空洞卷积。这在检测,分割任务中十分有用。一方面感受野大了可以检测分割大目标,另一方面分辨率高了可以精确定位目标。 捕获多尺度上下文信息:空洞卷积有一个参数可以设置dilation rate,具体含义就是在卷积核中填充dilation rate-1个0,因此,当设置不

2022-03-25 21:07:55 431

转载 F.pad的图文透彻理解

1. F.pad函数定义F.pad是pytorch内置的tensor扩充函数,便于对数据集图像或中间层特征进行维度扩充,下面是pytorch官方给出的函数定义。torch.nn.functional.pad(input, pad, mode='constant', value=0)函数变量说明:input:需要扩充的tensor,可以是图像数据,抑或是特征矩阵数据 pad:扩充维度,用于预先定义出某维度上的扩充参数 mode:扩充方法,’constant‘, ‘reflect’ o..

2022-03-24 09:37:16 1487

原创 PyTorch里面的torch.nn.Parameter()

torch.nn.parameter是一个被用作神经网络模块参数的tensor。这是一种tensor的子类。parameters是张量的子类,当与模块s一起使用时,它们有一个非常特殊的属性——当它们被重新分配为模块属性时,它们会自动地添加到它的参数列表中,并且会出现在Parameters()迭代器中。分配一个张量没有这样的效果。这是因为可能希望在模型中缓存一些临时状态,比如RNN的最后一个隐藏状态。如果没有Parameter这样的类,这些临时人员也会被注册。import torchimport .

2022-03-24 09:27:08 803

原创 torch.max()、expand()、expand_as()使用讲解

在分类问题中,通常需要使用max()函数对softmax函数的输出值进行操作,求出预测值索引,然后与标签进行比对,计算准确率。下面讲解一下torch.max()函数的输入及输出值都是什么,便于我们理解该函数。1. torch.max(input, dim) 函数output = torch.max(input, dim)输入input是softmax函数输出的一个tensor dim是max函数索引的维度0/1,0是每列的最大值,1是每行的最大值输出函数会返回两个tensor

2022-03-16 19:35:59 7141 3

原创 pytorch中 .view()函数讲解

一、普通用法 (手动调整size)view()相当于reshape、resize,重新调整Tensor的形状。import torcha1 = torch.arange(0,16)print(a1)# tensor([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15])a2 = a1.view(8, 2)a3 = a1.view(2, 8)a4 = a1.view(4, 4)print(a2)#tens

2022-03-16 16:09:47 2462

原创 交叉熵损失函数

什么是交叉熵?交叉熵主要是用来判定实际的输出与期望的输出的接近程度,为什么这么说呢,举个例子:在做分类的训练的时候,如果一个样本属于第K类,那么这个类别所对应的的输出节点的输出值应该为1,而其他节点的输出都为0,即[0,0,1,0,….0,0],这个数组也就是样本的Label,是神经网络最期望的输出结果。也就是说用它来衡量网络的输出与标签的差异,利用这种差异经过反向传播去更新网络参数。Pytorch中的CrossEntropyLoss()函数Pytorch中计算的交叉熵并不是采用.

2022-03-10 10:02:25 1457

原创 动量(momentum),学习率衰减

1、动量(momentum)简述一,优化器中的Momentum主要是在训练网络时,最开始会对网络进行权值初始化,但是这个初始化不可能是最合适的;因此可能就会出现损失函数在训练的过程中出现局部最小值的情况,而没有达到全局最优的状态。momentum的出现可以在一定程度上解决这个问题。动量来源于物理学,当momentum越大时,转换为势能的能量就越大,就越有可能摆脱局部凹区域,从而进入全局凹区域。momentum主要是用于权值优化。二,bn层中的Momentum⚠️这个momentum参

2022-03-09 22:08:57 3972

原创 PyTorch的torch.cat

1. 字面理解:torch.cat是将两个张量(tensor)拼接在一起,cat是concatenate的意思,即拼接,联系在一起。2. 例子理解import torchA = torch.ones(2,3)A#tensor([[1., 1., 1.],# [1., 1., 1.]])B=2*torch.ones(4,3)B#tensor([[2., 2., 2.],# [2., 2., 2.],# [2., 2., 2.],#

2022-03-09 15:12:54 1180

原创 cv2 interpolate插值-align_corners

torch interpolatetorch.nn.functional.interpolate(input, size=None, scale_factor=None, mode='nearest', align_corners=None, recompute_scale_factor=None)input (Tensor):输入数据 size (int or Tuple[int] or Tuple[int, int] or Tuple[int, int, int]):输出数据的尺寸

2022-03-07 16:39:17 5550

转载 nn.Conv2d卷积

1、二维卷积可以处理二维数据nn.Conv2d(self, in_channels, out_channels, kernel_size, stride=1, padding=0, dilation=1, groups=1, bias=True))参数:in_channel: 输入数据的通道数,例RGB图片通道数为3;out_channel: 输出数据的通道数,这个根据模型调整;kennel_size: 卷积核大小,可以是int,或tup...

2022-03-04 10:43:15 3960

转载 pytorch中nn模块的BatchNorm2d()函数

基本原理class torch.nn.BatchNorm2d(num_features,eps=1e-5,momentum=0.1,affine=Ture)在卷积神经网络的卷积层之后总会添加BatchNorm2d进行数据的归一化处理,这使得数据在进行Relu之前不会因为数据过大而导致网络性能的不稳定,BatchNorm2d()函数数学原理如下:BatchNorm2d()内部的参数如下:1.num_features:一般输入参数为batch_size*num_features.

2022-03-02 14:57:31 535

原创 deeplab系列中用到Output stride

从stackoverflow中查到如下内容,翻译如下:input stride为进行卷积时候设置的stride值,output stride为该矩阵经过多次卷积pooling操作后,尺寸缩小的值。例如:input image为224 * 224,经过多次卷积pooling操作后,feature map为7*7,那么output stride为224/7 = 32....

2022-03-01 21:36:18 1102

原创 神经网络中epoch、batch、batch_size、epoch、iteration理解

1 epoch当一个完整的数据集通过神经网络一次并且返回一次的过程称为一个epoch。 然而,当一个epoch对于计算机太过庞大时,就需要把它分成多个小块。2 batch在不能将数据一次性通过神经网络的适合,就需要将数据集分成几个batch。3 batch_size直观的理解 一个batch中的样本总数(一次训练所选取的样本数)。batch_size的大小影响模型的优化程度和速度。同时其直接影响到GPU内存的使用情况,假如你GPU显存不大,该数值最好设置小一点。 提出batch_size

2022-03-01 09:35:11 13780 1

原创 图片一:单通道、三通道、灰度图、黑白图、三通道转灰度图(单通道)

1、图片:通常指的是数字图片,数据结构通常是数组2、像素:最小的图像单元,一张图像由好多的像素点组成。就是一个方形的小区域,下图是博主用numpy随机生出的20*10单通道图片,数一数,刚好每行10个小方格,共20行。即图片的高度和宽度分别为20,10import torchimport randomimport numpy as npimport osimport matplotlib.pyplot as pltimge = np.random.randint(0,256,siz

2022-02-28 16:21:11 10790 1

原创 最近邻插值、双线性插值

1.最近邻插值越是简单的模型越适合用来举例子,我们就举个简单的图像:3X3 的256级灰度图,也就是高为3个象素,宽也是3个象素的图像,每个象素的取值可以是 0-255,代表该像素的亮度,255代表最亮,也就是白色,0代表最暗,即黑色。假如图像的象素矩阵如下图所示(这个原始图把它叫做源图,Source):234 38 2267 44 1289 65 63这个矩阵中,元素坐标(x,y)是这样确定的,x从左到右,从0开始,y从上到下,也是从零开始,这是图象处理...

2022-02-28 09:32:10 1782 1

原创 图像从 tensor 转换为 np.array

首先,利用numpy读取的图像储存格式为 [h,w,c],即图像高度、图像宽度、图像通道数。而在 PyTorch 中图像的保存形式为 [n,c,h,w],即 batch size,图像通道数,图像高度、图像宽度。在没有理解这两种形式如何转换的情况下,我竟然直接用 reshape 进行转换!用numpy表示图像先用PIL打开一张图像,用.conver('RGB')将其转换为 RGB 形式,再用 np.array将其转换为np.ndarray格式:# 导入需要的包impor...

2022-02-27 16:39:33 3163 1

原创 图片存放形式 hwc

高度为4 宽度为7 通道为3先通过切割的算法,将图片的大小一步步缩小为小数字,以便观察from PIL import Imagefilename = r'01.png'img = Image.open(filename)size = img.sizeprint(size) #(1920, 1200)# 准备将图片切割成9张小图片weight = int(size[0] // 3)height = int(size[1] // 3)# 切割后的小图的...

2022-02-27 16:15:00 4157

原创 归一化Normalizer.normalize()方法

from PIL import Imageimport numpy as npfilename = r'F:\研二\壁纸\花.jfif'img = Image.open(filename)size = img.sizeprint(size) #(1920, 1200)mean = (0.485, 0.456, 0.406)std = (0.229, 0.224, 0.225)img = np.array(img).astype(np.float32)print(img.size)im.

2022-02-27 15:26:59 1075

原创 pillow模块Image.crop()函数切割图片方法,参数说明

使用Image.crop()方法对图片进行切割。参数:Image.crop(left, up, right, below)left:与左边界的距离up:与上边界的距离right:还是与左边界的距离below:还是与上边界的距离简而言之就是,左上右下。例子:将一张花图片切分成9张(3*3)图片:from PIL import Imagefilename = r'F:\研二\壁纸\花.jfif'img = Image.open(filename)size =

2022-02-25 16:22:18 7143 2

原创 图片格式的转换

这个是一段学过的简单程序,可以改变图像的大小,jpg,png都可以的:#encoding=utf-8#function: 更改图片尺寸大小 from PIL import Image'''filein: 输入图片fileout: 输出图片width: 输出图片宽度height:输出图片高度type:输出图片类型(png, gif, jpeg...)'''def ResizeImage(filein, fileout, width, height, type): img = I

2022-02-25 14:03:47 105

原创 Python中最常见括号()、[]、{}的区别

Python中最常见括号的区别:在Python语言中最常见的括号有三种,分别是:小括号()、中括号[]、花括号{};其作用也不相同,分别用来代表不同的Python基本内置数据类型。Python中的小括号():代表tuple元祖数据类型,元祖是一种不可变序列。创建方法很简单,大多数时候都是小括号括起来的。tup = (1, 2, 3)#(1, 2, 3)() #空元组#()55, #一个值的元组#(55,)Python中的中括号[]:代表list列表数据类型,列表是一种

2022-02-22 17:04:59 1724

原创 图像读取的Image.open()和cv2.imread()的区别

文章目录1 导入库 2 图像读取 3 读入图片类型 4 通道 5 显示方法 6 相互转换Image.open()和ci2.imread()都是用来读取的图像,但在使用过程中存在一些差别。具体,可以从以下几个角度进行分析:1 导入库导入的包不同。img = cv2.imread(path),这是opencv中的处理图片的函数,使用时需 import cv2img = Image.open(path),这是PIL中的一个处理图片的函数,使用时需 from PIL import Ima

2022-02-22 10:39:06 4635 1

原创 python中random.seed()

random.seed()俗称为随机数种子。不设置随机数种子,你每次随机抽样得到的数据都是不一样的。设置了随机数种子,能够确保每次抽样的结果一样。而random.seed()括号里的数字,相当于一把钥匙,对应一扇门,同样的数值能够使得抽样的结果一致。import randomdef randomess(): #未设置随机种子 rum = random.randint(1, 100) print(rum)randomess()# 59randomess()# 27def

2022-02-21 15:05:53 8457

原创 代码运行时没有动用gpu

将default设为false。

2022-02-21 09:44:11 534

原创 IndexError: Target 7 is out of bounds.

检查了一下数据集,发现其中有黑色,但标签上面没有标注,因此,我就将Num_class=8。便正常运行了。

2022-02-19 20:21:51 1700

原创 pycharm高级功能 (debug调试)

断点调试是在开发过程中常用的功能,能清楚看到代码运行的过程,有利于代码问题跟踪。对我这个小白开发来说,还有一个作用是快速熟悉代码,拿到别人写的代码,有时看不太懂或看的很吃力,光这样看很无感,但是通过断点调试,可以很清楚的看到代码是怎么走的,每一步的参数的值等,驱动代码熟悉。pycharm打断点很简单,在代码行号后空白槽点击一下,出现红球,就可以了。当Pycharm运行到该行代码时会将程序暂时挂起,通过debug相关功能就可以进行调试了。下面介绍调试过程中用到的命令。debug相关功能:在pycha

2022-02-17 10:54:28 1163

原创 ConnectionResetError: [WinError 10054] 远程主机强迫关闭了一个现有的连接

我的程序是由于下载权重文件过程中出现错误解决方案:直接根据所给的网址去浏览器中下载,并将文件放入指定路径下面。

2022-02-15 17:42:45 623

原创 批量将.png .bmp .jpeg 格式图片转换为.jpg格式图片

import osimport cv2 as cvimage_path = 'G:/LoveDA/JPEGImages1/'save_path = 'G:/LoveDA/JPEGImages/'if not os.path.exists(save_path): os.makedirs(save_path)image_file = os.listdir(image_path)for image in image_file: if image.split('.')[-1] .

2022-02-15 14:24:03 1788

原创 将黑色mask图片转为彩色标注文件

import osroot_dir = "G:\\Train\\Urban"target_dir = "images_png"img_path = os.listdir(os.path.join(root_dir, target_dir))label = target_dir.split('_')[0]out_dir = "urban_label"for i in img_path: file_name = i.split('.png')[0] with open(os.pa.

2022-02-15 11:18:18 1994 2

原创 python读取文件名称生成list

经常需要读取某个文件夹下所有的图像文件。使用python写了个简单的代码,读取某个文件夹下某个后缀的文件,将文件名生成为文本(csv格式)import fnmatchimport osimport pandas as pdimport numpy as np import sysInputStra = 'LoveDA/Train/Urban/masks_png' #相对路径InputStrb = '*.png'def ReadSaveAddr(Stra,Strb):

2022-02-14 19:48:35 1090

空空如也

空空如也

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

TA关注的人

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