MXNetとは?多言語で使える深層学習ライブラリの概要と導入方法

こんにちは! 侍エンジニア塾ブログ編集部のフクロウです。

侍エンジニアブログで、Deep Learningフレームワークについての記事を以前公開しました。

Tensorflowだけじゃない?ディープラーニングフレームワーク8選!
更新日 : 2019年8月9日

この記事でも紹介した、MXNetというDeep Learningフレームワーク、知っていますか? 最近データ解析コンペティションでじわじわと人気が出てきているMXNet。

データ解析のプロになりたいなら必見のフレームワークです。この記事でMXNetの概要と導入方法を覚えて入門しちゃいましょう!

MXNetとは?

[リンク:https://github.com/apache/incubator-mxnet]

概要

MXNetはPythonを含めた複数のプログラミング言語から利用できる深層学習フレームワークです。ワシントン大学とカーネギーホール大学によって開発されました。

命令的にも宣言的にも(TensorflowのようにもPyTorch/Chainerのようにも)書ける非常に柔軟なライブラリです。様々な深層学習モデルをサポートしており、一般知名度こそTensorflow、PyTorchに及びませんが非常に人気があります。

スケーラブルで計算資源を余すことなく使える

深層学習では非常に膨大な計算リソースを使わないと計算が追いつかないような場合があります。

そういったときに、GPUを増やしたら増やしただけ計算速度が速くなるようなライブラリが求められます。このようなスケーラビリティにおいて、MXNetは優秀です。

GPU数を増やしたときに85%の分散実行の効率性を示している、という報告があります。(AWS Japanのスライドより)

様々な言語に対応している

MXNetは様々な言語に対応している点においても優秀です。

  • Python
  • Scala
  • R
  • Julia
  • Perl
  • C++

に対応しており、本当に様々な言語環境での動作がサポートされています。JuliaやRなどの、Deep Learningフレームワークのデファクトが決まっていないような言語にも対応している点、Perlなどの他のフレームワークがサポートしていない言語も抑えている点などが興味深いです。

もしもPythonを習得しておらず、上の言語のどれかを使っている場合、MXNetは強力な候補の一つになります。

使い方

インストール

MXNetのインストール方法は、公式ドキュメントに丁寧にまとめられています。

[リンク:Installing MXNet]

MXNetのインストール方法は、インストール環境によって様々あるのでここでは割愛します。リンク先のボタンで以下を設定することで、インストールの方法がこのボタン群の下に表示されます。

  • MXNetのバージョン
  • OSや実行デバイス
  • 言語
  • CPUかGPUか
  • インストール方法

MXNetのサンプルコー

MXNetの勉強をするなら公式のtutorialがおすすめです。

[Tutorials]

また、様々な深層学習モデルの実装コードが公開されているリポジトリもあります。

[apache/incubator-mxnet]

MXNetをもっと学習する

MXNetで作る データ分析AIプログラミング入門 

本当に最近出たばかりの本ですが、日本語でもMXNetを使った技術書が販売されています。

まとめ

この記事ではMXNetについて解説しました。

MXNetの特徴

  • これ一つでTensorflow/Keras/Chainerのような様々な書き方ができる柔軟な深層学習ライブラリ
  • 様々な言語で使え、スケーラビリティが高くいろんな規模の深層学習に対応できる

機械学習・深層学習の実装言語は現在、Pythonが最も人気です。ですが新進気鋭のJuliaや、統計の分野で大きなシェアを持っているRなど、様々なライバルがこれから勢いを持つかもしれません。

いろんな言語に対応できてスケールしやすいMXNetがこれからもっと脚光を浴びる日も近いかも!

LINEで送る
Pocket

SEからWebエンジニアへ転職した理由

侍エンジニア塾卒業生の小池さんは、以前は社内SEとして約5年ほど勤務していました。しかし業務内容は社内のヘルプデスク対応など、プログラムを書く仕事は全くなかったそうです。

SEながらプログラムを書けない現状に「将来仕事がなくなるんじゃないか」と不安を感じ、プログラミング学習を決意。

弊社スクールで学習し、無事ベンチャー企業のプログラマーとして転職に成功しました。そんな小池さんの学習法や転職体験談を伺いましたので、是非ご覧ください。

「プログラミングができないSEは仕事がなくなる」不安を感じたSEが未経験から転職成功するまで
更新日 : 2019年10月7日

書いた人

フクロウ

フクロウ

第一言語はPythonです。
皆さんRustやりましょう。

おすすめコンテンツ

あなたにぴったりなプログラミング学習プランを無料で診断!

プログラミング学習の効率を劇的に上げる学習メソッドを解説