![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
基础包
文章平均质量分 50
常用到的python包,如pandas, numpy, matplot等
_腾飞
喜爱编程,喜爱分享知识,努力学习中。。。
展开
-
【科研-学习-pytorch】6-数值计算
文章目录加减乘除矩阵相乘approximationclamp高阶wheregather-收集加减乘除add, sub,mul,div[+,-,*,/]矩阵相乘element-wise 相乘 “*”matrix mul matmul和@含义一致;mm只适用于2d数据相乘;对于高维矩阵的运算:a = torch.rand(3, 3, 224, 126)b = torch.rand(3, 3, 224, 126)c = torch.matmul(a, b.t())特别:b原创 2022-05-20 09:39:36 · 103 阅读 · 0 评论 -
pytorch常用tensor操作合集(转)
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 ...转载 2019-09-23 14:55:33 · 580 阅读 · 0 评论 -
k-means聚类torch_gpu版本
class KMEANS: def __init__(self, n_clusters=10, max_iter=None, verbose=True, device=torch.device("cpu")): # self.n_cluster = n_clusters self.n_clusters = n_clusters self.labels = None self.dists = None # shape: [x.shap原创 2020-12-09 10:56:14 · 2060 阅读 · 1 评论 -
Pytorch常用张量变换操作
PyTorch中Tensor的维度变换对于 PyTorch 的基本数据对象 Tensor (张量),在处理问题时,需要经常改变数据的维度,以便于后期的计算和进一步处理,本文旨在列举一些维度变换的方法并举例,方便大家查看。维度查看:torch.Tensor.size()查看当前 tensor 的维度举个例子:>>> import torch>>> a = torch.Tensor([[[1, 2], [3, 4], [5, 6]]])>>>转载 2020-10-19 14:43:48 · 2614 阅读 · 0 评论 -
PyTorch 常用代码段整理合集
PyTorch 常用代码段整理合集来源:知乎作者:张皓众所周知,程序猿在写代码时通常会在网上搜索大量资料,其中大部分是代码段。然而,这项工作常常令人心累身疲,耗费大量时间。所以,今天小编转载了知乎上的一篇文章,介绍了一些常用 PyTorch 代码段,希望能够为奋战在电脑桌前的众多程序猿们提供帮助!本文代码基于 PyTorch 1.0 版本,需要用到以下包[code]import collecti...转载 2019-09-29 17:06:30 · 1034 阅读 · 1 评论 -
【科研-学习-pytorch】2-线性回归
文章目录线性回归问题拟合和梯度下降总结线性回归问题定义函数:y=w*x + b拟合和梯度下降定义损失函数loss = (w*x + b - y)**2计算平均损失函数值import numpy as np# y = wx + bdef compute_error_for_line_given_points(b, w, points): totalError = 0 for i in range(0, len(points)): x = points[i原创 2022-05-19 22:15:14 · 154 阅读 · 0 评论 -
【科研-学习-pytorch】4-数据类型、创建、索引和维度变化
数据类型tensor数据类型,对于dim=0和dim=1是不一样的;维度为0的数据,一般称为标量,如loss值;维度为1的数据,一般称为向量,如feature维度;tensor shape,view和size的区别tensor.shape和tensor.size()是一样表示tensor形状(不同维度对应数量);tensor.dim()可显示tensor维度;创建tensorrandom创建,需灵活掌握各种类型random;random_like(a)比较方便;torch.empty,作为原创 2022-05-19 22:17:41 · 262 阅读 · 0 评论 -
Pytorch常用函数-Flatten
flatten的中文含义为“扁平化”,具体怎么理解呢?我们可以尝试这么理解,假设你的数据为1维数据,那么这个数据天然就已经扁平化了,如果是2维数据,那么扁平化就是将2维数据变为1维数据,如果是3维数据,那么就要根据你自己所选择的“扁平化程度”来进行操作,假设需要全部扁平化,那么就直接将3维数据变为1维数据,如果只需要部分扁平化,那么有一维的数据不会进行扁平操作。torch.flatten()方法有三个参数,分别:部分扁平化总结torch.flatten(x, start_dim, end_di原创 2022-06-02 22:19:53 · 4252 阅读 · 0 评论 -
Yolo v4--pytorch版本多图测试
Pytorch版 Yolo v4:https://github.com/Tianxiaomo/pytorch-YOLOv4COCO数据集预训练模型yolov4.pth(https://pan.baidu.com/s/1ZroDvoGScDgtE1ja_QqJVw Extraction code:xrq9)yolov4.conv.137.pth(https://pan.baidu.com/s/1ovBie4YyVQQoUrC3AY0joA Extraction code:kcel)配置环境con原创 2020-07-30 16:00:11 · 1497 阅读 · 0 评论 -
【科研-学习-pytorch】5-boardcasting、合并分割
文章目录boardcasting(自动推广)boardcasting使用范围应用合并catstack分割splitchunckboardcasting(自动推广)首维插入1将维度为1扩展为相同维度特征尺寸匹配扩展为相同尺寸后相加boardcasting可理解为:unsqueeze + expand调整维度一致boardcasting是由需求而来,对于不同尺寸的计算,需要手动多次处理设置尺寸一致,使用boardcasting可以自动匹配尺寸且不需要额外占用内存,准确方便且高效;board原创 2022-05-20 09:40:55 · 511 阅读 · 1 评论 -
MaskedConv2d实现
PixelCNN是DeepMind团队在论文Pixel Recurrent Neural Networks提出的一种生成模型,实际上这篇论文共提出了两种架构:PixelRNN和PixelCNN,两者的主要区别是前者用LSTM来建模,而PixelCNN是基于CNN的,相比RNN,CNN计算更高效,所以这里只讨论PixelCNN。前面已经说过PixelCNN也属于自回归生成模型,相比NADE,PixelCNN只是采用了更先进的CNN网络来进行建模。对于一张大小为[公式]的图像[公式],可以将其看成一个一维的序列转载 2022-06-05 22:03:28 · 2017 阅读 · 0 评论 -
模型推理FPS计算
场景很多模型的性能比较,不只是指标的提升,还需要考虑模型的效率、速度;计算模型的推理速度FPS是一项重要的指标,记录如下: # the first several iterations may be very slow so skip them parser.add_argument( '--max-iter', type=int, default=2000, help='num of max iter') parser.add_argument( '-原创 2022-05-30 22:07:00 · 4059 阅读 · 5 评论 -
【科研-学习-pytorch】3-分类问题
分类问题线性回归,三个fc分类预测;one-hot编码;激活函数Relu;矩阵相乘的shape变换;mnisttorchvision直接读取;train、test、val;实现load datatorchvision load data(x,y)create modeltorch.nn,使用nn.linear嵌套三个fc得到模型;加入F.relu作为激活函数;train和test训练迭代,读取traindataloader数据、放入模型、清零梯度、计算梯度、反向传播原创 2022-05-19 22:16:04 · 276 阅读 · 0 评论 -
Pytorch常用函数-topk
topk()方法用于返回输入数据中特定维度上的前k个最大的元素。参数说明:总结使用torch.topk可以指定特定维度、特定前N个最大/最小值,并输出其值和索引。原创 2022-06-02 22:20:29 · 1264 阅读 · 0 评论 -
pytorch训练模型时dataloader报错“default_collate: batch must contain tensors, numpy arrays, numbers, dicts ”
这个数组里边的dtype都是object,想起来之前在这个数组里边存过str,怪不得现在是object。打印number_info_array,label_info都是ndarray。解决方式手动改类型。原创 2022-07-18 22:26:02 · 4588 阅读 · 0 评论 -
【科研-学习-pytorch】1-框架特性和常见问题类型
文章目录静态图和动态图框架pytorch特性简单回归问题-Linear Regression总结静态图和动态图框架静态图:先定义变量和结构,后运行;结构和运行是分开的过程,定义好结构后运行期间是无法干预的;(不方便输出中间变量)TensorFlow动态图:随时定义,随时运行;灵活调整变量和计算方式,灵活调试中间变量的值和shape,方便操作;pytorchpytorch特性gpu加速自动求导autograd.grad(y, [a, b, c])常用深度学习模块nn.Linear, nn.原创 2022-05-19 22:14:24 · 149 阅读 · 0 评论 -
【科研-学习-pytorch】7-梯度、激活函数和loss
文章目录梯度导数-derivate偏微分梯度如何优化激活函数感知机sigmoidtanhRelulossMean Squared ErrorCross Entropy Loss梯度导数-derivate导数是函数对变量的变化率,包含意义广泛;是一个标量;偏微分对某一变量的导数,多个变量时偏微分表示对指定向量的导数;梯度对不同变量的导数,是向量,包含方向和数值;凸函数,用到凸优化问题;对于不同函数,使用梯度更新思想,将对应损失函数和权重偏导梯度更新,调整学习参数;鞍点,难以优化的函数;如原创 2022-05-20 09:39:08 · 120 阅读 · 0 评论 -
pytorch计算模型的参数量和计算速度
文章目录模型参数总量模型计算量梯度值模型层数模型计算图pytorch实用工具总结模型层数:print_layers_num模型参数总量:print_model_parm_nums模型的计算图:def print_autograd_graph():或者参见tensorboad模型滤波器可视化:show_save_tensor模型在具体的输入下的尺寸信息summary以及参数量:show_summary模型计算量:print_model_parm_flopsimport torchimport转载 2022-05-24 21:25:41 · 637 阅读 · 0 评论 -
Pytorch预训练模型和修改——记录
文章目录加载模型读取预训练模型模型参数修改训练特定层(冻结层)PyTorch的Module.modules()和Module.children()加载模型一般从torchvision的models中加载常用模型,如alexnet、densenet、inception、resnet、squeezenet、vgg等常用网络结构,并提供预训练模型,调用方便。from torchvision import modelsresnet = models.resnet50(pretrain=True)prin原创 2022-05-25 22:43:39 · 935 阅读 · 0 评论 -
模型冻结对应层参数freeze
目的在做迁移学习或者自监督学习时,一般先预训练一个模型,再将该模型参数作为目标任务模型的初始化参数,或者直接freeze预训练模型,不再更新其参数。方法from collections.abc import Iterable def set_freeze_by_names(model, layer_names, freeze=True): if not isinstance(layer_names, Iterable): layer_names = [layer_nam原创 2022-05-24 21:17:14 · 682 阅读 · 0 评论 -
Pytorch使用torchvision实现deform_conv2D
将feature map当作一个一个网格,其中输出结果y中,点p这个坐标的值,取决于,其中为权重,为论文中引入的modulation scalar factor。而需要根据三个参数之和作为输入,代表的是原坐标,是相对于坐标 的相对位移。例如,一个的卷积核,则,以上都是标准卷积。本文提出Deformable_Conv就在于加入了新的参数,即需要网络去学习的一个learnable offset。根据论文offset=和mask=都需要进行学习。原文(The modulation scalar lies in原创 2022-06-02 22:27:48 · 1661 阅读 · 3 评论 -
pytorch之transforms(numpy数据类型转化为tensor,归一化、resize)
代码】pytorch之transforms(numpy数据类型转化为tensor,归一化、resize)原创 2022-07-18 22:31:18 · 903 阅读 · 0 评论 -
pytorch训练模型时出现nan原因
常见原因-1一般来说,出现NaN有以下几种情况:相信很多人都遇到过训练一个deep model的过程中,loss突然变成了NaN。在这里对这个问题做一个总结:1.如果在迭代的100轮以内,出现NaN,一般情况下的原因是因为你的学习率过高,需要降低学习率。可以不断降低学习率直至不出现NaN为止,一般来说低于现有学习率1-10倍即可。2.如果当前的网络是类似于RNN的循环神经网络的话,出现NaN可能是因为梯度爆炸的原因,一个有效的方式是增加“gradient clipping”(梯度截断来解决)3原创 2021-11-08 14:21:02 · 5058 阅读 · 1 评论 -
Pytorch图像到模型过程
Pytorch数据集准备阶段from PIL import Imagefrom torch.utils.data import Datasetclass MyDataset(Dataset): def __init__(self, txt_path, transform = None, target_transform = None): fh = open(txt_path, 'r'...原创 2019-06-20 13:51:05 · 844 阅读 · 0 评论 -
python2转python3 自动代码
背景(S):今天用到的代码是python2版本,调试别人代码结果。冲突(C):anaconda环境装python2太费劲,又需要使用代码复现。解决方法(S):import sysfrom lib2to3.main import mainsys.exit(main('lib2to3.fixes'))假设此文件名为2to3.py使用方法:python 2to3.py -w fi...原创 2019-10-21 20:28:14 · 180 阅读 · 0 评论 -
Python中关于动态变量建立和调用,json读写
动态变量调用背景在读写json文件时,需要同时读取多个json文件并处理,如果内嵌到循环中,每次读取大大增加运行时间,写多个读写操作又太傻瓜,希望能一次创建多个变量并对应读取具体操作创建多个动态变量# 创建动态变量函数create_variable = locals()for i in range(len(all_files)): #create_variable['j...原创 2019-11-27 14:39:01 · 1535 阅读 · 0 评论 -
python-collections模块中OrderedDict的使用
OrderedDict在Python中,dict这个数据结构由于hash的特性,是无序的。在collections模块中为我们提供了 OrderedDict ,当你需要获取一个有序的字典对象时,试用它即可。python中的字典(dict)对象可使用“键”,“值” 对的形式存取值,但默认的内置类型字典中的元素是无序的。Collections模块下的OrderedDict类实现了对字典的排序,OrderedDict是dict的一个子类,实现了对字典排序的功能,下面看一下两者数据类型的对比。from co原创 2022-05-24 21:06:38 · 1176 阅读 · 0 评论 -
统计list数据中不同数据出现的频率
Method 1data = [1,2,3,4,2,3,4,2,3,4,5,6,6,4,4,5,6,7,4]data_dict = {}for key in data: data_dict[key] = data_dict.get(key,0) + 1print("data_dict:",data_dict)输出结果:data_dict: {1: 1, 2: 3, 3: 3,...转载 2019-11-27 14:46:24 · 702 阅读 · 0 评论 -
Python range() 函数用法
文章目录range函数使用方式参数说明实例range函数Python3 range() 函数返回的是一个可迭代对象(类型是对象),而不是列表类型, 所以打印的时候不会打印列表。Python3 list() 函数是对象迭代器,可以把range()返回的可迭代对象转为一个列表,返回的变量类型为列表。使用方式range(stop)range(start, stop[, step])参数说明start: 计数从 start 开始。默认是从 0 开始。例如range(5)等价于range(0, 5)原创 2022-05-30 21:59:49 · 168 阅读 · 0 评论 -
h5py使用
关于h5py的使用及数据封装实例https://blog.csdn.net/shenziheng1/article/details/80675264h5py 必知–String存储https://blog.csdn.net/qq_34859482/article/details/80115237原创 2021-03-16 21:17:59 · 269 阅读 · 0 评论 -
python数值扩展
python中有一个zfill方法用来给字符串前面补0,非常有用a = '5'b = a.zfile(5)b = '00005'将字符串前面补充0原创 2019-11-13 12:31:11 · 571 阅读 · 0 评论 -
Numpy、Pandas、Matplot和Seaborn使用(持续更新)
文章目录PandasNumpy随机数seaborn使用heatmapMatplot数据平滑坐标轴显示Pandas使用groupby分类分组,得到object对象,使用get_group分解得到对应dfscore_df = train_df.groupby(2)score_df.get_group(value)[0].valuesNumpy随机数python指定范围的随机数_python random随机数、numpy.random随机数_漫荹雲端149839的博客-CSDN博客https:原创 2022-05-19 22:10:45 · 868 阅读 · 0 评论 -
成功解决TypeError: a bytes-like object is required, not ‘str‘
是函数write需要的参数类型是。第二个参数是编码,根据需求选择。把str转换成bytes类型。原创 2022-07-18 22:28:43 · 6539 阅读 · 0 评论 -
Python os.walk 和python glob.glob使用
os.walk()os.walk() 方法用于通过在目录树中游走输出在目录中的文件名,向上或者向下。os.walk() 方法是一个简单易用的文件、目录遍历器,可以帮助我们高效的处理文件、目录方面的事情。语法walk()方法语法格式如下:os.walk(top[, topdown=True[, onerror=None[, followlinks=False]]])参数top -- ...原创 2018-12-24 13:42:10 · 2211 阅读 · 0 评论 -
图片爬取
采用Image Downloader,实现三大引擎的图片爬取下载已经编译好的应用软件:Image Downloader解压并执行可以设置需要爬取图片搜索引擎和关键字,还可以设置需要爬取图片的数量和线程数默认的下载路径是,本项目下的download_images文件下转载:https://blog.csdn.net/weixin_44777827/article/details/104611395...转载 2020-09-05 21:23:54 · 254 阅读 · 0 评论 -
利用cv2.rectangle()绘制矩形框(python)
cv2.rectangle包含的参数有:(img, pt1, pt2, color, thickness=None, lineType=None, shift=None )各参数的含义如下:总结cv2.rectangle(读取图片变量, (左上角点坐标)(右下角点坐标),(颜色),(线宽))cv2.addWeighted 的原理是:将复制图片(以下称 blk)绘制实心矩形并调整透明度,叠加到原图中。各参数的含义如下:总结使用cv2.addWeighted主要是确定好前景和后景图片,指定透明度即可原创 2022-06-05 21:19:20 · 29931 阅读 · 2 评论 -
python学习笔记1
对象类型对象可认为是需要操作的数据和操作方式;python程序可分为:模块、语句、表达式和对象。 - 程序由模块构成 - 模块包含语句 - 语句包含表达式 - 表达式建立并处理对象python特点:不需要部署和管理对象类型,直接使用内置对象。原因为: - 内置对象程序更容易书写 - 内置对象是可扩展组件 - 内置对象往往比定制化数据结构更有效率 - 内置对象是语言标原创 2018-01-18 22:20:35 · 332 阅读 · 0 评论 -
Pandas和Matplot常用操作记录
文章目录Pandas基本操作常用-agg 聚合操作agg-meanagg-sum总结Matplotscatter增加颜色条-colorbar改变颜色条-cmapbarPandas常用pandas存储和读取文本文件,且pandas用于统计和分数数据非常方便。但对于常用的groupby操作不太熟练,记录便于回顾。参考教程基本操作company=["A","B","C"]data=pd.DataFrame({ "company":[company[x] for x in np.rando原创 2021-07-06 18:43:57 · 418 阅读 · 0 评论 -
matplot可视化参考资料
matplot可视化参考资料。原创 2022-12-23 18:20:20 · 143 阅读 · 0 评论