
PyTorch
颜良文良
深度学习小白
展开
-
【PyTorch】pytorch实现focalLoss
focalLoss焦点损失函数,主要是为了解决one-stage目标检测中正负样本比例严重失衡的问题。该损失函数降低了大量简单负样本在训练中所占的权重,也可理解为一种困难样本挖掘。FocalLoss是在交叉熵损失函数的基础上修改的得来的 其中y表示真实样本;p表示预测得到的概率;平衡因子alpha,用来平衡正负样本本身的比例不均;gamma调节简单样本权重降低的速率,当gamma为0时即为交叉熵损失函数,...原创 2020-10-14 09:34:25 · 3493 阅读 · 2 评论 -
【PyTorch】crnn-json格式解析与图片子框获取
解析标注的集装箱数据,根据坐标获取其中的子框与label进行crnn训练#-*- coding: UTF-8 -*-import jsonimport osimport sysfrom tqdm import tqdmimport cv2img_path = 'C:/Users/admin/Desktop/123/jizhuangx/image/'img_split = '...原创 2019-11-08 15:05:56 · 744 阅读 · 0 评论 -
【PyTorch】crnn-finetune模型学习率调整策略
1. 网络模型2.不同层设置不同学习率这里以adam优化器为例#不同层设置不同的学习率train_params = list(map(id,crnn.rnn.parameters())) #20rest_params = filter(lambda x:id(x) not in train_params, crnn.parameters()) #20#print('22...原创 2019-11-04 20:05:04 · 1936 阅读 · 0 评论 -
【PyTorch】crnn—python多线程进行数据增强
import osimport numpy as npimport cv2from PIL import Imageimport randomimport multiprocessingimport timeimport threadingfrom threading import Threadfrom time import ctimefrom time import sl...原创 2019-10-24 19:58:04 · 1236 阅读 · 2 评论 -
【PyTorch】le,index_select,clamp方法总结
torch.le(input, other, out=None) → Tensor 逐元素比较input和other , 即是否input<=other返回1或0的tensor结果index_select(x, 1, indices,out)→Tensor1代表维度1,即列,indices是筛选的索引序号。x输入,out输出对应x的索引torch.clamp(i...原创 2019-07-31 21:38:55 · 659 阅读 · 0 评论 -
【PyTorch】torchvision进行图像预处理
import torchfrom torchvision import transforms, datasetsdata_transform = transforms.Compose([ transforms.RandomSizedCrop(224), transforms.RandomHorizontalFlip(), transforms...原创 2019-08-13 19:26:17 · 1988 阅读 · 0 评论 -
【PyTorch】目标检测SSD输出层
不是每一层都计算一遍softmax和regression,这样的计算量太大了,因此需要多个featuremap协作,也就是把所有特征层提取的关于类别或者位置的特征concat起来。在接softmax或者regression。参考:https://blog.youkuaiyun.com/tomxiaodai/article/details/81875810...原创 2019-08-13 10:14:47 · 364 阅读 · 0 评论 -
【PyTorch】crnn模型之pil库解析图像二进制并显示
from PIL import Imageimport siximgP = 'C:/Users/admin/Desktop/20456859_3970255468.jpg'with open(imgP, 'rb') as f: imageBin = f.read()buf = six.BytesIO() #获取指针(地址)对象buf.write(imageBin) #指...原创 2019-09-22 18:13:21 · 1401 阅读 · 0 评论 -
【PyTorch】crnn模型之LMDB数据生成
import osimport lmdb # install lmdb by "pip install lmdb"import cv2import numpy as npfrom keys import *from glob import globimport functoolsdef checkImageIsValid(imageBin): if imageBi...原创 2019-10-11 10:41:37 · 2088 阅读 · 0 评论 -
【PyTorch】SSD整体流程与训练过程
流程图:图参考自:https://blog.youkuaiyun.com/h__ang/article/details/90316220 训练流程总结如下:(这是通过object detection api训练过程总结而来)(1)首先从tfrecords格式的数据中读取训练图片信息.(2)对图像进行随机水平翻转、大小调整等操作(3)利用搭建的卷积神经网络得到不同尺度...原创 2019-07-25 20:12:03 · 2072 阅读 · 0 评论 -
【PyTorch】PyTorch搭建基础VGG16网络
vgg16网络结构: 源码:import torchimport torch.nn as nnfrom torch.autograd import Variablecfg = {'vgg16':[64, 64, 'M', 128, 128, 'M', 256, 256, 256, 'M', 512, 512, 512, '...原创 2019-07-25 15:30:24 · 3556 阅读 · 0 评论 -
【PyTorch】多维tensor结构数据运算问题(不定期更新)
demo1:def main(): #l2norm = L2Norm(512,20) x = torch.tensor([[1.,2.], [1.,1.]]) norm = x.pow(2).sum(dim=1, keepdim=True).sqrt() #keep表示保持原有2维数据结构的形式 print(no...原创 2019-07-30 13:35:17 · 1661 阅读 · 0 评论 -
【PyTorch】windows环境下pytorch实现transfer learning
运行环境: pytorch 1.1.0 torchvision 0.2.2 cuda 9.0 cudnn v7.5介绍 本案例中,你可以学习如何使用迁移学习来训练自己的网络,本博客参考pytorch官网(pytorch.org)中的官方教程,并进行了独立的实现与代码的梳理。 ...原创 2019-05-29 10:59:01 · 1142 阅读 · 12 评论 -
【PyTorch】中transforms函数详解
转载自: https://www.jianshu.com/p/13e31d619c15在pytorch框架下进行迁移学习是往往需要将用到训练的图像进行整合,此时就需要用到torchvision中Compose函数,下面对其中的内部参数进行讲解torchvision.transforms是pytorch中的图像预处理包一般用Compose把多个步骤整合到一起:比如说...转载 2019-05-29 11:06:54 · 962 阅读 · 1 评论 -
【PyTorch】state_dict详解
Introduce在pytorch中,torch.nn.Module模块中的state_dict变量存放训练过程中需要学习的权重和偏执系数,state_dict作为python的字典对象将每一层的参数映射成tensor张量,需要注意的是torch.nn.Module模块中的state_dict只包含卷积层和全连接层的参数,当网络中存在batchnorm时,例如vgg网络结构,torch.nn....原创 2019-05-31 20:33:11 · 59497 阅读 · 3 评论 -
【PyTorch】sgd,momentum,adam对损失函数的影响
import torchimport torch.nn as nnimport torch.nn.functional as Fimport torch.optim as optimfrom torch.autograd import Variableimport matplotlib.pyplot as pltimport torch.utils.data as DataLR ...原创 2019-07-18 10:17:30 · 2524 阅读 · 0 评论 -
【PyTorch】CNN实现CIFAR10的预测
import torchimport torchvisionimport torchvision.transforms as transformsimport matplotlib.pyplot as pltimport numpy as npimport torch.nn as nnimport torch.nn.functional as Fimport torch.optim...原创 2019-07-16 12:01:38 · 2127 阅读 · 3 评论 -
【PyTorch】GPU实现cnn手写数字识别
核心思想:将数据与整个网络都集成到GPU进行运算。代码#gpu方式的mnist手写数字识别import torchimport torch.nn as nnimport torch.optim as optimimport torch.nn.functional as Ffrom torch.autograd import Variableimport torch.uti...原创 2019-07-18 22:02:36 · 3018 阅读 · 0 评论 -
【PyTorch】构建简单神经网络的两种方式
需要理解过程以及每个模块的作用import torchimport torch.nn as nnimport torch.nn.functional as Fimport torch.optim as optimclass Net(nn.Module): def __init__(self,n_feature, n_hidden, n_output): s...原创 2019-07-17 16:24:45 · 934 阅读 · 0 评论 -
【PyTorch】模型的保存与读取
import torchimport torch.nn as nnfrom torch.autograd import Variableimport torch.nn.functional as Fimport torch.optim as optimimport matplotlib.pyplot as pltimport numpy as np#torch.manual_se...原创 2019-07-17 18:30:16 · 551 阅读 · 0 评论 -
【PyTorch】详解pytorch中nn模块的BatchNorm2d()函数
基本原理在卷积神经网络的卷积层之后总会添加BatchNorm2d进行数据的归一化处理,这使得数据在进行Relu之前不会因为数据过大而导致网络性能的不稳定,BatchNorm2d()函数数学原理如下: BatchNorm2d()内部的参数如下:1.num_features:一般输...原创 2019-06-12 21:45:34 · 194003 阅读 · 25 评论