2018年6月4日:開源日報第88期
來自專欄開源日報
每天推薦一個 GitHub 優質開源項目和一篇精選英文科技或編程文章原文,歡迎關注開源日報。交流QQ群:202790710;微博:https://weibo.com/openingsource;電報群 https://t.me/OpeningSourceOrg
今日推薦開源項目:《方便自定的日程表 tui.calendar》GitHub鏈接
推薦理由:這是一款基於 JavaScript 的可以方便快速自定義的日程表。這個日程表可以允許你從調整每一天到概覽一個月之間轉換,當你排了太多日程的時候肯定該試試這個。它最大的特點就是允許你使用滑鼠去直接拖動日程,這讓調整日程變得極其方便簡潔,當然你也可以選擇手動更改日程,調整日程的事件類型,地點等等,在更為細緻的一周模式和一日模式下你甚至還能寫入今天的計劃和任務。
按照慣例,tui 系列提供了試用網址:https://nhnent.github.io/tui.calendar/latest/tutorial-example01-basic.html
今日推薦英文原文:《11 Javascript Machine Learning Libraries To Use In Your App》作者:Jonathan Saring
原文鏈接:https://blog.bitsrc.io/11-javascript-machine-learning-libraries-to-use-in-your-app-c49772cca46c
推薦理由:繼上次提及的五個關於機器學習模型的 JavaScript 框架後,這次要帶來的是 JavaScript 中關於機器學習的庫,在機器學習這方面上,JavaScript 一樣可以是一種選擇(brain.js 雙雙上榜,其實用性可見一斑)
11 Javascript Machine Learning Libraries To Use In Your App
「 Wait, what?? That』s a horrible idea! 「
Were the exact words of our leading NLP researcher when I first talked to her about this concept. Maybe she』s right, but it』s also definitely a very interesting concept which is getting more attention in the Javascript community lately.
During the past year our team is building Bit which makes it simpler to build software using components. As part of our work, we develop ML and NLP algorithms to better understand how code is written, organized and used.
While naturally most of this work is done in languages like python, Bit lives in the Javascript ecosystem with its great front and back ends communities.
Bit?—?Share and build with code components
Bit makes it fun and simple to build software with smaller components, share them with your team and sync them in your…http://bitsrc.ioThis interesting intersection led us to explore and experiment with the odd possibilities of using Javascript and Machine Learning together. Sharing from our research, here are some neat libraries which bring Javascript, Machine Learning, DNN and even NLP together. Take a look.
1. Brain.js
Brain.js is a Javascript library for Neural Networks replacing the (now deprecated) 「brain」 library, which can be used with Node.js or in the browser (note computation ) and provides different types of networks for different tasks. Here is a demo of training the network to recognize color contrast.
BrainJS/brain.js
brain.js?—??? Neural networks in JavaScriptgithub.comTraining Brain.js color contrast recognition
2. Synaptic
Synaptic is a Javascript neural network library for node.js and the browser which enables you to train first and even second order neural network architectures. The project includes a few built-in architectures like multilayer perceptrons, multilayer long-short term memory networks, liquid state machines and a trainer capable of training a verity of networks.
cazala/synaptic
synaptic - architecture-free neural network library for node.js and the http://browsergithub.comTraining Synaptic image-filter perceptron
3. Neataptic
This library provides fast neuro-evolution & backpropagation for the browser and Node.js, with a few built-in networks including perceptron, LSTM, GRU, Nark and more. Here is a rookie tutorial for simple training.
wagenaartje/neataptic
neataptic?—?:rocket: Blazing fast neuro-evolution & backpropagation for the browser and http://Node.jsgithub.comNeataptic target-seeking AI demo4. Conventjs
Developed by Stanford U PhD this popular library hasn』t been maintained for the past 4 years, but is definitely one of the most interesting projects on the list. It』s a Javascript implementation of neural networks supporting common modules, classification, regression, an experimental Reinforcement Learning module and is even able to train convolutional networks that process images.
karpathy/convnetjs
convnetjs?—?Deep Learning in Javascript. Train Convolutional Neural Networks (or ordinary ones) in your http://browser.github.com5. Webdnn
This Japanese-made library is built to run deep neural network pre-trained model on the browser, and fast. Since executing a DNN on a browser consumes a lot of computational resources, this framework optimizes the DNN model to compress the model data and accelerate execution through JavaScript APIs such as WebAssembly and WebGPU.
mil-tokyo/webdnn
webdnn?—?The Fastest DNN Running Framework on Web http://Browsergithub.comNeural style transfer example6. Deeplearnjs
This popular library allows you to train neural networks in a browser or run pre-trained models in inference mode, and even claims it can be used as NumPy for the web. With an easy-to-pick-up API this library can be used for a verity for useful applications, and is actively maintained.
PAIR-code/deeplearnjs
deeplearnjs?—?Hardware-accelerated deep learning // machine learning // NumPy library for the http://web.github.com
7. Tensorflow Deep Playground
Deep playground is an interactive visualization of neural networks, written in TypeScript using d3.js. Although this project basically contains a very basic playground for tensorflow, it can be repurposed for different means or used as a very impressive educational feature for different purposes.
tensorflow/playground
playground?—?Play with neural networks!github.com8. Compromise
This very popular library provides 「modest natural-language processing in javascript」. It』s pretty basic and straight forward, and even compiles down to a single small file. For some reason, its modest 「good enough」 approach makes it a prime candidate for usage in almost any app in need of basic NLP.
spencermountain/compromise
compromise?—?modest natural-language processing in http://javascriptgithub.com9. Neuro.js
This beautiful project is a deep learning and reinforcement learning Javascript library framework for the browser. Implementing a full stack neural-network based machine learning framework with extended reinforcement-learning support, some consider this project to be the successor of convnetjs.
janhuenermann/neurojs
neurojs - A javascript deep learning and reinforcement learning http://library.github.com10. mljs
A group of repositories providing Machine Learning tools for Javascript developed by the mljs organization which include supervised and unsupervised learning, artificial neural networks, regression algorithms and supporting libraries for statistics, math etc. Here』s a short walkthrough.
ml.js
GitHub is where people build software. More than 27 million people use GitHub to discover, fork, and contribute to over…http://github.com11. Mind
A flexible neural network library for Node.js and the browser, which basically learns to make predictions, using a matrix implementation to process training data and enabling configurable network topology. You can also plug-and-play 「minds」 which already learned, which can be useful for your apps.
stevenmiller888/mind
mind?—?A neural network library built in http://JavaScriptgithub.comHonorable mentions:
Natural
An actively maintained library for Node.js which provides tokenizing, stemming (reducing a word to a not-necessarily morphological root), classification, phonetics, tf-idf, WordNet, string similarity, and more.
NaturalNode/natural
general natural language facilities for nodegithub.comIncubator-mxnet
Apache MXNet is a deep learning framework that allows you to mix symbolic and imperative programming on the fly with a graph optimization layer for performance. MXnet.js brings a deep learning inference API to the browser.
apache/incubator-mxnet
incubator-mxnet - Lightweight, Portable, Flexible Distributed/Mobile Deep Learning with Dynamic, Mutation-aware…http://github.comKeras JS
This library runs Keras models in the browser, with GPU support using WebGL. since Keras uses a number of frameworks as backends, the models can be trained in TensorFlow, CNTK, and other frameworks as well.
transcranial/keras-js
keras-js - Run Keras models in the browser, with GPU support using http://WebGLgithub.comDeepforge
A development environment for deep learning that enables you to quickly design neural network architectures and machine learning pipelines with built-in version control for experiment reproduction. Worth checking out.
deepforge-dev/deepforge
deepforge - A modern development environment for deep http://learninggithub.com
Land Lines
Not even as much of a library as a very cool demo / web game based on a chrome experiment by Google. Although I』m not sure what to do with it, it』s guaranteed to become the most enjoyable 15 minutes of your day.
Land Lines
Land Lines is an experiment that lets you explore real Google Earth satellite imagery through http://gesture.lines.chromeexperiments.comWhat』s next?
Obviously, Javascript isn』t becoming the language of choice for Machine Learning , far from it. However, common issues such as performance, Matrix manipulations and abundance of useful libraries are slowly being bridged, closing the gap between common applications and useful Machine Learning.
每天推薦一個 GitHub 優質開源項目和一篇精選英文科技或編程文章原文,歡迎關注開源日報。交流QQ群:202790710;微博:https://weibo.com/openingsource;電報群 https://t.me/OpeningSourceOrg
推薦閱讀:
※清華大學劉知遠:在 NLP 領域「做事」兼「發聲」
※開源軟體與中國式開源的演進
※從零學習開源項目系列(二) 最後一戰概況
※「開源」創造者為你論述這一術語的前世今生
※這半個月,我用Python爬蟲做了一個開源搜索引擎
TAG:開源 |