深度学习:基于mxnet的mnist手写数字识别

点击量:402

mnist手写数字识别是入门深度学习,或者学习一个新的深度学习框架时,最容易上手的程序。本文中,我将使用mxnet深度学习框架在mnist数据集上实现一个简单的手写数字识别模型。

继续阅读“深度学习:基于mxnet的mnist手写数字识别”

深度学习如今还能走多远

点击量:497

2019年3月,计算机领域的最高奖——图灵奖,颁发给了深度学习的三位创造者Yoshua Bengio, Yann LeCun,和Geoffrey Hinton。这三位科学家对深度学习基本概念的发明,做出的令人们轰动的实验,对工程领域和深度神经网络实际应用的贡献,使得他们的得奖当之无愧。

继续阅读“深度学习如今还能走多远”

为Keras包装一个线程安全的数据生成器

点击量:414

我们在使用Keras训练深度学习模型时,往往不能一次将数据全部加载进内存中,那样会导致内存不足的问题。包括Keras在内的深度学习框架提供了动态数据加载的模式,也就是说,需要使用到哪些数据时,才会加载哪些数据,而Keras需要我们自己定义一个数据生成器,并通过多线程的机制调用我们传入的数据生成器,克服硬盘的IO速度瓶颈,以实现数据的动态加载。

继续阅读“为Keras包装一个线程安全的数据生成器”

通过同步和加锁解决多线程的线程安全问题

点击量:470

在计算机多线程编程中,线程之间的安全问题是很重要的,它不仅关系到所需要的功能能否正确地实现,还关系到算法运行结果的稳定性等问题。当在多线程编程时,或者使用到的软件框架是具有多线程运行功能的时候,一名训练有素且技术过硬的合格程序员是会考虑程序在多线程环境下运行时的线程安全问题的,尤其是在多个线程间存在共享的资源的情况下。博主最近在使用Keras框架做深度学习训练的时候,就遇到了这样的问题,多线程时,Python的普通生成器会遇到异常。本文主要介绍两种实现多线程之间线程安全的方案,同步和加锁。

继续阅读“通过同步和加锁解决多线程的线程安全问题”

记一次机械硬盘出现数据写入错误的真实案例

点击量:372

由于博主做的工作原因,最近获取到了一批语音数据集,全部为wav格式。数据拿到手,自然要将数据存储到自己的硬盘中。由于固态硬盘的容量有限,所以我就将其全部复制粘贴到机械结构的移动硬盘中,随后要进行的工作就是数据的处理。

继续阅读“记一次机械硬盘出现数据写入错误的真实案例”

如何解决神经网络训练时loss不下降的问题

点击量:16784

当我们训练一个神经网络模型的时候,我们经常会遇到这样的一个头疼的问题,那就是,神经网络模型的loss值不下降,以致我们无法训练,或者无法得到一个效果较好的模型。导致训练时loss不下降的原因有很多,而且,更普遍的来说,loss不下降一般分为三种,即:训练集上loss不下降,验证集上loss不下降,和测试集上loss不下降。这里,首先默认各位都能理解过拟合和欠拟合的概念,如果有不清楚的可以参考下面的一些文章。

继续阅读“如何解决神经网络训练时loss不下降的问题”

AI柠檬博客走过第二个年头

点击量:200

伴随着新的一年来临,爆竹声中一岁除,我们又长了一岁,AI柠檬博客也伴随着大家和博主我,走过了第二个年头。新年新气象,我也成为即将毕业的学生了。从跟大家一样,刚刚入学,怀着梦想的一个懵懂无知的萌新,变为一个对知识有所涉猎,对技术有所专长,对社会有所见解的人。当回顾过去这一年,看一看自己这一年来的进步情况,所学的知识,所做的事情,我们就会对自己在这段时间内的表现,能否令自己满意,是否达到了目标,有着一个明确的判断。

继续阅读“AI柠檬博客走过第二个年头”

GitHub宣布无限创建免费私有仓库

点击量:266

GitHub公司当地时间2019年1月7日,在其官方博客上发布文章,宣布私有仓库完全免费,每个仓库最多可以拥有3名协作者,此前只能通过学生认证来免费使用私有仓库。另外,在本次更新中,还有一项内容,对于企业来说,提供更简单、更统一的产品。

继续阅读“GitHub宣布无限创建免费私有仓库”

ASVRG:一个更好的加速近端SVRG

点击量:1263

ASVRG是由西安电子科技大学一科研团队于近期新提出来的一个加速的近端随机变量减小的梯度方法,通过设计一个简单高效的动量加速技巧,只添加一个额外的变量和一个动量参数,使得其拥有了一个更简单且所需的训练迭代数更少的加速效果。并且,ASVRG被证明可以实现强凸和非强凸目标的最著名的oracle复杂性,此外,还可以扩展到小批量和非平滑设置。作者在论文中,还凭经验验证了理论结果,并表明ASVRG的性能与最先进的随机方法相当,有时甚至更好。

继续阅读“ASVRG:一个更好的加速近端SVRG”