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だけどプログラミングはやっていないという経験者まで、幅広い方々の人生を好転させるプログラミング指導を行ってきました。SEの方とお話していくなかで、

  • システムエンジニアという職業だけどコードが書けない
  • 事務作業が多くスキルがないため将来が不安
  • スクールに通うと完全未経験者と同じスタートになるからレベルが合わない
という、すでに知識があるSEならではのお悩みがあることに気づきました。そんな方におすすめなのが、弊社の「転職コース 」です。

弊社では、マンツーマンでレッスンを行いますので、現在お持ちの知識レベルからカリキュラムを作成いたします。さらにこちらの転職コースは無料で受講を始められて転職成功でそのまま卒業できるというとてもお得なコースとなっています。

既に知識のあるSEといっても転職は年齢が若いほど受かりやすいため、まずは無料体験レッスンで今の現状や理想の働き方について一緒に考えていきましょう。

まずは無料体験レッスンを予約する

書いた人

フクロウ

フクロウ

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

おすすめコンテンツ

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

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