Github 项目推荐 | 用 JavaScript 实现的神经网络 —— brain.js

Brain.js 是用 JavaScript 写成的神经网络。

Github 链接:

https://github.com/BrainJS/brain.js

示例

这是一个用 Brain.js 实现的异或案例:

//create a simple feed forward neural network with backpropagation
var net = new brain.NeuralNetwork();

net.train([{input: [0, 0], output: [0]},
           {input: [0, 1], output: [1]},
           {input: [1, 0], output: [1]},
           {input: [1, 1], output: [0]}]);

var output = net.run([1, 0]);  // [0.987]

或者

//create a simple recurrent neural network
var net = new brain.recurrent.RNN();

net.train([{input: [0, 0], output: [0]},
           {input: [0, 1], output: [1]},
           {input: [1, 0], output: [1]},
           {input: [1, 1], output: [0]}]);

var output = net.run([0, 0]);  // [0]
output = net.run([0, 1]);  // [1]
output = net.run([1, 0]);  // [1]
output = net.run([1, 1]);  // [0]

不过,一般的开发者应该都不会用神经网络来实现异或的功能吧,所以这里有一个更加实际的例子:训练一个神经网络来识别颜色对比 https://brain.js.org/

更多示例

开发者可以看看这个链接,它解释了如何使用真实世界的数据集来训练一个简单的神经网络:如何使用Brain.js在浏览器中创建一个神经网络。https://scrimba.com/c/c36zkcb

  • 用循环神经网络编写儿童书籍 https://github.com/BrainJS/brain.js/blob/develop/examples/childrens-book.js
  • 简单的字母检测 https://github.com/BrainJS/brain.js/blob/develop/examples/which-letter-simple.js

用法

Node

如果你安装了 Node,你可以用 npm 来安装 brain.js:

npm install brain.js

或者用 yarn:

yarn add brain.js

另外,可以用 bower 来安装 brain.js:

bower install brain.js

浏览器

在浏览器上下载最新的 brain.js(https://raw.githubusercontent.com/harthur-org/brain.js/master/browser.js)。训练模型在计算力上要花很大的价钱,所以最好选择采用离线的方式来训练(或者在 Worker 上),并使用 toFunction() 或 toJSON()选项将预先训练好的网络插入你的网站。

原文发布于微信公众号 - AI研习社(okweiwu)

原文发表时间:2018-03-25

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏新智元

【代码+教程】重现“世界模型”实验,无监督方式快速训练

1252
来自专栏AI研习社

运用 MXNet Scala API 接口进行图像分类(附代码)

随着 MXNet 1.2.0 版本的发布,新的 MXNet Scala API 接口也发布了。这次发布的 Scala,里面的推理应用程序致力于优化开发者体验。S...

991
来自专栏机器之心

教程 | 如何在浏览器使用synaptic.js训练简单的神经网络推荐系统

3844
来自专栏大数据智能实战

DrQA实践

2017年七月份Facebook开源了其开放域问答系统DrQA的代码。关于DrQA,还有一篇2017年发表在ACL上的论文《Reading Wikipedi...

3175
来自专栏机器之心

资源 | 基于TensorFlow和Sonnet,DeepMind开源可微神经计算机实现包

选自Github 机器之心编译 参与:蒋思源 去年 DeepMind 在自然期刊上曾介绍过一种记忆增强式的神经网络形式-可微神经计算机。而近日,DeepMin...

2923
来自专栏新智元

【干货】神经增强:用 Python 实现深度学习超分辨率处理

【新智元导读】神经网络基于样本图像的训练为模糊图像补充细节,从而把模糊图像变高清。它不能把你的照片重建成一模一样的高清版。这只有好莱坞大片才有可能做到——但使用...

6565
来自专栏杨熹的专栏

如何应用 BERT :Bidirectional Encoder Representations from Transformers

上一篇文章介绍了 Google 最新的BERT (Bidirectional Encoder Representations from Transformers...

2182
来自专栏PPV课数据科学社区

TensorFlow必知基础知识​

TensorFlow概要 Google第一代分布式机器学习框架DistBelief1,在内部大规模使用后并没有选择开源。而后第二代分布式机器学习系统Tenso...

4346
来自专栏SIGAI学习与实践平台

【免费线上实践】动手训练模型系列:条件GAN

从无序的输出到按照类别输出,Conditional Generative Neural Networks到底借助了什么样的魔(xin)法(xi)?点击下方小程序...

1325
来自专栏AI科技大本营的专栏

重磅消息 | 深度学习框架竞争激烈 TensorFlow也支持动态计算图

今晨 Google 官方发布消息,称 TensorFlow 支持动态计算图。 原文如下: 在大部分的机器学习中,用来训练和分析的数据需要经过一个预处理过程,输入...

2735

扫码关注云+社区

领取腾讯云代金券