epoch

深度学习调参有哪些技巧?

旧巷老猫 提交于 2020-10-29 01:28:41
点击上方 “ 小白学视觉 ”,选择加" 星标 "或“ 置顶 ” 重磅干货,第一时间送达 编辑:Amusi | 来源:知乎 https://www.zhihu.com/question/25097993 本文仅作为学术分享,如果侵权,会删文处理 深度学习调参有哪些技巧? 深度学习的效果很大程度上取决于参数调节的好坏,那么怎么才能最快最好的调到合适的参数呢?求解 作者:Jarvix https://www.zhihu.com/question/25097993/answer/153674495 只想说一句:初始化 一次惨痛的教训是用normal初始化cnn的参数,最后acc只能到70%多,仅仅改成xavier,acc可以到98%。 还有一次给word embedding初始化,最开始使用了TensorFlow中默认的initializer(即glorot_uniform_initializer,也就是大家经常说的无脑使用xavier),训练速度慢不说,结果也不好。改为uniform,训练速度飙升,结果也飙升。 所以,初始化就跟黑科技一样,用对了超参都不用调;没用对,跑出来的结果就跟模型有bug一样不忍直视。 作者:BBuf https://www.zhihu.com/question/25097993/answer/934100939 大概调了快一年CNN(2019年1月到今天)

zookeeper

馋奶兔 提交于 2020-10-29 01:23:08
一、What 一个 主从架构 的分布式框架 给分布式框架提供协调服务(service) 作用 提供简版文件系统来存储数据 维护和 监控 存储的数据 状态变化 ,通过监控数据状态变化达到基于数据的集群管理 主要用来解决分布式集群中应用系统的 一致性 问题 应用场景 1. 主备切换 2. 节点的上下线感知 3. 统一命名服务 4. 状态同步服务 5. 集群管理 6. 分布式应用配置管理 二、基本概念 ZooKeeper=简版文件系统(Znode)+原语+通知机制(Watcher) ZK文件系统 基于类似于文件系统的 目录节点树 方式的数据存储 原语 提供类linux指令进行操作 Watcher(监听器) 数据节点ZNode 数据节点本质就是目录 持久节点 临时节点 非有序节点 create create -e 有序节点 create -s create -s -e 持久节点(无序) 节点创建以后,即便连接断开,除非主动删除,不然会一直存在 持久节点(有序) 创建节点的时候加上 -s ,会默认的在目录后加上数字 防止同一目录创建同名ZNode导致失败 临时节点(无序) 节点创建以后,一旦连接断开会自动删除 创建节点的时候通过 -t 指定 持久节点(有序) 同上 会话 与zk交互时会建立TCP长连接,称为会话 建立会话后,如果超过SessionTimeout时间,两者间没有通信,会话超时

TensorFlow开发者证书 中文手册

帅比萌擦擦* 提交于 2020-10-24 12:25:37
经过一个月的准备,终于通过了TensorFlow的开发者认证,由于官方的中文文档较少,为了方便大家了解这个考试,同时分享自己的备考经验,让大家少踩坑,我整理并制作了这个中文手册,请大家多多指正,有任何问题和建议都可以在文末联系到我~ 同时,感谢各位大牛们期间对我的帮助和指导! ------------------------------------------------------------------------------------------------------------------------------------------------------------------ 考试流程 TensorFlow Certificate 官方网站: https://tensorflow.google.cn/certificate?hl=vi 1. 阅读考生手册 提前阅读最新的考生手册,官方文档 TF_Certificate_Candidate_Handbook 的下载地址如下: https://tensorflow.google.cn/site-assets/downloads/marketing/cert/TF_Certificate_Candidate_Handbook.pdf 考试细节 考核目的 本次测试是为了考核学员应用 TensorFlow 2.x 构建模型

生成流畅文本方法

一笑奈何 提交于 2020-10-24 06:53:46
作者|Aaron Abrahamson 编译|VK 来源|Towards Data Science 在沙丘魔堡2000上训练文本生成模型 沙丘魔堡是一个遥远的封建社会的故事。它关注的是一位公爵和他的家人,他们被迫成为沙漠星球阿拉基斯的管理者。弗兰克·赫伯特在1965年出版了这部经典作品。几乎任何现代科幻小说都可以追溯到沙丘的某些元素。 我最近完成了《沙丘》的续集《沙丘的弥赛亚》,并且刚刚开始了《沙丘的孩子》系列的第三部。有六个故事最初是赫伯特写的,后来又有一大堆是他儿子写的。我没读过那些。 我一直在探索文本生成模型。我觉得用沙丘试试会很有趣。很多的“经典”机器学习模型被用于预测和聚类。生成性建模允许模型创建角度从中学习的训练数据。最近一个关于生成建模能力的例子是StyleGAN,看看这段视频( https://www.youtube.com/watch?v=kSLJriaOumA )。 这里有一个链接到我在这个项目中使用的Colab笔记本( https://drive.google.com/file/d/15Z7SNBnBL12acmUGvvMLQ-OoMspb-B5k/view?usp=sharing )。 处理过程 获取文本数据的语料库 数据清洗。我有一些unicode字符,每当有分页符的时候就会出现“page”这个词,这个词是没有用的

ECA-Net: Efficient Channel Attention for Deep Convolutional Neural Networks

余生长醉 提交于 2020-10-24 06:15:43
论文《ECA-Net: Efficient Channel Attention for Deep Convolutional Neural Networks》的完整翻译,如有翻译不当之处敬请评论指出,蟹蟹!(2019-10-17) 作者:Qilong Wang1, Banggu Wu1, Pengfei Zhu1, Peihua Li2, Wangmeng Zuo3, Qinghua Hu1 发表:暂未知 代码:https://github.com/BangguWu/ECANet 摘要 通道注意力在改善深度卷积神经网络(CNNs)性能方面具有巨大的潜力。然而,大多数现有的方法致力于开发更复杂的注意力模块,以获得更好的性能,不可避免地增加了计算负担。为了克服性能与复杂度权衡的悖论,本文尝试研究一种用于提高深度CNNs性能的超轻量级注意模块。特别地,我们提出了一个有效的通道注意(ECA)模块,它只涉及k (k<=9)参数,但带来了明显的性能增益。通过回顾SENet中的通道注意模块,我们实证地证明了避免降维和适当的跨通道交互对于学习有效的通道注意是重要的。因此,我们提出了一种无降维的局部跨通道交互策略,该策略可以通过快速一维卷积有效地实现。此外,我们开发了一个通道维数的函数来自适应地确定一维卷积的核大小,它代表了局域交叉通道相互作用的覆盖范围

Redis学习笔记(十五)Sentinel(哨兵)(中)

你说的曾经没有我的故事 提交于 2020-10-23 11:02:43
上一篇 我们模拟了单机器下哨兵模式的搭建,那么接下来我们看下哨兵模式的实现与工作。 为什么又分成两篇呢?因为篇幅太长(偷懒),再一个这篇主要说的是Sentinel的初始化以及信息交换,下一篇着重说下状态检查、Sentinel头领选举与故障转移 。 启动并初始化Sentinel 当一个Sentinel启动时,需要执行以下步骤: (1)初始化服务器。 因为Sentinel本事上是一个运行在特殊模式下的Redis服务器,所以启动时的第一步也就是初始化一个普通的Redis服务器。不同点是在初始化的时候不会载入RDB或AOF文件。 (2)将普通的Redis服务器使用的代码替换成Sentinel专用代码。 端口替换Redis服务器使用redis.h/REDIS_SERVERPORT(6379)常量作为服务器端口,而Sentinel则使用sentinel.c/REDIS_SENTINEL_PORT(26379)常量作为服务器端口。 另外Redis服务器使用redisCommandTable服务器作为命令表,而Sentinel则使用sentinelcmds作为服务器的命令表,并且其中的info命令会使用Sentinel模式下专用的sentinelInfoCommand函数,而不是普通redis服务器使用的redis.c/infoCommand函数。 (3)初始化Sentinel状态。

Module API

坚强是说给别人听的谎言 提交于 2020-10-18 22:24:42
module或简写为mod,提供一个用于执行Symbol算的中高级接口,可理解为module是执行 Symbol定义好的程序 的机器。 module.Module接受Symbol作为输入: data = mx.sym.Variable( ' data ' ) fc1 = mx.sym.FullyConnected(data, name= ' fc1 ' , num_hidden=128 ) act1 = mx.sym.Activation(fc1, name= ' relu1 ' , act_type= " relu " ) fc2 = mx.sym.FullyConnected(act1, name= ' fc2 ' , num_hidden=10 ) out = mx.sym.SoftmaxOutput(fc2, name = ' softmax ' ) mod = mx.mod.Module(out) # create a module by given a Symbol 根据symbol建立module 关于module的一套 训练流程见这里 。本节的目的是选择一些常用module API,包括一些重要的属性和方法做个分析。 module包提供了以下几个module:最主要的还是第二个。 显然BaseModule是其他所有module的基类, 基类提供以下方法 : 1.

AI大有可为:NAIE平台助力垃圾分类

扶醉桌前 提交于 2020-10-15 01:49:38
摘要: 生活垃圾的分类和处理是目前整个社会都在关注的热点,如何对生活垃圾进行简洁高效的分类与检测对垃圾的运输处理至关重要。AI技术在垃圾分类中的应用成为了关注焦点。 如今AI已经是这个时代智能的代名词了,任何领域都有AI的身影,垃圾分类及监管等场景自然也少不了“AI+”的赋能。 不过,垃圾往往属于商品的极端变形体,情况比较特殊。目前的技术在视觉可见的基础上,是可以做到垃圾分类报警提醒的,比如判断垃圾是否是经过分类整理的。至于是否能够直接进行视觉检测并分类,且达到某种效果,需要更多的数据和实验支撑才能判断这件事情的可行性。针对这些问题,我们或许可以从海华垃圾分类挑战赛中去听听参赛者都是如何用技术来改变世界的。 海华垃圾分类挑战赛数据包括单类垃圾数据集以及多类垃圾数据集。单类垃圾数据集包含80,000张单类生活垃圾图片,每张单类垃圾图片中仅有一个垃圾实例。 多类垃圾数据集包括4998张图像,其中2,998张多类垃圾图片作为训练集数据,A榜和B榜各包含1000张测试图像,每张多类垃圾图片中包含至多20类垃圾实例。我们将对两种数据集分别进行介绍。 一、多类别垃圾 图1 多类垃圾数据类别分布 如图1所示,多类别垃圾涵盖了204类垃圾,但这204类的数据非常不均衡,有一些类别数目非常少甚至没有出现。 图2 多类垃圾数据可视化 图2中两张图是训练集中的两张图像

【Keras】基于SegNet和U-Net的遥感图像语义分割

半城伤御伤魂 提交于 2020-10-13 00:22:33
上两个月参加了个比赛,做的是对遥感高清图像做语义分割,美其名曰“天空之眼”。这两周数据挖掘课期末project我们组选的课题也是遥感图像的语义分割,所以刚好又把前段时间做的成果重新整理和加强了一下,故写了这篇文章,记录一下用深度学习做遥感图像语义分割的完整流程以及一些好的思路和技巧。 数据集 首先介绍一下数据,我们这次采用的数据集是CCF大数据比赛提供的数据(2015年中国南方某城市的高清遥感图像),这是一个小数据集,里面包含了5张带标注的大尺寸RGB遥感图像(尺寸范围从3000×3000到6000×6000),里面一共标注了4类物体,植被(标记1)、建筑(标记2)、水体(标记3)、道路(标记4)以及其他(标记0)。其中,耕地、林地、草地均归为植被类,为了更好地观察标注情况,我们将其中三幅训练图片可视化如下:蓝色-水体,黄色-房屋,绿色-植被,棕色-马路。更多数据介绍可以参看 这里 。 现在说一说我们的数据处理的步骤。我们现在拥有的是5张大尺寸的遥感图像,我们不能直接把这些图像送入网络进行训练,因为内存承受不了而且他们的尺寸也各不相同。因此,我们首先将他们做随机切割,即随机生成x,y坐标,然后抠出该坐标下256*256的小图,并做以下数据增强操作: 原图和label图都需要旋转:90度,180度,270度 原图和label图都需要做沿y轴的镜像操作 原图做模糊操作

Redis学习笔记(十六) Sentinel(哨兵)(下)

允我心安 提交于 2020-10-10 12:55:39
消失了一段时间,我又回来啦。不多说,继续把哨兵看完。 检测主观下线状态 默认情况下,Sentinel会以每秒一次的频率向所有与他创建了命令连接的实例(主从服务器以及其他Sentinel)发送PING命令,并通过实例返回的PING命令回复来判断实例是否在线。 实例对PING命令的回复可以分为两种情况: 有效回复:实例返回+PONG、-LOADING、-MASTERDOWN三种回复的其中一种。 无效回复:实例返回除+PONG、-LOADING、-MASTERDOWN三种回复之外的回复或者规定时间内没有收到任何回复。 指定Sentinel判断实例进入主观回复的时间长度是由Sentinel配置文件中的down-after-milliseconds选项指定的。 如果没有收到master服务器的回复,Sentinel就会将master标记为主观下线,并在master所对应的实例结构的flags属性中打开SRI_S_DOWN标识。 检查客观下线状态 当Sentinel将一个主服务器判断为主观下线之后,为了确认这个主服务器是否真的已经下线,它会向同样监视这一主服务器的其他Sentinel进行询问,看他们是否也认为主服务器已经进入下线状态,当Sentinel从其他Sentinel那里接收到足够数量的已下线判断后,Sentinel就会将主服务器判定为科幻下线,并对主服务器执行故障转移操作。 使用