http://blog.csdn.net/hungryof/article/details/72902169

https://github.com/andreaskoepf/faster-rcnn.torch/blob/master/models/model_utilities.lua

https://github.com/torch/nngraph/blob/master/README.md

直接上源码:

原本我们使用sequential,创建无分枝的网络结构是这样的。

require 'loadcaffe'

local cnn = loadcaffe.load('VGG_ILSVRC_19_layers_deploy_5.prototxt','VGG_ILSVRC_19_layers_5.caffemodel','nn'):float()

net = nn.Sequential()

for i = 1,3 do

net:add(cnn:get(i))

end

print(net:get(1).weight)

现在我们要使用nngraph,创建二分枝的网络结构式这样的。

require 'nn'

require 'nngraph'

require 'loadcaffe'

local cnn = loadcaffe.load('VGG_ILSVRC_19_layers_deploy_5.prototxt','VGG_ILSVRC_19_layers_5.caffemodel','nn'):float()

local h1 = nn.Identity()()

net_same = h1 - cnn:get(1) - cnn:get(2)

net_1 = net_same - cnn:get(3) - cnn:get(4)

net_2 = net_same - cnn:get(3) - cnn:get(4)

gmod = nn.gModule({h1},{net_1,net_2})

print(gmod:get(2))

forward得到的out可以分为两个:out[1]和out[2]

如果想把他们合并起来是:out = {out[1], our[2]}

其他都一样backward,updateGradInput等随便用就OK

如果input有两个,就是这样的。

h1 = - nn.Linear(20,20)

h2 = - nn.Linear(10,10)

hh1 = h1 - nn.Tanh() - nn.Linear(20,1)

hh2 = h2 - nn.Tanh() - nn.Linear(10,1)

madd = {hh1,hh2} - nn.CAddTable()

oA = madd - nn.Sigmoid()

oB = madd - nn.Tanh()

gmod = nn.gModule( {h1,h2}, {oA,oB} ) 是不是特别简单,啊哈哈

multi task训练torch_torch中创建multitask网络结构相关推荐

  1. multi task训练torch_采用single task模型蒸馏到Multi-Task Networks

    论文地址. 这篇论文主要研究利用各个single task model来分别作为teacher model,用knowledge distillation的方法指导一个multi task model ...

  2. multi task训练torch_手把手教你使用PyTorch(2)-requires_gradamp;computation graph

    import torch 1. Requires_grad 但是,模型毕竟不是人,它的智力水平还不足够去自主辨识那些量的梯度需要计算,既然如此,就需要手动对其进行标记. 在PyTorch中,通用的数据 ...

  3. multi task训练torch_Multi-task Learning的三个小知识

    本文译自Deep Multi-Task Learning – 3 Lessons Learned by Zohar Komarovsky 在过去几年里,Multi-Task Learning (MTL ...

  4. multi task训练torch_Pytorch多机多卡分布式训练

    被这东西刁难两天了,终于想办法解决掉了,来造福下人民群众. 关于Pytorch分布训练的话,大家一开始接触的往往是DataParallel,这个wrapper能够很方便的使用多张卡,而且将进程控制在一 ...

  5. vue在日历表上面创建事件_如何在R中创建颜色编码的日历

    vue在日历表上面创建事件 用颜色编码的日历可以快速简便地查看您是否实现了日常目标. 您是否符合销售或社交媒体帖子等日常业务指标? 或者,您如何实现个人目标,例如每天锻炼? 乍一看,您可以了解自己的工 ...

  6. Multi task learning多任务学习背景简介

    2020-06-16 23:22:33 本篇文章将介绍在机器学习中效果比较好的一种模式,多任务学习(Multi task Learning,MTL).已经有一篇机器之心翻译的很好的博文介绍多任务学习了 ...

  7. 多智能体强化学习Multi agent,多任务强化学习Multi task以及多智能体多任务强化学习Multi agent Multi task概述

    概述 在我之前的工作中,我自己总结了一些多智能体强化学习的算法和通俗的理解. 首先,关于题目中提到的这三个家伙,大家首先想到的就是强化学习的五件套: 状态:s 奖励:r 动作值:Q 状态值:V 策略: ...

  8. Multi Task Learning在工业界如何更胜一筹

    摘要: 本文主要介绍多任务学习和单任务学习的对比优势以及在工业界的一些使用.如何从单任务学习转变为多任务学习?怎样使AUC和预估的准确率达到最佳?如何对实时性要求较高的在线应用更加友好?本文将以淘宝实 ...

  9. dqn在训练过程中loss越来越大_强化学习笔记:OpenAI Gym+DQN+Tensorflow2实现

    参考了一些文章,针对OpenAI gym环境,使用tf2.x实现了DQN算法:加上了一些没有太大必要(?)的小功能,比如:自动保存视频,保存训练日志从而利用TensorBoard实现数据可视化,保存和 ...

  10. 如何在 Python 中创建一个简单的神经网络

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 引言 在过去的几十年里,机器学习对世界产生了巨大的影响,而且它的普 ...

最新文章

  1. cmake,gtest单元测试程序
  2. 【转载】dos下通过wmic命令查看硬盘和内存/CPU信息(windows自带命令查看硬件信息)
  3. Spring MVC集成Log4j
  4. 怎么把路由的#号去掉_VLAN应用篇系列:交换机VLAN间路由与传统单臂路由(子接口)方式...
  5. 使用 nuget server 的 API 来实现搜索安装 nuget 包
  6. ICML2020 | 伯克利提出大模型提升Transformer的训练和推理效率
  7. buy low buy lower——伪思考
  8. 法国spin高等计算机学校,spin-去展网
  9. Python Re 模块超全解读
  10. oligo包常用函数
  11. PC版微信扫描登陆原理
  12. .Net框架搭建之2、SQL Server MEF依赖注入 MVC Repository框架
  13. KEPServerEX 6.7.1046.0 新版本功能大全
  14. 下载神器Aria2 + WebUI-Aria2 + 接管Chrome下载任务
  15. Spring boot 发送手机验证码
  16. SketchUp Pro2023安装包下载及安装教程
  17. 【小白手册】超实用Python入门指南!
  18. Java高级 设计模式
  19. 河北保定电信家庭宽带获取原生IPv6地址,中兴F650光猫加MikroTik路由器
  20. python 内置浏览器robobrowser_【自动化测试】无需图形界面环境下的浏览器开源项目...

热门文章

  1. Python学习:Python分析中国人口(一)爬取数据
  2. 计算机基础知识2003,计算机基础知识PPT2003练习题及答案(DOC)
  3. Win 10 添加多国语言
  4. mysql sniffer下载_Gitee 极速下载
  5. 学考计算机fix怎么取消,学考XK-80科学型计算器的使用说明.ppt
  6. 计算机系统的用户分几类,计算机操作系统的几种分类方式
  7. 金蝶KIS旗舰版新建,恢复帐套时提示:ActiveX部件不能创建对象
  8. MyEclipse 10 破解教程
  9. 推荐系统中的前沿技术研究与落地:深度学习、AutoML与强化学习 | AI ProCon 2019
  10. 彩虹易支付最新版开源版源码分享