Product

用助理君来监控TensorFlow的训练过程

曾经有过不少使用itchat等个人微信号机器人来实现监控TensorFlow训练过程的文章。前段时间传出微信要关闭网页接口的消息,故而想到把它接入在助理君服务号里,通过服务号来监控TensorFlow的训练进度。 关注并登录助理君。在助理君微信公众号内回复: secret 即可获取你的私人密钥。将密钥输入在这里即可。 在右侧的选项中,选择SDK这一选项。输入频道名称。点击下一步,再下一步,到获取二维码页面即可。 之后即可拿到二维码,扫码即可订阅这一频道: 之后,在我们的TensorFlow运行环境上安装wxpusher,使用pip install wxpusher即可安装。 在训练的文件中,从wxpush中引入pusher的对象。 from wxpush import pusher p = pusher.Pusher('channelId','channelTitle')

Web Program

跟我一起来实现一个ORM

最近在做Tech Builds的新闻页的时候,用到了很多爬虫方面的技术。虽说在爬虫方面已经有较为完善的Scrapy等框架可供调用,但是还是希望自己从头来完成一个这样的爬虫框架,在使用上希望尽可能简单。 恰好之前有个同学刚刚也在写一个爬虫,问到我怎么写模型比较好,那个时候我都是用SQLAlchemy来实现ORM的。这次也找机会自己实现一个,算是填上了当初数据库作业的坑。 我们要实现的大概是这样的一个功能,当我们编写如下的代码: class Article(Model): link=Column('link') title=Column('title') source=Column('source') keyword=Column('keyword') def __init__(self): pass def

React-Native之单向数据流设计

何为Redux React是一种建立用户界面的框架,在React中,每一个UI元素被认为是一个“组件”,组件之间嵌套组合,就形成了一个组件树。数据在这个组件树中单向流动,即上层组件可以向下层组件传递数据,而下层组件不能向上层组件传递数据,兄弟组件之间也不能。但我们希望,数据能够自由地流通,这要怎么办呢?有几种方式都可以来实现: 上层组件向下层组件传递一个回调函数,下层组件调用回调函数来修改上层组件的值。 下层组件发布一个订阅来通知上层组件更新数据。 Facebook提出了flux的模式,如果说React是MVC中V的部分,那么Flux就可以被认为是M和C的部分。稍后我们也会简单地介绍一下flux。 一些其他的方式,如Redux(其实是Flux的简化版)。 何为Flux 前两种形式在小应用中是比较多见的。而随着项目越来越大,回调函数或是事件会越来越多,会给管理带来很大的麻烦。Flux通过一个更加抽象的单向数据流来解决组件树中数据流动的问题。 当有Web请求或是用户的操作时,通过ActionCreator创建一个Action,

Machine Learning

人脸检测的Viola-Jones方法

对于人脸识别这种类型的应用来说,通常都会分为几个步骤: 人脸检测(Face Detection)。检测到人脸所在的区域。并进行一系列的矫正。 人脸校准(Face Alignment)。人脸校准指的是在图片中寻找到鼻子、眼睛、嘴巴之类的位置。 如图中,红色的框是在进行检测,白色的点是在进行校准。 信息识别(Info Recognition)。进行性别、年龄等信息的分析和识别。 这三个问题可以说每一个都是一个非常广泛的研究领域,有很多值得做的工作。本文只做一些简单的介绍。 人脸检测 Viola-Jones方法 传统的人脸检测算法是Viola-Jones算法。在OpenCV中的人脸检测功能也是使用的这种算法。它有三个核心步骤:Haar-like特征、Adaboost分类器和Cascade级联分类器。 Haar-like特征 所谓Haar-like特征其实很好理解。

Product

助理君 — 随时得到代码更新提醒

我们一直以来都尝试用Slack或者类似的国内替代品来接收Gitlab上面的提醒,不过由于各种原因,Slack经常出现登录失败,而且蛮多人也不愿意手机里再单独装一个app来接收这样的提醒。趁着公司在搞新的服务号,就趁机把Gitlab/Github的提醒放到了服务号上面来。 简单来说,这就是一个能随时随地提醒你代码有更新了的微信服务号。点此访问 使用指北: 0:访问助理君 | 连接开发者,关注助理君的微信公众号。 1:发送secret给助理君,得到你的个人密钥。输入在页面里的secret,并设置频道名称。 2:点击Github或Gitlab,得到webhook的地址。并将其设置在项目的webhook处。 3:之后就可以得到二维码啦,扫码即可订阅这个频道,接收代码的更新。也可以将这个二维码分发出去,让团队的小伙伴一起用。 技术细节: 1:我尝试了使用PHP的EasyWechat框架,

Product

ZTodo:极简的任务管理工具

“ 能把最核心的诉求解决的产品就是好的产品” 01 — 初心 2017年的1月份,最热闹的新闻大概就是微信小程序的发布了。不能免俗的,也是出于好奇,我们花了两天的时间赶工做了ZTodo的初版。没想到的是,用户增长和评价远远超出了我们的想象。 在过去的几个月里,ZTodo的用户数累计近万 (9.5k) ,用户创建了超过8000个任务。也有十几个用户向我们反馈了他们的意见。也有一些第三方的榜单将我们记录其中: 实话说,单纯从数据上来说,我们可能不是特别满意。但考虑到我们并没有做任何推广,而且还是纯英文的名字,这个结果对我们来说已经算是不错了。 02 — 升级 在记录了很多用户的意见之后,我们也终于有了足够多的经验和精力来完善这个产品。加入了呼声很高的日历、提醒、删除任务的功能。考虑到有些朋友可能是新来的,所以还是介绍一下ZTodo的使用逻辑。如果是已经使用过的用户,