惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

D
DataBreaches.Net
N
Netflix TechBlog - Medium
F
Fortinet All Blogs
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
宝玉的分享
宝玉的分享
Y
Y Combinator Blog
博客园 - 聂微东
WordPress大学
WordPress大学
酷 壳 – CoolShell
酷 壳 – CoolShell
B
Blog RSS Feed
小众软件
小众软件
The GitHub Blog
The GitHub Blog
S
SegmentFault 最新的问题
Hugging Face - Blog
Hugging Face - Blog
Jina AI
Jina AI
Microsoft Azure Blog
Microsoft Azure Blog
V
V2EX
B
Blog
H
Help Net Security
D
Docker
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
罗磊的独立博客
月光博客
月光博客
博客园 - 司徒正美

夜行人

回家路上 第一期的直播演示项目 震动检测器 正能量 在线参观CodeLab Neverland 发布 CodeLab Adapter 3.3.1 DynamicTable 之 纸糊方向盘 CodeLab DynamicTable: 一个可实施的技术方案 CodeLab Insight 发布 Alpha 版 情人节 Home Assistant 周报 && IoT 周报 (02) Joplin: 关注隐私的 Evernote 开源替代软件 浏览器的未来与 Web 传感器 Home Assistant 周报 && IoT 周报 (01) 百宝箱(01) 论自由 介绍 WebThings Home Assistant 周报 && iot 周报 (00) 百宝箱(00) 毛姆读书心得 传世之作 周末徒步 CodeLab Adapter ❤️ Jupyter/Python 航班 躲雨 夏令营途中 [译]思想--作为一种技术 The future of coding 美国之行 三门问题的程序模拟
开源人工智能相关的Scratch插件
种瓜 · 2019-05-08 · via 夜行人

文章目录

前言

早上@bilikyar提到:

codelab scratch 里面的 knn图像分类插件,貌似运行一段时间就会崩(也挺吃内存的),这是为什么呢?

@bilikyar给了两张截图:

我答复说:

确实挺吃内存,用的是js实现的tensorflow,性能比较低. 但我没有遇到浏览器崩溃的情况。我下午把这一部分开源出来好了,大家可以一起来改进。

图像分类插件

图像分类插件是这样的一种插件: 使用这个插件,用户可以训练自己图像分类模型,之后利用训练出的模型,去预测摄像头看到的物体。利用这个插件,可以制作许多有趣的项目。

诸如我们之前制作的的闭眼,请熄灯:

由于使用了神经网络(MobileNet,Google提出的一种小型却高效的CNN模型,在accuracy和latency之间做了折中),这类的项目一般会被冠以人工智能的称号。

废话少说,放码过来

我直接把代码放上来: scratch3_knn

简单介绍

技术层面, 底层使用的是TensorFlow.js

TensorFlow.js is an open-source hardware-accelerated JavaScript library for training and deploying machine learning models.

由此可知scratch3_knn的所有运算都发生在本地浏览器里,并没有利用云端,代码是隐私安全的。也正由于计算都发生在本地,所以很吃性能。

scratch3_knn本质上是对tensorflow/tfjs-models做了积木化的包装。

值得一提的是tfjs-models中有许多有趣的项目,大家可以自行挖掘。

ml5js

Friendly Machine Learning for the Web. – ml5js.org

阅读这篇文章的朋友可能对适合教育的机器学习项目感兴趣。我把此前接触的另一个有趣的项目也列出来: ml5js

我们在使用TensorFlow.js之前,在图像分类这块使用的是ml5js

刚才在整理资料时,发现小喵科技在这块做的探索和CodeLab挺相似的。他们似乎也经历了从ml5js到tfjs的过程。

此外,值得一提的是,小喵科技是家很优秀的公司,我记得买过他家的硬件,他们拥抱开源,很多项目都放在了Github上。除了产品做得用心,教程也写的挺用心的: 小喵科技 机器学习5(轻量TensorFlow)教程

很踏实的一家公司,给小喵科技点赞👍

测试

如果希望在本地测试scratch3_knn,环境的搭建可以参考我们此前的文章: 创建你的第一个Scratch3.0 Extension

欢迎提issue

@bilikyar提到的,有可能会因为性能问题导致代码崩溃,欢迎大家提issue。

此外积木在语义上还比较粗糙,在积木语义方面有更好的建议也欢迎提issue和PR。

发散思维

有很多AI相关的js插件,其实都可以积木化到Scratch中,face-api.js是我非常喜欢的一个js库,积木化它似乎并不难。

参考