目次
1.Torchとは?
2.Torchの歴史は?
3.Torchの強み
1.Torchとは?
Torch(トーチ)とは、オープンソフトウェアライブラリの一つで、ニューラルネットワーク(※2)などの機械学習をサポートしているGPUでの利用を目的に開発された科学計算フレームワークです。
Torchは古くからある機械学習ライブラリで、多くの研究所や企業で利用されています。TorchはLuaというスクリプト言語を使用して構築を行います。LuaJIT(jitコンパイラ)を使用するためPythonよりも動作が早いです。
2.Torchの歴史は?
2000年頃、TorchはスイスのIDIAP研究所に所属するRonan Collobert, Koray Kavukcuoglu, Clement Farabetによって開発されました。
2006年頃、NECラボラトリーズアメリカでの開催、トーチ5、7
2011〜2012年頃、ニューヨーク大学DeepMindに採用されました
2015年頃、FacebookがTorchをサポートしました。
2017年1月、TorchのPython APIであるPytorchがオープンソース化されました。
2017年2月、Torch7
2018年3月あたりからTorchの開発は活発でなくなりました。
3.Torchの強み
Torchの主な強みは
●強力なN次元配列
●索引付け、スライス、転置などの多くのルーチン
●LuaJITによるCへのインターフェース
●線形代数ルーチン
●ニューラルネットワークとエネルギーベースのモデル
●数値最適化ルーチン
●数値最適化ルーチン
●iOSとAndroidのバックエンドへの移植を伴う組み込みが可能
が挙げられます。
公式サイトにはTorchの特徴について下記のように説明しています。
Torchの目的は、「プロセスを非常にシンプルにしながら、科学的アルゴリズムを構築する上で最大限の柔軟性とスピードを得る」ことです。
Torchには、大規模なエコシステムがあります。それは、機械学習、コンピュータビジョン、信号処理、並列処理、画像、ビデオ、オーディオ、ネットワーキングなどのパッケージを提供しています。
Torchのコア部分には、複雑なニューラルネットワークトポロジの実装において最大限の柔軟性を持ちながら、使いやすい人気のニューラルネットワークと最適化ライブラリがあります。
それはニューラルネットワークの任意のグラフを構築をすることができ、構築したものを効率的にCPUとGPU上で並列化することができます。