• 为了保证你在浏览本网站时有着更好的体验,建议使用类似Chrome、Firefox之类的浏览器~~
    • 如果你喜欢本站的内容何不Ctrl+D收藏一下呢,与大家一起分享各种编程知识~
    • 本网站研究机器学习、计算机视觉、模式识别~当然不局限于此,生命在于折腾,何不年轻时多折腾一下
关于图像去重的一点研究

关于图像去重的一点研究

最近在看一些图像去重的一些方法,网上一搜就会看到 phash、dhash 和 ahash 等基于哈希方法的去重算法,这一点跟文本上的 simhash 和 minhash 有着“相似”的处理逻辑。phash 具体处理逻辑如下所示:缩小尺寸 为了后边的步骤计算简单些简化色彩 将图片转化成灰度图像,进一步简化计算量计算 DCT 计算图片的 DCT 变……

开源Polynote:一个受IDE启发的多语言notebook

我们很高兴宣布Polynote的开源发布:一个新的多语言笔记本,具有一流的 Scala 支持,Apache Spark集成,包括 Scala,Python 和 SQL 在内的多语言互操作性,按需输入自动完成功能等等。Polynote 为数据科学家和机器学习研究人员提供了一个笔记本环境,使他们可以自由地将我们基于 JVM 的 ML 平台(大量使用 Scala……

keras预训练模型位置

最近在使用图像一些预训练模型做一些特征提取,提取的特征可以接下游的任务一起工作,使用的 keras 快速实验验证。如果直接写代码它会默认去 github 上面去拉预训练模型的文件,但是你懂得速度很感人,所以需要使用工具提前下载好与训练模型,keras 是去指定的位置去找这些模型的,所以需要放在合适的位置。Linux 下是放在“~/.keras/model……

Docker部署Familia相关问题解决方法

Docker部署Familia相关问题解决方法

百度的 Familia 提供了工业界主题向量的应用,现在应该很多的工业界项目中会应用到,也取得不错的效果。官方的文档还是写不够细致甚至还是有点小错误。github 上给出的 Docker 使用方法如下所示:Dockerdocker run -d \ --name familia \ -e MODEL_NAME=news \ ……

深度学习优化器-优化Tricks

深度学习优化器-优化Tricks

在前面两篇文章中,我们用一个框架梳理了各大优化算法,并且指出了以 Adam 为代表的自适应学习率优化算法可能存在的问题。那么,在实践中我们应该如何选择呢?本文介绍 Adam+SGD 的组合策略,以及一些比较有用的 tricks.回顾前文:Adam 那么棒,为什么还对 SGD 念念不忘 (1)Adam 那么棒,为什么还对 SGD 念念不忘 (2)不同……

深度学习优化器-Adam两宗罪

深度学习优化器-Adam两宗罪

在上篇文章中,我们用一个框架来回顾了主流的深度学习优化算法。可以看到,一代又一代的研究者们为了我们能炼(xun)好(hao)金(mo)丹(xing)可谓是煞费苦心。从理论上看,一代更比一代完善,Adam/Nadam 已经登峰造极了,为什么大家还是不忘初心 SGD 呢?举个栗子。很多年以前,摄影离普罗大众非常遥远。十年前,傻瓜相机开始风靡,游客几乎人手一个。……

深度学习优化器-一个框架看懂优化算法

深度学习优化器-一个框架看懂优化算法

机器学习界有一群炼丹师,他们每天的日常是:拿来药材(数据),架起八卦炉(模型),点着六味真火(优化算法),就摇着蒲扇等着丹药出炉了。不过,当过厨子的都知道,同样的食材,同样的菜谱,但火候不一样了,这出来的口味可是千差万别。火小了夹生,火大了易糊,火不匀则半生半糊。机器学习也是一样,模型优化算法的选择直接关系到最终模型的性能。有时候效果不好,未必是特征的……

关于矩概念有意思的描述

因为我们常常会将随机变量(先假定有任意阶矩)作一个线性变换,把一阶矩(期望)归零,二阶矩(方差)归一,以便统一研究一些问题。这时候,在同样期望为 0 方差为 1 的标准情况下(以下均假设随机变量满足该条件),随机变量最重要的指标就变成了接下来的两个矩了。三阶矩,就是我们所称的「偏度」。粗略来说,一个典型的正偏度变量 X 的分布满足这样的特征:很大的概率 X……

第一次接触RPC

很久很久以前经常听到同事提到 RPC,因为对工程的了解没那么多,所以也没去纠结 RPC,最近自己也在着手写一写工程代码,用到了 dubbo,顺便了解了 RPC。RPC(Remote Produce Call)指的是进程间通信。就是允许程序调用另一个地址空间(通常是共享网络的另一台机器上)的过程或函数,且不需要显式编码这个远程调用的细节。RPC 解决的问题……

学习keras 0x08–tf.data四种迭代器

tf.data 四种迭代器日常使用中单次迭代器应该是是用最多的,一般情况下数据量都是比较大,遍历一遍就搞定了。还是需要了解一下其他的迭代器,其实也是有相应的场合会需要这么去处理。MNIST 的经典例子本篇博客结合 mnist 的经典例子,针对不同的源数据:csv 数据和 tfrecord 数据,分别运用 tf.data.TextLineDataset(……

ssh-keygen生成rsa公钥问题

最近在配置一下 ssh 的公私钥,因为系统需要制定私钥的开头就是 begin rsa 的方式,如果是 openssh 就不支持,在使用网上的教程直接使用 gitbash 然后 ssh-keygen 但是结果生成的私钥中都是指定了 openssh,虽然你使用 -t rsa 的方式,如果希望出现 begin rsa 其实是要按照旧版加密协议来生成,所以在使用 s……

深度学习为什么需要大数据?

深度学习为什么需要大数据?

这个是一个朋友面试时遇到的问题,这个问题个人觉得算是一个开放性的问题,同时需要你对深度学习有着宏观的认识,并且有相关的实践经验。深度学习给人直观的感觉就是模型复杂,超多的参数需要去学习,如果训练的样本比较少,那么很容易过拟合。附带可以联系到 bias 和 variance 的讨论,也是可以从 VC 维去理解。模型论证角度知乎上有一个回答,这里引用一下……

keras学习 0x07-Tfrecord 读取

很久没更新了,都已经忘记的差不多了,说实话是自己偷懒了,最近一段时间周末其实也是有时间来更新的。上一篇文章写的还是怎么生成 tfrecord,这次准备从 tfrecord 中读数据。读写的方式可以使用 tf.data 或者使用 python io 方法来读取,不过建议还是使用 tf.data 来实现数据的读写。import tensorflow as ……

Keras学习-0x06-Tfrecord相关

前面的描述中讲完了序列模型和函数式模型的理论,对于 keras 而言后面所有模型代码的实现都是基于这两种方式来实现,所以这也是有讨论,接下来就是要从每一点去学习,自己计划的方式是从 input 到 output 依次来学习,所以最先开始讲的就是输入数据相关,总的顺序是这样,每一步都可以发散很多点来了解。先从 tfrecord 学习开始。tfrecord 也……

redis_py_cluster读取redis遇到too many connections问题

最近项目中需要自己去往 redis 里面写数据,redis 集群读写需要使用到 redis_py_cluster 这个 python 包,这中间遇到不少问题,其中就有数据序列化问题,有人使用 spark 中的 json 序列化方式,与 python 还不兼容,最后是不序列化直接存字符串的方式解决了不同语言之间的兼容问题,但是自己在读写 redis 的时候遇到……

Keras从零学习-函数式多输入与多输出-0x05

在工程实践中单输入的场景还是比较少的,这种单输入的理解仅是单个 Input,并不是特征为 1 哈。关于多输入这块还是有点歧义,比如我们有多种类型的特征,那么每一种特征处理的方式不一样,在工程实现也是使用多个 Input 来实现,可以参考我之前写的这篇文章keras 多输入官网给了一个例子,tweet 预测赞数的一个例子,在给出的模型中是定义了两个单独的输……

Keras从零学习-函数式模型-0x4

序列模型的好处就是简单易理解,上一篇文章介绍了序列模型的简单使用模型定义序列模型但是函数式模型定义会让你定义模型更加灵活。为什么称之为函数式,是因为你发现你在定义网路的时候就是在写各种函数的调用,所以看起来就是不断调用的函数来操作神经网络。先看一个简单的例子(来源 keras 官网)from keras.layers import Input, Den……

Keras从零学习-模型定义(序列模型)-0x03

之前的文章是使用感知机作为引导,文章中也涉及到一点点的 keras 代码示例,从这篇开始主要以讲解 keras 代码为主,暂时主要讲解 api 的使用,如果涉及到很低层的原理相关,我自己理解多少会写多少,水平有限。回到正题,这一节主要是讲一下 Keras 定义模型的第一种方法:序列模型定义你可以把它当做一个流水线你定义的模型就是按照流水线的方式,一……