Hinton胶囊理论代码开源,上线即受热捧
当前的深度学习理论是由Geoffrey Hinton大神在2007年确立起来的,但是如今他却认为,“CNN的特征提取层与次抽样层交叉存取,将相同类型的相邻特征检测器的输出汇集到一起”是大有问题的。
去年9月,在多伦多接受媒体采访时,Hinton大神断然宣称要放弃反向传播,让整个人工智能从头再造。10月,人们关注已久的Hinton大神那篇Capsule论文”Dynamic Routing between Capsules”终于揭开面纱。
在论文中,Capsule被Hinton大神定义为这样一组神经元:其活动向量所表示的是特定实体类型的实例化参数。他的实验表明,鉴别式训练的多层Capsule系统,在MNIST手写数据集上表现出目前最先进的性能,并且在识别高度重叠数字的效果要远好于CNN。
近日,该论文的一作Sara Sabour终于在GitHub上公开了该论文中的代码。该项目上线5天便获得了217个Star,并被fork了14218次。下面让我们一起来看看Sara Sabour开源的代码吧。
胶囊模型的代码在以下论文中使用:
“Dynamic Routing between Capsules” by Sara Sabour, Nickolas Frosst, Geoffrey E. Hinton.
要求
- TensorFlow ( 访问 http://www.tensorflow.org 了解如何安装和升级)
- NumPy (详见http://www.numpy.org/)
- GPU
运行测试代码验证设置是否正确,比如:
python layers_test.py
快速MNIST测试结果:
从以下网址下载并提取MNIST记录到$DATA_DIR/:
https://storage.googleapis.com/capsule_toronto/mnist_data.tar.gz
从以下网址下载并提取MNIST模型检测点(checkpoint)到$CKPT_DIR:
python experiment.py --data_dir=$DATA_DIR/mnist_data/ --train=false \
--summary_dir=/tmp/ --
checkpoint=$CKPT_DIR/mnist_checkpoint/model.ckpt-1
快速CIFAR10 ensemble测试结果:
- 从以下网址下载并提取cifar10二进制版本到$DATA_DIR/:
https://www.cs.toronto.edu/~kriz/cifar.html - 从以下网址下载并提取cifar10模型检测点(checkpoint)到$CKPT_DIR:
https://storage.googleapis.com/capsule_toronto/cifar_checkpoints.tar.gz - 将提取的二进制文件目录作为data_dir传递给($DATA_DIR)
python experiment.py --data_dir=$DATA_DIR --train=false --dataset=cifar10 \
--hparams_override=num_prime_capsules=64,padding=SAME,leaky=true,remake=false \
--summary_dir=/tmp/ --checkpoint=$CKPT_DIR/cifar/cifar{}/model.ckpt-600000 \
--num_trials=7
Sample CIFAR10训练命令:
python experiment.py --data_dir=$DATA_DIR --dataset=cifar10 --max_steps=600000\
--hparams_override=num_prime_capsules=64,padding=SAME,leaky=true,remake=false \
--summary_dir=/tmp/
Sample MNIST完整训练命令:
python experiment.py --data_dir=$DATA_DIR/mnist_data/ --max_steps=300000\
--summary_dir=/tmp/attempt0/
Sample MNIST 基线训练命令:
python experiment.py --data_dir=$DATA_DIR/mnist_data/ --max_steps=300000\
--summary_dir=/tmp/attempt1/ --model=baseline
上述模型的训练期间在验证集上进行测试
训练中连续运行的注意事项:
- 在训练中 –validate = true
- 总共需要总共2块GPU:一个用于训练,一个用于验证
- 如果训练和验证工作位于同一台机器上,则需要限制每个任务的RAM占用量,因为TensorFlow会默认为第一个任务分配所有的RAM,而第二个任务将无法进行。
在MultiMNIST上测试/训练:
--num_targets = 2
--data_dir = $ DATA_DIR / multitest_6shifted_mnist.tfrecords@10
生成multiMNIST / MNIST记录的代码位于input_data / mnist / mnist_shift.py
生成multiMNIST测试分割的示例代码:
python mnist_shift.py --data_dir=$DATA_DIR/mnist_data/ --split=test --shift=6
--pad=4 --num_pairs=1000 --max_shard=100000 --multi_targets=true
为affNIST泛化能力建立expanded_mnist: –shift = 6;–pad = 6。
Github地址:
https://github.com/Sarasra/models/tree/master/research/capsules
论文地址:
https://arxiv.org/abs/1710.09829
Hinton胶囊理论代码开源,上线即受热捧相关推荐
- 安卓9与10的系统要求_代码开源!支持RISC-V架构的安卓系统终于来了!
文章来源:芯片开放社区,作者:OCC编辑 万里征途迈出第一步,基于RISC-V的安卓10系统来了. 点击链接查案演示视频: 平头哥芯片开放社区(OCC)occ.t-head.cn 今天,平头哥完成了 ...
- 语音合成论文与韩国小哥“撞车”后续:英伟达“赶紧”把代码开源了
乾明 编辑整理 量子位 出品 | 公众号 QbitAI 前两天,量子位报道了韩国小哥语音合成论文与英伟达撞车一事. 在得知自己的论文与英伟达的论文"撞车"之后,韩国小哥赶紧在arX ...
- 2020华为软挑热身赛代码开源-思路大起底(华为软件精英挑战赛编程闯关)
本文首发于个人公众号[两猿社],后台回复[华为],获取完整开源代码链接. 昵称:lou_shang_shi_bian_tai 成绩:0.032 社长没有针对硬件做任何优化,热身赛成绩也一般.但有些比赛 ...
- 太牛了!华为天才少年稚晖君又自制硬萌机器人,代码开源了
文末送书福利,记得看完~ 作者|新智元 编辑|桃子 拉燕 还记得上次那个「全栈自研」的给葡萄缝针的钢铁侠机械臂Dummy吗? 近3个月没更的华为「天才少年」稚晖君带着他的最新视频来了! 虽然跳票了一段 ...
- GIt+jenkins代码自动上线
代码自动上线功能 企业部署代码上线是件比较麻烦的事情,还好我们有jenkins这个持续集成的软件可以帮助我们做很多的事情,现在我们就 来测试用jenkins推送代码上线. 我们这里测试的是一个html ...
- 【通知】《生成对抗网络GAN原理与实践》代码开源,勘误汇总!
有三上个月出版了新书<生成对抗网络GAN:原理与实践>,Generative Adversarial Networks(中文名生成对抗网络,简称GAN)自从被提出来后,其发展就非常迅猛,几 ...
- 最新发布!SMOKE 单目3D目标检测,代码开源!
点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 作者| 黎国溥 编辑| 3D视觉开发者社区 SMOKE是一个one-stage的单目视觉障碍物检测模型 ...
- 天津椭圆曲线科技(原木姜子科技)市集商城代码开源
一. 市集简介 市集是由天津木姜子科技知鱼定制技术团队开发的一款商城类 SAAS 平台应用,用户可以在 15 分钟内就可以开通自己的商城,目前客户端应用包含 APP,微信小程序,支付宝小程序, H5 ...
- 单目纯视觉避障方案——2020中国机器人大赛FIRA避障仿真组决赛代码开源
单目纯视觉避障方案--2020中国机器人大赛FIRA避障仿真组决赛代码开源 目录 单目纯视觉避障方案--2020中国机器人大赛FIRA避障仿真组决赛代码开源 比赛环境介绍 赛题要求 比赛思路 该方案的 ...
最新文章
- python 检测exe是否未响应_第002篇:Python的安装
- jvm_虚拟机参数讲解(三)
- 20145225 《信息安全系统设计基础》第14周学习总结
- 剑桥大学的下午茶,为何能喝出六十位诺贝尔奖获得者?
- 数字图像处理王伟强_深度学习主导下,还有必要学数字图像处理?
- linux 网卡驱动安装
- vue中怎么点击修改文字_杭州展馆设计中说明牌和说明文字怎么样才能使用最大化?...
- Android:复杂listview条目
- 追踪电子邮件行踪的“眼”
- 如何在桌面添加计算机日历工具,如何在电脑桌面上添加日历小工具?
- 常见的DoS攻击防御方式
- Java实现163邮箱发送邮件到QQ邮箱
- “欢迎来到智能城市,我是小武”
- 自己动手编写CSDN博客备份工具-blogspider之源码分析(1)
- 神经网络架构搜索——可微分搜索(DARTS)
- 仿 手机QQ 登录、注册、找回密码、好友列表、QQ状态等功能的实现
- Go语言案例(一)音乐播放器
- 项目质量管理全部精华看这篇就够了
- Java-设计模式之单例模式
- 计算机网络 第二讲:HTTP
热门文章
- com.mysql.jdbc.PacketTooBigException: Packet for query is too large (1169 1024)
- 电子工程师必须掌握的20个模拟电路
- Java的Clone
- 精通JavaScript--07设计模式:行为型
- Mac环境下svn的使用
- What Are Words(一诺千金)
- ArcObjects编程方法(七):.NET中继承ArcGIS COM类
- jQuery选择器的工作原理和优化
- 中国电子学会scratch等级考试四级编程题:找出出现次数最多的数字
- 刻意练习:LeetCode实战 -- Task20. 对称二叉树