SVM for web application - machine-learning

I'm working on a project where I train a text classifier and I need to create a web app to let the user enter text for classification. Currently all the code is written in Python and I'm using scikit-learn library. I've encountered a problem installing the scikit-learn on heroku, in order for my Python code to run on the server. I don't mind changing everything (Python language, Flask web framework, scikit learning library, heroku web-app hosting services), I just need to get this thing to work :)
Do any one of you in CV community had any experience in making a web-app that uses a learning library online? The web app hosting should be a free one though, as this project is not commercial, and also it would be very nice to have Python behind the scenes.
N.B. The classifiers that should be supported by the library are multiclass svm and naive bayes.

How about trying google app engine? It has python (2.5 and 2.7) and can be free.

Related

I would like to deploy an API using pytorch. Is there any good deployment location?

I made an API using pytorch, fastAPI and opencv, but when I deploy it to heroku, it's too big to deploy. So, I'm thinking of deploying on another site. Is there any good site? Hopefully you can use it for free without having to think about the size of pytorch, fastAPI and opencv.

Is there a way to get the functionality of ML Kit in the web browser?

I'm developing a cross-platform app (iOS/Android/web) and am loving the fast, cheap on-device image labeling feature of ML Kit on mobile. Is there a way to replicate the behavior on the web? Are the ML Kit models available for re-use with a different ML library so it can be repurposed?
Unfortunately, it does not seem like ML Kit allows you to export models created using it, only import models. However, tensorflow.js lets you run TensorFlow models on the web. If you are looking for an easy way to create models there are several web-based programs which allow you to easily create ML models and export as TensorFlow Lite (which can be run in tensorflow.js or even hosted on Firebase). A couple I have heard of are: lobe.ai and ml5.js. Hope this helps.

Is there a way to use external, compiled packages for data processing in Google's AI Platform?

I would like to set up a prediction task, but the data preprocessing step requires using tools outside of Python's data science ecosystem, though Python has APIs to work with those tools (e.g. a compiled java NLP tool set). I first thought about creating a Docker container to have an environment with those tools available, but a commentator has said that that is not currently supported. Is there perhaps some other way to make such tools available to the Python prediction class needed for AI Platform? I don't really have a clear sense of what's happening on the backend with AI platform, and how much ability a user has to modify or set that up.
Not possible today. Is there any specific use case you are targeting not satisfied today?
Cloud AI platform offers multiple prediction frameworks (TensorFlow, scikit-learn, XGboost, Pytorch, Custom predictions) in multiple versions.
After looking into the requirements you can use the new AI Platform feature custom prediction, https://cloud.google.com/ml-engine/docs/tensorflow/custom-prediction-routine-keras
To deploy a custom prediction routine to serve predictions from your trained model, do the following:
Create a custom predictor to handle requests
Package your predictor and your preprocessing module. Here you can install your custom libraries.
Upload your model artifacts and your custom code to Cloud Storage
Deploy your custom prediction routine to AI Platform

Spiking Neural Network Classifier Implementation

Are there any machine learning packages that implement spiking neural networks? or any other stand-alone implementations of them that could get me started to work with?
A python library named Brian ought to be useful for you.
There's also what I believe is a programing language named NEURON, but Brian is fairly easy to learn, at least for the basics. It took me a while though to figure out how to do a couple small things, since its a really high level language or whatnot.
There are several other SNN platforms these days that allows you to run classification. I have worked with NeuCube (https://kedri.aut.ac.nz/R-and-D-Systems/neucube) which is a Matlab & Java-based SNN platform.
Also, check out Akida Development Environment (ADE) from Brainchip Inc (https://brainchipinc.com/). One of the best features of ADE is that it's APIs are based on tensorflow/keras structure and also supports CNN2SNN converter to use your deep learning models in SNN domain. SNN models developed using this platform can be deployed on their neuromorphic processor Akida.
I believe there are other platforms such as PyNN and Nengo (compatibility to run models on Loihi) within the SNN domain.
Here are links for brain simulator
https://github.com/brian-team/brian2
https://www.ncbi.nlm.nih.gov/pmc/articles/PMC2605403/
http://briansimulator.org/
You can install the Nengo Loihi library for deployment not only of spiking neural networks but also neuromorphic neural networks.
here's the link to their website: https://www.nengo.ai/nengo-loihi/v1.0.0/index.html
You can find on Kaggle an implementation of the ciphar10 dataset, locally loaded, using Nengo Loihi library. Here's the link:
https://www.kaggle.com/migueltoms/neuromorphic-ciphar-10-loihi-comparison-of-results

Web/browser-oriented open source machine learning projects?

Applying machine learning techniques, more specifically text mining techniques, in browser environment (mainly Javascript) or as a web application is not a very widely discussed topic.
I want to build my own web application / browser extension that can accomplish certain level of text classification / visualization techniques. I would like to know, if there is any open source projects that apply text mining techniques in web application or even better as browser extensions?
So far, these are the projects/discussions I gathered with days of random searching:
For text mining in web application:
http://text-processing.com/ with demo (Close source, with limited api)
uClassify (close source, no info about library base)
For machine learning in Javascript:
Discussion on the possibility about Machine learning in
JavaScript. (mainly about saying Node.js is going to change the landscape)
brain - javascript supervised machine learning
A demo project with Naive Bayes implemented in Javascript
For web application text mining, the architect that I can think of:
Python libraries (e.g. NLTK or scikit-learn) + Django
Java libraries (a lot) + Play! framework
Even R based + rApache
Some popular machine learning libraries:
Python - PyBrain
Apache - Mahout
I'll give you my favourities:
Brain.js
ConvNetJS
It has been 7 years since this question was asked, but there is a chance that machine learning will get native browsers support: https://webmachinelearning.github.io/
(just make sure you like posts in github issues about adding training capabilities, otherwise you might end up only with some 3rd party models support :-) )

Resources