
PyTorch、python
文章平均质量分 66
python、pytorch一些常见的问题
满船清梦压星河HK
永远年轻,永远热泪盈眶!
消失一段时间,死磕c++中!
展开
-
【python、pytorch】PIL、openCV读取的默认格式和通道顺序
目录一、PIL.Image.open二、cv2.imread一、PIL.Image.openH×W×C,RGB,数据类型 PIL.JpegImagePlugin.JpegImageFile通过 numpy.asarray(image_pil) 可转成 numpy.ndarray二、cv2.imreadH×W×C,BGR,数据类型 numpy.ndarray通过 cv2.cvtColor(image_cv2, cv2.COLOR_BGR2RGB) 可转成 RGB注:以上两种库读取到的图片值不一原创 2021-12-09 15:37:00 · 4963 阅读 · 0 评论 -
【python numpy】a.cumsum()、np.interp()、np.maximum.accumulate()、np.trapz()
目录一、a.cumsum()二、np.interp()三、np.maximum.accumulate四、np.trapz一、a.cumsum()a.cumsum(axis=None, dtype=None, out=None)参数a :数组axis: 轴索引,整型,若a为n维数组,则axis的取值范围为[0,n-1]dtype: 返回结果的数据类型,若不指定,则默认与a一致nout: 数据类型为数组。用来放置结果的替代输出数组,它必须具有与输出结果具有相同的形状和缓冲长度返回沿着指定轴的元原创 2021-08-14 21:30:04 · 7102 阅读 · 3 评论 -
【Opencv、ImageDraw、Matplotlib、Pandas、Seaborn】一些常见的画图函数
一、CV2OpenCV只能操作np.array格式的图像im [x1 y1 x2 y2] 左上角 + 右下角1.1、cv2.rectangle在im上画出框框cv2.rectangle(img, pt1, pt2, color, thickness=None, lineType=None, shift=None)参数:img: 要绘制的图像pt1: 矩形的左上角坐标 / 左下角坐标pt2: 矩形的右下角坐标 / 右上角坐标 ( p1和p2一定要相对)color: 矩形边框或原创 2021-08-02 22:10:03 · 1183 阅读 · 0 评论 -
【PyTorch】pkg_resources
pkg_resources 用于查找, 自省, 激活和使用已安装的Python发行版常用的函数介绍1、pkg_resources.require(env=None, installer=None)该函数负责返回对应包所需的所有依赖包如:import pkg_resourcespkg_resources.require('torch>=0.8.1')输出:[torch 1.7.0+cpu (d:\pycharm\envs\py3.8.10\lib\site-packages), d原创 2021-07-20 20:54:30 · 3077 阅读 · 0 评论 -
【Pytorch】.weight文件转为.pt文件
convert.pyimport torchfrom models.models import Darknet, load_darknet_weightsdevice = torch.device("cuda:0" if torch.cuda.is_available() else "cpu")cfg = 'cfg/yolov4.cfg'weights = 'weights/yolov4.weights'model = Darknet(cfg).to(device)load_darknet原创 2021-06-24 09:32:14 · 3930 阅读 · 2 评论 -
【PyTorch】max、mean、Max/AvgPool
一、torch.maxtorch.max(input, dim, keepdim=False)参数:\qquadinput: 输入 是一个tensor\qquaddim: max函数索引的维度\qquadkeepdim: 保持输出的维度 \qquad\qquad\quad\;\;当keepdim=False时,输出比输入少一个维度(就是指定的dim求范数的维度)。 \qquad\qquad\quad\;\;当keepdim=True时,输出与输入维度相同,仅仅是输出在求范数的维度原创 2021-05-27 10:22:02 · 2541 阅读 · 0 评论 -
【PyTorch】多GPU并行训练DistributeDataParallel(Linux版)
目录前言一、DataParalled和DistributeDataParallel二、多GPU训练常见启动方式三、torch.distributed.launch代码讲解3.1、main中添加了几个新的变量3.2、初始化各进程环境3.3、调整学习率3.4、在第一个进程中进行打印和保存等操作3.5、DistributedSampler3.6、BatchSampler3.7、DataLoader3.8、保证初始化权重一致3.9、SyncBatchNorm3.10、转为DDP模型3.11、DistributedS原创 2021-05-08 17:23:36 · 4864 阅读 · 2 评论 -
【PyTorch 理论】交叉熵损失函数的理解
目录一、交叉熵损失函数的数学原理2. 交叉熵损失函数的直观理解说起交叉熵损失函数「Cross Entropy Loss」,马上就能说出它的二分类公式:L=−[ylogy^+(1−y)log(1−y^)]L=−[ylog \hat{y}+(1−y)log (1−\hat{y})]L=−[ylogy^+(1−y)log(1−y^)] 其中 y为真实标签,y^\hat{y}y^为预测概率。但是它是怎么来的?为什么它能表征真实样本标签和预测概率之间的差值?一、交叉熵损失函数的数学原理我们知道,在二分原创 2021-04-28 10:21:40 · 2499 阅读 · 4 评论 -
【Trick2】torch.cuda.amp自动混合精度训练 —— 节省显存并加快推理速度
目录一、什么是amp?二、为什么需要自动混合精度(amp)?三、如何在PyTorch中使用自动混合精度?1、autocast2、GradScaler四、多GPU训练一、什么是amp?amp:Automatic mixed precision,自动混合精度,可以在神经网络推理过程中,针对不同的层,采用不同的数据精度进行计算,从而实现节省显存和加快速度的目的。自动混合精度的关键词有两个:自动、混合精度。这是由PyTorch 1.6的torch.cuda.amp模块带来的:from torch.cuda原创 2021-04-27 22:53:42 · 19073 阅读 · 9 评论 -
【PyTorch】两种常用的交叉熵损失函数BCELoss和BCEWithLogitsLoss
目录定义区别代码示例关键参数定义区别在Pytorch中,BCELoss和BCEWithLogitsLoss是一组常用的二元交叉熵损失函数,常用于二分类问题。区别在于BCELoss的输入需要先进行Sigmoid处理,而BCEWithLogitsLoss则是将Sigmoid和BCELoss合成一步,也就是说BCEWithLogitsLoss函数内部自动先对output进行Sigmoid处理,再对output和target进行BCELoss计算。代码示例下面为一个简单的示例:random.seed(0)原创 2021-04-27 10:37:37 · 5032 阅读 · 1 评论