logo

ジュリアのさまざまなディープラーニングフレームワーク 📂機械学習

ジュリアのさまざまなディープラーニングフレームワーク

概要

  • 最終更新日: 2022年11月22日

Juliaの代表的なディープラーニングフレームワークには、Flux.jlがある。これと一緒に、他のフレームワークであるKnet.jlLux.jlも簡単に紹介する。

説明

Flux[フラックス]

Juliaの公式ディープラーニングフレームワークだ。GraphNeuralNetworks.jlSciMLの様々なパッケージがフラックスを基に実装されている。Fluxの機能や特徴はまだTensorFlowやPyTorchに比べて不足しているが、時間が経つにつれていずれそれらと競うかもしれない。ドキュメンテーションを見ても、初めは貧弱で役に立たないレベルだったが、時間が経つにつれて徐々に改善されている。

だが、実際のフラックスの弱点はドキュメンテーションや少ないユーザーではない。もちろん、両方とも優れていれば良いが、研究者の立場からは、どうせ他人がやったことだけを見て使うわけにはいかず、自分で勉強して使わなければならない。個人的には、まだ2022-11-22変更可能な配列をサポートしていない点が最大の欠点と感じる。これは、望む作業を実装するのを難しくさせ、下で紹介する2つのフレームワークも同様の問題がある。

Knet[ケイネット]

韓国とは関係ない。コチ大学で実装された。チュートリアルドキュメンテーションベンチマークがよく整理されているという点が大きな利点だ。この点から、初めて学ぶ場合は、FluxよりもKnetの方が良いとも思える。

Lux

コンパイラーや自動微分に親和性があり、純粋な関数だけで実装されたディープラーニングフレームワークだ。ウェブサイトの説明を読んでも、上記の2つのフレームワークと比べて特に優れている点がよくわからない。Fluxと一緒に使うことを推奨しているようだ。