Docle の Blog

--但行前路 无问西东--


  • 首页

  • 关于

  • 标签

  • 分类

  • 归档

  • 足迹

使用 TensorFlow Serving 和 Flask 部署 Keras 模型

发表于 2019-04-06 | 分类于 Carrying

作者: Himanshu Rawlan
链接: https://towardsdatascience.com/deploying-keras-models-using-tensorflow-serving-and-flask-508ba00f1037
来源: Towards Data Science

通常,我们需要抽象出机械学习模型细节,并将其部署或集成到到易于使用的 API 中。例如:我们可以提供一个 URl 地址,其他人可以向它发送一个 POST 请求然后得到模型预测结果的 JSON 响应,而不必关心技术细节。

在本教程中,我们会创建一个 TensorFlow Serving 服务来部署我们在 Keras 中构建的 InceptionV3 图像分类卷积神经网络(CNN)。接着我们会创建一个简单的 Flask 服务来接受 POST 请求和执行 Tensorflow serving 服务所需的一些图像预处理,并返回一个 JSON 响应。

阅读全文 »

Python 元组的相对不可变性

发表于 2018-11-04 | 分类于 Note

一个关于 += 的谜题

Leonardo Rochael 在 2013 年的 Python 巴西会议上提到了这个谜题:

1
2
>>> t = (1, 2, [30, 40])
>>> t[2] += [50, 60]

以上两个表达式到底会发生下面 4 种情况下的哪一种?

  1. t 变成 (1, 2, [30, 40, 50, 60])。
  2. 因为 tuple 不支持对它的元素赋值,所以会抛出 TypeError 异常。
  3. 以上两个都不是。
  4. 1 和 2 都是对的。
    阅读全文 »

Python 中的 Iterator

发表于 2018-09-24 | 分类于 Carrying

Iterators

迭代器(iterator)是 Python 的一个语言特性,它是编写函数式风格程序的重要基础。

迭代器是表示数据流的对象;这个对象一次返回一个元素的数据。Python 迭代器必须提供 __next__() 方法,该方法不带参数并且总是返回数据流中的下一个元素。如果数据流中没有更多元素了,__next__() 必须抛出 StopIteration 异常。迭代器不必是有限的,编写一个产生无限数据流的迭代器是完全合理的。

内置函数 iter() 接受一个任意对象并尝试返回一个会返回该对象的内容或者元素的迭代器,如果该对象是不可迭代的则抛出 TypeError 异常。Python 有数个内建数据类型支持迭代,最常见的是列表和字典。如果你可以从一个对象获得迭代器,那么我们称这个对象是可迭代的。

阅读全文 »

函数式编程

发表于 2018-09-16 | 分类于 Carrying

Introduction

编程语言支持用几个不同的方式分解问题:

  • 大部分编程语言是程式的(procedural):程序是告诉计算机如何处理程序输入的指令列表。C,Pascal,甚至 Unix Shells 都是程式语言。
  • 在声明性(declarative)语言中,你编写一个要解决的问题的规范,语言实现指出如何高效地完成计算。SQL 可能是你最熟悉的声明性语言。SQL 查询语句描述了你要查询的数据集,SQL 引擎决定是扫描表还是使用索引,哪些子句应该先执行,等等。
    阅读全文 »

Getting Started With Structlog

发表于 2018-09-02 | 分类于 Note

Why

  • 更简单的日志:不再是散乱的记录而是以发生在上下文中的事件为依据。
  • 数据绑定:在 structlog 中 log 记录其实是字典,所以可以绑定和重绑定键值对到你的 loggers 中。
  • 强大的管道功能:提供简单而且强大的数据处理能力。
  • 格式化:本地开发时的键值对形式高亮显示;容易解析的 JSON 格式;或者其他的一些格式。
  • 输出:内置高亮打印;与标准库灵活结合;无需格式化为 string。
阅读全文 »

Why Numbering Should Start At Zero

发表于 2018-08-26 | 分类于 Carrying

前言

在我们平时接触使用的大多数编程语言中,编号都是从 0 开始的。接受了这是一个惯例后,很少有人会去想为什么是从 0 开始?如果这是惯例,为什么不是其他的惯例呢?Edsger W. Dijkstra 教授的这个小备忘录也许可以解开我们的疑惑。

原文链接:http://www.cs.utexas.edu/users/EWD/transcriptions/EWD08xx/EWD831.html

译文

为了不使用有害的三点(…)表示一个自然数的子序列 2, 3, …, 12,我们有四个惯例:

a) 2 ≤ i < 13

b) 1 < i ≤ 12

c) 2 ≤ i ≤ 12

d) 1 ≤ i ≤ 13

是否有理由让我们更喜欢其中的一个惯例呢?Yes。

阅读全文 »

Interesting Python

发表于 2018-08-19 | 分类于 Note

前言

之前曾经因为课程原因学了一段时间 Python,上个月开始实习,重拾这门语言。这次不再是看一些入门教程浅尝则止,有了些新的体会。以下仅记录下这一个月的学习中遇到的一些有趣的点及小小的感悟。

一致性

当我们带着其他面向对象语言的经验进入 Python 的世界,或许会注意到 len(collection) 而不是 collection.len() 的写法。《流畅的 Python》中提到,“当你进一步理解这种不适感背后的原因之后,会发现这个原因,和它所代表的庞大的设计思想,是形成我们通常说的 “Python 风格”(Pythonic) 的关键。

阅读全文 »

我不是药神

发表于 2018-07-07 | 分类于 Sharing

简介

《我不是药神》是由文牧野执导,宁浩、徐峥共同监制的剧情片,徐峥、周一围、王传君、谭卓、章宇、杨新鸣等主演 。

影片讲述了神油店老板程勇从一个交不起房租的男性保健品商贩,一跃成为印度仿制药“格列宁”独家代理商的故事。收获巨额利润的他,生活剧烈变化,被病患们冠以“药神”的称号。但是,一场关于救赎的拉锯战也在波涛暗涌中慢慢展开……

阅读全文 »

使用 ECharts3.0 在 Hexo 搭建的博客中建一个足迹👣页面

发表于 2018-04-06 | 分类于 Creation

前言

最近在一个项目中负责数据展示模块的开发,ECharts 作为百度的一个良心项目可以说在大数据展示方面做的很不错了。这段时间在 ECharts 上也花了不少时间。

恰逢清明假期,作为一个出省求学的学生,回家是不可能回家的。但是写作业也是不可能写作业的,这辈子的假期都不可能写作业的。于是“突发奇想”,何不用 ECharts 做一个记录自己足迹的页面呢?

阅读全文 »

记 Hexo 部署网站到 GitHub 时遇到的大小写不敏感问题

发表于 2018-04-03 | 分类于 Note

前言

二月份的时候把博客重新整理了一番,其中也包括了对一些标签的更改如首字母改为大写,之后也没有太在意。直到最近更新的时候查看标签页发现某些标签无法访问,显示了 404 页面。查看了 GitHub 库中的文件后发现无法正常显示的标签页在 tags 文件夹中的文件夹名首字母依旧是小写的,基本确定标签页无法正常显示的原因是大小写不对。

阅读全文 »
123
Docle

Docle

27 日志
5 分类
22 标签
GitHub Twitter
Links
  • 火山灿灿
  • AnthonyAn
  • DIYgod
  • Myths
© 2019 Docle
由 Hexo 强力驱动
|
主题 — NexT.Pisces v5.1.4