

Discover more from NatML News
Happy hump day! Before jumping in, I’d like to give an administrative update: this newsletter will now be going out every two weeks, instead of every week. Two weeks is a better cadence, especially because a lot of the updates in flight tend not to be completed in under one week. With that out of the way, let’s jump right in:
Using ML in the Cloud
NatML officially supports making ML predictions in the cloud, on NatML Hub servers instead of on-device. With this update, developers can now use all types of machine learning models, without having to care whether the model actually runs on their device (a.k.a Edge predictions) or in the cloud (a.k.a Hub predictions).
This is perhaps the most exciting addition to NatML yet, because it means that developers can now use some of the heaviest state-of-the-art machine learning models, no longer restricted by memory, performance, or anything else.
The next update of NatML for Unity Engine should be live on Monday. It brings support for Hub predictors, among other additions. Using these Hub predictors will look almost exactly like using Edge predictors (the kind you’ve been using up till now):
// Creating an Edge predictor... | |
var edgePredictor = new UNetPredictor(model); | |
// vs. creating a Hub predictor... | |
var hubPredictor = new UNetHubPredictor(model); | |
// And using an Edge predictor... | |
var edgeResults = edgePredictor.Predict(...); | |
// vs. using a Hub predictor | |
var hubResults = await hubPredictor.Predict(...); |
We’ll be looking at bringing popular, state-of-the-art models to NatML Hub as Hub predictors, likely starting with GAN models. If you’d like to see a model on NatML Hub, please let us know on Discord!
Bringing NatML to Web Developers
NatML is coming to JavaScript! We’re still writing docs and adding final touches, but you can now use NatML in your NodeJS projects:
# Install NatML for JavaScript | |
$ npm install natml |
Once we built the infrastructure for Hub predictors, we realized how easy it was to port over NatML to different development frameworks. We’ve decided to start with web development, because it is arguably the largest and most vibrant open-source community; and because there has been barely any effort to bring easy-to-use machine learning to this ecosystem. We designed the API to be an exact clone of the Unity API, made to follow JavaScript’s naming conventions.
import { MLModelData, MLImageFeature } from "natml" | |
import { ResNet18HubPredictor } from "../src" | |
async function main () { | |
// Fetch the model from NatML Hub | |
const modelData = await MLModelData.fromHub("@natsuite/resnet18", process.env.ACCESS_KEY); | |
const model = modelData.deserialize(); | |
// Create the predictor | |
const predictor = new ResNet18HubPredictor(model); | |
// Predict | |
const feature = new MLImageFeature("cat.jpg"); | |
const [label, score] = await predictor.predict(feature); | |
console.log(`Image contains ${label} with confidence ${score}`); | |
} | |
main(); |
One really exciting consequence of this launch is that we’ll soon be rubbing shoulders with web developers on Discord. So if you’re a Unity dev, prepare to learn a thing or two about web development and JavaScript :D
General Updates
NatML finally has a website. It’s still very much under construction, but should be all done by early next week. If your company uses NatML, NatCorder, NatDevice and you’d like your logo featured on our homepage as a current user, please reach out!
The project was started in preparation for an interview with YCombinator, one of the most prominent early-stage startup investors. It was an incredibly insightful experience having NatML, NatCorder, NatDevice, and the other API’s dissected in many (many) ways by seasoned investors. Unfortunately, they ultimately decided to pass on investing at this time. But their feedback has us very (very) energized for the near future.
Till next time, happy coding!