# mxnet

Published articles for mxnet.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## Why Curalate migrated from Caffe to MXNet for deep learning development and deployment

DevFeed: [Why Curalate migrated from Caffe to MXNet for deep learning development and deployment](<https://devfeed.tech/articles/how-curalate-uses-mxnet-on-aws-for-deep-learning-magic-26525.md>)

Original publisher: [Read original article](<http://engineering.curalate.com/2018/08/01/mxnet-case-study.html>)

Published: 2018-08-01T00:00:00Z

Content type: article

Language: en

Sources: [Curalate](<https://devfeed.tech/sources/curalate.md>)

Topics: [Deep learning](<https://devfeed.tech/topics/deep-learning.md>), [Computer vision](<https://devfeed.tech/topics/computer-vision.md>), [Framework](<https://devfeed.tech/topics/framework.md>), [Deployment](<https://devfeed.tech/topics/deployment.md>), [Development](<https://devfeed.tech/topics/development.md>), [Microservice](<https://devfeed.tech/topics/microservice.md>), [ImageNet](<https://devfeed.tech/topics/imagenet.md>), [onnx](<https://devfeed.tech/topics/onnx.md>)

Tags: [computer-vision](<https://devfeed.tech/tags/computer-vision.md>), [deep-learning](<https://devfeed.tech/tags/deep-learning.md>), [deeplearning](<https://devfeed.tech/tags/deeplearning.md>), [deployment](<https://devfeed.tech/tags/deployment.md>), [development](<https://devfeed.tech/tags/development.md>), [fork](<https://devfeed.tech/tags/fork.md>), [framework](<https://devfeed.tech/tags/framework.md>), [model](<https://devfeed.tech/tags/model.md>), [mxnet](<https://devfeed.tech/tags/mxnet.md>), [onnx](<https://devfeed.tech/tags/onnx.md>), [python](<https://devfeed.tech/tags/python.md>), [scala](<https://devfeed.tech/tags/scala.md>)

### AI overview

Curalate describes migrating from Caffe to MXNet for computer vision systems. The post explains how MXNet supports experimentation, pre-trained models, model conversion, and integration into microservices and production environments.

### Source excerpt

This post was simultaneously published to Medium. At Curalate, we use state of the art deep learning and computer vision to add a layer of magic to our products. Intelligent Product Tagging, for example, identifies our clients' products in user-generated photos. Being a startup, we need to build these deep learning and computer vision systems the same way we do the rest of our products: quickly. Our computer vision systems are built in two phases, research and productization, and we require a deep learning framework that accelerates both. During the research phase, we need a framework that's quick to get started with and is flexible enough to experiment with new ideas. Once we have a solution, we need a framework that can easily be integrated into a microservice and deployed to multiple production environments. In the past, we used Caffe for experimentation and our own custom inference interface to deploy the trained models to production. Experimentation was slow due to Caffe's dated Python API, lack of automatic differentiation, unreliable build/install process, and clunky support for advanced layers which required us to maintain our own custom fork. Productization of Caffe was challenging since we had to maintain our own JNI interface. We needed new and modern framework that fulfilled all of our needs while saving us from the shortcomings of Caffe. After a review of all the available options, we decided to move to MXNet. In this post, we'll discuss why we migrated to MXNet as our deep learning framework of choice to facilitate our speed of experimentation, development, and deployment. Training and Experimentation Whenever we are faced with a new computer vision problem, we start by looking at existing state-of-the-art implementations. If we are lucky the functionality of the service we are implementing is similar to an existing pre-trained model for MXNet. MXNet has a fairly fleshed out and maintained Model Zoo that contains all of the standard pre-trained models

## Choosing a Deep Learning library for developing and deploying your App/Service

DevFeed: [Choosing a Deep Learning library for developing and deploying your App/Service](<https://devfeed.tech/articles/choosing-a-deep-learning-library-for-developing-and-deploying-your-app-service-26523.md>)

Original publisher: [Read original article](<http://engineering.curalate.com/2018/03/23/DL-lib-for-app-dev-and-prod.html>)

Published: 2018-03-23T10:11:36Z

Content type: article

Language: en

Sources: [Curalate](<https://devfeed.tech/sources/curalate.md>)

Topics: [Deep learning](<https://devfeed.tech/topics/deep-learning.md>), [Library](<https://devfeed.tech/topics/library.md>), [App](<https://devfeed.tech/topics/app.md>), [Requirements](<https://devfeed.tech/topics/requirements.md>), [Code](<https://devfeed.tech/topics/code.md>), [Open Source](<https://devfeed.tech/topics/open-source.md>), [GPU](<https://devfeed.tech/topics/gpu.md>), [Linux](<https://devfeed.tech/topics/linux.md>), [browser](<https://devfeed.tech/topics/browser.md>)

Tags: [app](<https://devfeed.tech/tags/app.md>), [caffe](<https://devfeed.tech/tags/caffe.md>), [cntk](<https://devfeed.tech/tags/cntk.md>), [code](<https://devfeed.tech/tags/code.md>), [comparison](<https://devfeed.tech/tags/comparison.md>), [deep](<https://devfeed.tech/tags/deep.md>), [deep-learning](<https://devfeed.tech/tags/deep-learning.md>), [gpu](<https://devfeed.tech/tags/gpu.md>), [learning](<https://devfeed.tech/tags/learning.md>), [library](<https://devfeed.tech/tags/library.md>), [linux](<https://devfeed.tech/tags/linux.md>), [mxnet](<https://devfeed.tech/tags/mxnet.md>), [network](<https://devfeed.tech/tags/network.md>), [neural](<https://devfeed.tech/tags/neural.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [pytorch](<https://devfeed.tech/tags/pytorch.md>), [requirements](<https://devfeed.tech/tags/requirements.md>), [tensorflow](<https://devfeed.tech/tags/tensorflow.md>), [vs](<https://devfeed.tech/tags/vs.md>)

### AI overview

This article discusses how to choose a deep learning library for developing and deploying applications or services. Drawing on Curalate's experience using several libraries in production, it identifies factors such as application needs, deployment platforms, deep network architecture, API language requirements, and codebase quality.

### Source excerpt

Interest in deep learning is growing and growing and, with it at peak hype right now, a lot of people are looking to find the best deep learning library to build their new app or bring their company into the modern age. There are many deep learning toolkits to choose from ranging from the long used, supported, and robust academic libraries to the new state-of-the-art, industry backed platforms. At Curalate, we've been working on deep learning problems since 2014, meaning we've had the chance to watch the deep learning community and its open source libraries grow. We have also had the fortunate (unfortunate?) experience of using a few of the deep learning libraries in our production services and applications, and along the way, we have learned a lot about what to look for in a deep learning library to build reliable, production-ready applications and services. In this post, I'll share our lessons learned knowledge in hopes it will help you in your search for the perfect deep learning library match. You might even find that your best fit is using more than one! Important factors The specifics needs of your application/service The platform you are developing on and deploying to. Develop in OSX? Linux? Windows? Plan on having your application run in a web browser? A smart phone? A massive multi-node GPU cluster? It's not surprising that each of the libraries have prioritized different environments and some will work much better for your specific situation. The specific deep net architecture you are trying to implement If you are just trying to implement a typical, pre-trained classification net, this factor may not be as important for you. Some libraries are more performant and appropriate for certain types of deep nets (LSTMs, RNNs), but more on this later. API language requirements If you already have a code base written in language A, you probably would like to keep it that way without having to figure out some convoluted way to fit a deep net interface in language B