Senior Software Engineer – twohat – Toronto, ON
From twohat – Tue, 02 Jul 2019 23:34:17 GMT – View all Toronto, ON jobs
Today, our cross-company team released https://github.com/kubeflow/kfserving!
KFServing provides a Kubernetes Custom Resource Definition for serving ML Models on arbitrary frameworks. It aims to solve 80% of model serving use cases by providing performant, high abstraction interfaces for common ML frameworks like Tensorflow, XGBoost, ScikitLearn, PyTorch, and ONNX.
KFServing encapsulates the complexity of autoscaling, networking, health checking, and server configuration to bring cutting edge serving features like GPU Autoscaling, Scale to Zero, and Canary Rollouts to your ML deployments. It enables a simple, pluggable, and complete story for Mission Critical ML including inference, explainability, outlier detection, and prediction logging.
submitted by /u/yoshi_corporation
[link] [comments]
So I recently upgraded my PC GPU and I’m left with a spare GTX 1060 3GB kicking about. I’ve been working for the last year on DNNs for my research projects and have also been using arduino and Raspberry Pi.
So here is my question, can anyone think of any way to use my spare GPU on those platforms for any cool projects?
submitted by /u/RelateableFrog
[link] [comments]
Training and inference are crucial components of a machine learning (ML) development cycle. During the training phase, you teach a model to address a specific problem. Through this process, you obtain binary model files ready for use in production.
For inference, you can choose among several framework-specific solutions for model deployment, such as TensorFlow Serving or Model Server for Apache MXNet (MMS). PyTorch offers various ways to perform model serving in PyTorch. In this blog post, we demonstrate how to use MMS to serve PyTorch models.
MMS is an open-source model serving framework, designed to serve deep learning models for inference at scale. MMS fully manages the lifecycle of any ML model in production. Along with control-plane REST-based APIs, MMS also provides critical features required for a production-hosted service, such as logging and metrics generation.
In the following sections, we will see how to deploy a PyTorch model in production using MMS.
MMS was designed to be ML framework–agnostic. In other words, MMS offers enough flexibility to serve as a backend engine for any framework. This post presents a robust, production-level inference using MMS with PyTorch.
As shown in the following diagram, MMS consumes the model in form of a model archive:

The model archive can be placed in an Amazon S3 bucket or put on the localhost where MMS is running. The model archive contains all the logic and artifacts to run the inference.
MMS also requires the prior installation of the ML framework and any other needed system libraries on the host. Because MMS is ML framework–agnostic, it doesn’t come with any ML/DL framework or system library. MMS is completely configurable. For a list of configurations available, see Advanced configuration.
Look back at the model archive in detail. The model archive is composed of the following:
These files are bundled into a model archive using a tool that comes with the MMS, called model-archiver. In the following sections, we show how to create this model archive and run it with the model server.
In this section, look at how to write your custom service code. In this example, we trained the densenet161 model using the PyTorch Image Classifier. This resource includes images of 102 flower species.
Before proceeding, you should have the following resources:
MMS provides a useful inference template, which you can follow and extend with minimal coding. We extend the template methods for initialization, preprocess, and inference. This extension includes model initialization, input data conversion to tensor, and forward path to model, respectively. For more information, see the example model templates in the MMS repository. The following is example code for initialization, preprocess, and inference:
In the pre-process function, you must transform the image:
Then, in the inference function, take a tensor and do a forward pass to the model. You also get the top five possibilities of flower species.
For more about the custom service code, see densenet_service.py in the PyTorch densenet example in the MMS GitHub repository.
Now that you have your inference code and trained model, you can package them into a model archive using the MMS model-archiver. Find all the code pieces and artifacts collected in /tmp/model-store.
We created a model archive of this model and made it publicly available in an S3 bucket. You can download and use that file for inference.
Now that you have packaged the trained model along with the inference code into a model archive, you can use this artifact with MMS to serve inference. We have already created this artifact and have it on an S3 bucket. We will use this in our example below:
This binary creates an endpoint called densenet, hosting the densenet161_pytorch.mar model. The server is now ready to serve requests.
Now, download a flower image and send it to MMS to get an inference result that identifies the flower species:

Then run the inference:
In this post, we showed how you can host a model trained with PyTorch on the MMS inference server. To host an inference server on GPU hosts, you can configure MMS to schedule models onto GPU. To learn more, head over to awslabs/mxnet-model-server.
Gautam Kumar is a Software Engineer with AWS AI Deep Learning. He has developed AWS Deep Learning Containers and AWS Deep Learning AMI. He is passionate about building tools and systems for AI. In his spare time, he enjoy biking and reading books.
Vamshidhar Dantu is a Software Developer with AWS Deep Learning. He focuses on building scalable and easily deployable deep learning systems. In his spare time, he enjoy spending time with family and playing badminton.
Hi Everyone, I need some help i am trying to implement Sent time optimization for messages but I don’t know which ML algorithm or approach will be the most suitable for this task ? Any clue ? Thanks all lot for any given answer.
👍🙏
submitted by /u/smicole
[link] [comments]
I’m an independent researcher who finished a project a few months ago called “Real-Time Freespace Segmentation on Autonomous Robots for Detection of Obstacles and Drop-Offs.” My arXiv paper is here: https://arxiv.org/abs/1902.00842 (the paper is complete but I have new / better testing results since then, due to fixing a bug and testing on new datasets). I’m looking to submit this to a conference like ISVC 2019 or another conference where proceedings are published (ideally in the US to reduce amount of travel). I was hoping to see if the community had any feedback for me on the paper as I prepare it to submit to ISVC (or suggestions on a better venue to publish).
submitted by /u/anish314
[link] [comments]
| |
https://www.youtube.com/watch?v=XDWua850n54 Traversal through custom styleGAN model trained on mix of real and drawn faces. This model was made by Joel Simon and will be part of his new artbreeder website: submitted by /u/shoeblade |
As someone who studied Tensors in physics long before TensorFlow was a thing, I cringe every time I hear these arrays called “tensors”.
Does anyone know why this sin against mathematics is overlooked to such a large degree in the ML community?
TENSORS ARE NOT ARRAYS FFS!!!
submitted by /u/ME_PhD
[link] [comments]
With 10 verb tenses, eight noun cases, three grammatical genders and a strong predilection for compound words, Sanskrit is not an easy language to teach a human — let alone an AI model.
But Indologist Oliver Hellwig is undertaking the challenge, training deep learning models that can analyze Sanskrit texts up to 4,000 years old. A digital repository of Sanskrit works parsed word by word would enable researchers to more easily search for information and better identify passages with parallel context.
AI is being used to interpret historical texts in German and Italian, as well as classical Japanese literature. But most existing NLP models are geared towards Western languages that follow similar rules of grammar, punctuation and formatting.
That presents a challenge for researchers developing software to transcribe and analyze scripts that are read right to left, are pictographical instead of phonetic, or — like Sanskrit — often don’t use character breaks between words.
Unlike English, Sanskrit is a highly inflected language, which means words change their form depending on their function in a sentence. Some Sanskrit verbs have more than 200 forms depending on the context. The language also has an extensive vocabulary, with more than 50 words for terms like “sun” or “moon” — making it essential that an AI model be trained on a large, diverse dataset of text.
Hellwig, a postdoctoral researcher at the University of Zurich, Switzerland, knew 15 years ago that computational tools could enable new possibilities for his linguistics research — but found that just a fraction of Sanskrit manuscripts have been digitized into machine-readable text.
For a half hour almost every day since, he’s been changing that bit by bit, painstakingly parsing Sanskrit works and adding them to a database that now consists of 4.5 million manually labeled words.
Hellwig began building Sanskrit-parsing tools from scratch — starting with statistical models before advancing to more complex optical character recognition and NLP models. Using an NVIDIA Quadro GPU, he’s now training deep learning models that can identify characters and find word endings in Sanskrit texts.
AI tools that transcribe Sanskrit could help digitize a vast corpus of historical manuscripts, spanning epic poetry, religious texts and Ayurvedic medicine.
When training an AI model for texts based on the Latin alphabet, researchers can teach the neural network to detect white spaces to determine where one word ends and another begins.
That’s not the case for Sanskrit manuscripts, where one line of text can be made up of multiple words merged together into just one or two compound strings. The word sandhi, meaning “connection,” is used to describe the phonetic process of joining these words together.
An effective NLP model for Sanskrit texts must be able to split a sandhied line into individual words, posing a significant challenge for researchers.
“Any algorithm has to a certain degree understand the semantics of a line of text to generate a valid split form of it,” said Hellwig. “What’s quite trivial for English is actually the most problematic step in Sanskrit.”
The deep learning tool Hellwig developed to split lines of Sanskrit into individual words is 10 to 15 percent more accurate than previous methods.
“I was surprised that it worked so well,” he said, “because it’s a complicated task, even for human readers using the original forms of these texts.”
Using an NVIDIA GPU helped Hellwig speed up training his AI models by 10x. This speed allows him to evaluate errors faster, and efficiently develop more accurate models. His sandhi-splitting tool is now being used on a large Sanskrit corpus dubbed GRETIL.
Many historians debate the age of key Sanskrit texts — particularly religious works like the Bhagavad Gita. To contribute to this academic conversation, Hellwig wants to use neural networks and NVIDIA GPUs to analyze the grammatical structure and language patterns in ancient Sanskrit texts.
By connecting this linguistic evidence with a model of how Sanskrit changed over time, he hopes to help determine when some of these major texts were composed.
Main image shows a leaf from a manuscript of the Mahabharata, a 100,000-verse Sanskrit epic poem that includes the Bhagavad Gita — a foundational Hindu text. Image from Miami University Libraries Digital Collections, available in the public domain.
The post What’s My Line? GPUs Help Researcher Decipher Ancient Sanskrit appeared first on The Official NVIDIA Blog.