PyTorch
祥瑞Coding
机器学习,计算机视觉
展开
-
Graph Convolution Network图卷积网络(一)训练运行与代码概览
背景:看懂并运行Graph Convolution Network的pytorch代码。代码地址:https://github.com/tkipf/pygcn论文地址:https://arxiv.org/abs/1609.02907 Semi-Supervised Classification with Graph Convolutional Networks,ICLR 2017目录...原创 2019-04-18 14:36:44 · 18771 阅读 · 21 评论 -
Graph Convolution Network图卷积网络(二)数据加载与网络结构定义
背景 : 弄懂Graph Convolution Network的pytorch代码如何加载数据并且如何定义网络结构的。代码地址:https://github.com/tkipf/pygcn论文地址:https://arxiv.org/abs/1609.02907 Semi-Supervised Classification with Graph Convolutional Network...原创 2019-04-19 10:35:05 · 17001 阅读 · 38 评论 -
PyTorch项目应用实例(一)加载(本地|官方)预训练模型
背景:我们需要把模型上传集群运行,所以预训练的模型需要放在文件夹之内进行加载,把环境及配置拷入env之后,不能用文件夹之外的库。预训练的resnet101需要直接放入目录下加载。目录一、预训练模型的加载1.1 模型加载1.2 加载流程1.3 模型位置1.4 缺点1.5 找到预训练模型位置二、加载指定位置模型2.1 例子程序2.2 把网络模型放入目录下2....原创 2019-04-28 21:57:15 · 19052 阅读 · 7 评论 -
ML-GCN(二)模型结构更改
背景:我们需要更改相应的模型。(另,训练测试的时候,训练集上的mAP居然比验证集上的差,比如epoch =1的时候差了 30个百分点,可能程序编写有误,这点我们需要搞懂,查清代码原因。)目录一、模型定义1.1 定义位置1.2 输入参数1.3 初始化的网络1.4 结构关系二、heads网络2.1 输入参数2.2 初始化网络结构2.3 前馈结构Globa...原创 2019-04-28 15:07:02 · 3542 阅读 · 7 评论 -
PyTorch项目应用实例(二)ResNet | SENet实现coco多标签分类
背景:之前的网络结构做多标签分类较为复杂,我们需要用resNet进行多标签分类简单的实现相应的分类问题,测试baseline。目录一、网络结构及定义二、optimizer三、新定义网络3.1 加载模型3.2 模型定义3.3 网络尺寸3.4 fc层尺寸四、训练内存占用五、SENet更改5.1 引入模型5.2 SENet定义代码一、网络结构及定义...原创 2019-05-05 12:06:11 · 8832 阅读 · 5 评论 -
coco再分组与网络按照分组进行训练
背景:coco有原始的分组,我们通过谱聚类进行了新的分组。需要对coco进行再分组。然后送入网络训练。目录一、分组写入文件1.1 写入参考1.2 分组结果写入1.3 分组变量的读出二、程序中coco分组的运用2.1 程序调用关系2.2 聚类分组情况2.3 更改Config2.4 重新定义网络2.5 直接在网络中加载三、网络结构的定义3.1 网络输...原创 2019-05-13 20:25:16 · 547 阅读 · 2 评论 -
PyTorch项目应用实例(三)通用的图像分类模型实现图像分类(附代码与操作方法)
背景:需要从图像数据之中加载图像,然后根据标签训练。简单的直接将图片放入文件夹生成标签和训练数据,然后训练模型。实从图像到训练好的模型的转变。代码地址(可直接运行):github地址:https://github.com/Xingxiangrui/image_classification_with_pytorch也可直接copy 四中的代码。目录一、小样本量运行与调试1.1 数...原创 2019-05-10 16:25:55 · 9353 阅读 · 8 评论 -
PyTorch项目应用实例(五)加载模型验证并将所有结果写入文件
背景:我们训练好的模型,validate只显示相应的validate的结果。我们需要深入代码底层,看到模型数据集上的表现并且打印出相应的数据集结果。目录一、加载并验证模型1.1 加载模型1.2 核心语句更改1.3 创建新的文件二、直接validate2.1 learn基础上更改2.2 validate三、预测结果3.1 on_forward函数前馈运算3...原创 2019-05-15 09:56:34 · 6004 阅读 · 1 评论 -
PyTorch项目应用实例(四)设置learning_rate的decay
背景:训练的过程之中,需要对learning rate设置decay。我们现在设置learning rate,然后将它进行衰减,从而获得更好的效果。目录一、标准做法二、learning rate用于训练2.1 我们的程序的嵌套2.2 adjust learning rate2.3 我们的方案一、标准做法很容易看懂,直接用lr_scheduler.StepLR(opt...原创 2019-05-13 10:43:26 · 3719 阅读 · 1 评论 -
PyTorch项目应用实例(六)并行化|分组运算|张量乘|常用神经网络层
目的:模型需要增加GPU的并行化,下面是遇到的一些问题与方法。博主代码地址:https://github.com/Xingxiangrui/various_pyTorch_network_structure/blob/master/group_clsgat_parallel.py参考:torch的官方文档:https://pytorch.org/docs/master/torch.ht...原创 2019-05-21 21:51:20 · 1920 阅读 · 0 评论 -
PyTorch项目应用实例(七)模型添加中继loss | 中继监督优化
背景:网络最终的预测结果作为loss,可以继续添加中间loss做为思路:增加原始网络中继输出——中继输出与标签之间运算loss——与原始loss想加做为最终loss博主代码地址:https://github.com/Xingxiangrui/various_loss_and_intermedia_supervision目录一、原始loss的运算1.1 loss位置1.2 c...原创 2019-05-22 17:34:01 · 3632 阅读 · 13 评论 -
Graph Attention Network 图注意力网络 (三) 更改邻接masked attention
背景:需要将GAT实现在resnet的预测score之上,并且将masked attention运用上。相关内容:图注意力网络(GAT) ICLR2018, Graph Attention Network论文详解 Graph Attention Network (一) 训练运行与代码概览 Graph Attention Network (二) 模型定义 博主代码地址:https...原创 2019-05-30 16:46:38 · 5779 阅读 · 16 评论 -
PyTorch项目应用实例(八)固定权重|顺序训练网络
背景:需要将模型分层训练,不能同时训练。即固定一部分权重训练另一部分。目录一、多输出网络1.1 heads多输出1.2 最终的输出二、loss更新网络的方法2.1 loss位置2.2 criterion定义2.3 optimizer定义2.4 定义顺序汇总三、更改相应代码3.1 定义需要优化的参数3.2 更改学习率3.3 网络loss及结构一...原创 2019-05-28 17:01:07 · 3223 阅读 · 4 评论 -
ML-GCN(一)代码训练与运行
目的:运行并粗略看懂ML-GCN的代码。注:此代码为更改后的代码,结构与原来模型相差甚远。但代码结构大致相同。代码地址:https://github.com/chenzhaomin123/ML_GCN论文地址 https://arxiv.org/abs/1904.03582目录一、相关依赖项下载1.1 程序及数据1.2 数据集1.3 放入对应位置1.4 标注 an...原创 2019-04-24 16:50:21 · 10906 阅读 · 56 评论 -
旷视CVPR2019图卷积多标签图像识别Multi-Label Image Recognition with Graph Convolutional Networks论文详解
背景:GCN刚出来,很多很容易想到的idea会被运用起来,很容易产生一些paper。我们解析此篇论文,了解其中原理,一来看看如何将图卷积应用于目前技术上,二来看到底如何快速的把准确率刷到state of the art以便发文章。代码地址:https://github.com/chenzhaomin123/ML_GCN论文地址 https://arxiv.org/abs/1904.035...原创 2019-04-22 21:38:18 · 14470 阅读 · 35 评论 -
CycleGAN(一)概览与运行
背景:源码作者:junyanz/pytorch-CycleGAN-and-pix2pix源码地址:https://github.com/junyanz/pytorch-CycleGAN-and-pix2pix参考:https://github.com/junyanz/pytorch-CycleGAN-and-pix2pix目录一、下载1.1 下载1.2 安装好依赖项...原创 2019-03-22 16:27:43 · 6524 阅读 · 1 评论 -
CycleGAN(二)数据集重做与训练测试
目的:我们需要在我们的数据集上实现CycleGAN。参考:https://github.com/junyanz/pytorch-CycleGAN-and-pix2pix/blob/master/docs/datasets.md目录一、数据集制作1.1 数据集格式1.2 我们的数据集二、训练1.1 命令行1.2 不显示结果二、训练命令行2.1 norText_...原创 2019-03-26 10:30:14 · 20759 阅读 · 47 评论 -
CycleGAN(五)loss解析及更改与实验
目的:弄懂loss的定义位置及何更改。目录一、论文中loss定义及含义1.1 论文中的loss1.2 adversarial loss1.3 cycle consistency loss1.4 总体loss1.5 idt loss二、代码中loss定义2.1 判别器D的loss2.2 生成器G的loss2.3 Idt loss2.4 定义位置汇总...原创 2019-04-01 11:25:05 · 32163 阅读 · 18 评论 -
pix2pix(一)制作样本对并进行训练与测试
目的:我们通过cycleGAN生成了一些样本对,挑选出较好的样本对,想要在pix2pix上进行实验。参考:https://github.com/junyanz/pytorch-CycleGAN-and-pix2pix/blob/master/docs/datasets.md目录一、数据集创建方法1.1 A和B的描述1.2 文件夹与子文件夹1.3 命名规范1.4 创建数据...原创 2019-04-09 17:06:21 · 12241 阅读 · 15 评论 -
CentOS 6.3安装Anaconda并配置PyTorch与CUDA
背景:我们需要安装anaconda方便管理python环境及工具包。参考:centOS与Ubuntu较为类似,之前做过ubuntu上conda的安装,可参考这几篇略微更改如法炮制。此文方法为最简单方法,即通过yml文件直接安装并配置相应的环境,亲测有效。Ubuntu14.04安装Anaconda3-2018.12-x86_64 运用Anaconda对python 3.6与tensorf...原创 2019-09-01 20:08:49 · 3289 阅读 · 0 评论 -
CycleGAN(三)代码概览
目的:大致看懂cycleGAN代码结构参考:https://github.com/junyanz/pytorch-CycleGAN-and-pix2pix/blob/master/docs/overview.md目录一、概览train.pytest.pydata文件夹models文件夹options文件夹util文件夹二、train.py三、test.p...原创 2019-03-26 20:47:17 · 4804 阅读 · 0 评论 -
pix2pix(二)训练图像尺寸及分配显卡
背景:新的数据集上,图像的大小为496*496,与原尺寸512*512不一样,不知道能否直接运行。另外,我们现在有了四张空余显卡服务器,并且新数据集的数据量较大,我们有空余的显卡资源加快训练。目的:搞懂代码之中关于网络输入尺寸的部分,同时搞懂如何增大显卡占用以加快训练。目录一、图像尺寸1.1 作者描述 预处理 图像尺寸 关于尺寸的信息1.2 代码信息 ...原创 2019-04-11 15:10:59 · 6148 阅读 · 8 评论 -
CycleGAN(六)模型结构更改
目的:更改模型结构用于我们的实验,增加为两个判别器。参考:后面链接为作者给的更改模型的模板,我们需要在cycle_gan.py的基础上进行更改。https://github.com/junyanz/pytorch-CycleGAN-and-pix2pix/blob/master/models/template_model.py更改后代码已经共享到github:https://github....原创 2019-04-02 14:39:44 · 8945 阅读 · 1 评论 -
CycleGAN(四)inference过程与model定义
背景:我们需要搞懂cycleGAN如何对已有图片进行inference目录一、嵌套位置1.1 调用位置1.2 inference调用的函数二、前馈运算2.1 forward2.2 实验结果及解释三、模型3.1 模型定义3.2 定义loss3.3 模型结构一、嵌套位置1.1 调用位置test.py之中,很容易看到调用inference的部分...原创 2019-04-01 15:06:01 · 3978 阅读 · 3 评论 -
Graph Attention Network 图注意力网络 (一) 训练运行与代码概览
目的:运行并粗略看懂Graph attention network的pytorch代码。代码地址:https://github.com/Diego999/pyGAT论文地址:This is a pytorch implementation of the Graph Attention Network (GAT) model presented by Veličković et. al (2...原创 2019-04-22 10:49:49 · 10666 阅读 · 28 评论 -
Graph Attention Network 图注意力网络 (二) 模型定义
目的:前面详解了GAT(Graph Attention Network)的论文,并且概览了代码,我们需要对于原论文查看模型结构如何定义的。图注意力网络(GAT) ICLR2018, Graph Attention Network论文详解 Graph Attention Network (一) 训练运行与代码概览 代码地址:https://github.com/Diego999/pyGA...原创 2019-04-22 11:46:56 · 7942 阅读 · 40 评论 -
ILSVRC2017冠军SENet,Squeeze-and-Excitation Networks论文详解
背景:SENet以极大的优势获得了最后一届 ImageNet 2017 竞赛 Image Classification 任务的冠军,非常具有价值。博主代码地址:https://github.com/Xingxiangrui/various_pyTorch_network_structure/blob/master/senet_and_pretrained.py目录一、概览1.1 传...原创 2019-05-29 18:40:20 · 1044 阅读 · 0 评论