TorchStudio:PyTorchのための統合開発環境とエコシステム

PyTorch専用IDE(統合開発環境)のTorchStudioがオープンベータで公開されている↓

TorchStudio

数クリックでAIモデルのブラウジング、学習、比較ができ、必要であればコーディングも可能です。

Connected
オフライン・オンライン問わず、数千のデータセットやモデルをブラウジング、ロードできます。 ローカルでもリモートでもモデルの構築と学習ができます。

Visual
データセットを探索、分析、再フォーマットできます。モデルを可視化してデバッグできます。学習をを監視して比較できます。

Flexible
データセット、モデル、アナライザー、損失関数、メトリックなどのモジュールの追加・編集できます。全てデータとパラメーターを互換性のある形式で保存できます。

TorchStudioはWindows, Mac, Ubuntuに対応しており、各プラットフォーム用のインストーラーが配布されている。
リポジトリはGitHubで公開されている↓
https://github.com/TorchStudio/torchstudio

言われてみれば確かに、機械学習においてコーディング自体はそこまで重要じゃない。
どちらかというと、データセットがどんな構成か、学習中に何が起こっているのか、学習済みモデルがどんな性質になったかを確かめるために、探索的にコードを書かざるを得ないだけだ。
機械学習でのコーディングの目的を考えると、やっていることはプログラム開発というよりデバッグに近い。
機械学習の環境に必要なのは可視化・分析機能だ。IDEで言うところのデバッグツールに相当する機能。

追記:各IDE向けのExtensionの配布もはじまった。対応するIDEは、VSCode, PyCharm, Spyder, Sublime。



公式チュートリアルGet Startedをやってみよう↓

Get Started

TorchStudioをインストールしてデータセットを読み込み、モデルを訓練して学習結果を保存する。

TorchStudioのインストール

ご自分の環境に対応したインストーラーをダウンロードしてください:Download

インストーラーを実行し、インストールが完了したらTorchStudioを起動してInstallをクリックしてコンピューターにローカルのPyTorch環境をインストールします。


MNISTデータセットの読み込み・分析

最初にDatasetタブが表示されます。

torchvision.datasetsカテゴリーを選択し、MNISTデータセットを選択してください。このデータセットは、手書きの数字とそれに対応する解釈で構成されています。



次に、Loadをクリックしてください。このデータセットがまだコンピューターに無い場合は自動的にダウンロードされます。

データセットが読み込まれると、このデータセットを探索できるようになります。(他のサンプルを表示するには、Sample 0の値を変更してください)

Optionally click Analyze to produce an analysis report of this dataset.
必要に応じて、Analyzeをクリックしてこのデータセットの分析レポートを作成できます。


MNIST分類モデルを構築して学習する

Click the plus button at the top, next to the Dataset tab. This will create your first model.
上部のDatasetタブの横にあるボタンをクリックしてください。これで最初のモデルが作成されます。

torchstudio.modelsカテゴリーとMNISTClassifierモデルを選択してください。



次に、Buildをクリックしてください。このデータセットがまだコンピューターに無い場合は自動的にダウンロードされます。

モデルが構築されると、そのモデルのGraph表現(上部の入力から下部の出力まで、内部でノードがどのように接続されているか)を確認できます。



この段階では、AIモデルがまだ手書きの数字を正しく解釈できないことに注意してください。Input画面に5が表示されていますが、Output画面には全ての解釈についてほぼ等しい確率が表示されています。

それでは、Trainをクリックしてモデルの学習を開始しましょう。

数分後、Metricプロットが増加するのがわかるはずです。(右下のパネル) これはモデルが適切に学習されており、より正確な解釈が行われていることを意味します。また、Input画面の手書きの数字がOutput画面で正しく解釈されているのが確認できるはずです。



これで全て完了です! 最初のAIモデルを学習できました。

学習結果の保存

Stop Trainingをクリックして > Save Projectをクリックしてプロジェクトを保存するか、 > Export Model…をクリックして学習済みモデルをエクスポートできます。(TorchScriptまたはONNX形式のいずれかを選択してください)


関連記事

OpenCVのfindEssentialMat関数を使ったサンプルを読んでみる

WordPress on Google App Engineを1週間運用してみて

Facebookの顔認証技術『DeepFace』

OpenCV 3.1から追加されたSfMモジュール

疑似3D写真が撮れるiPhoneアプリ『Seene』がアップデートでついにフル3Dモデルが撮影できる...

OpenCVでiPhone6sのカメラをキャリブレーションする

畳み込みニューラルネットワーク (CNN: Convolutional Neural Network...

Multi-View Environment:複数画像から3次元形状を再構築するライブラリ

書籍『伝わる イラスト思考』読了

Mayaのプラグイン開発

2022年4月 振り返り

オープンソースのロボットアプリケーションフレームワーク『ROS (Robot Operating S...

iPhoneで3D写真が撮れるアプリ『seene』

Iridescence:プロトタイピング向け軽量3D可視化ライブラリ

BGSLibrary:OpenCVベースの背景差分ライブラリ

タマムシっぽい質感

UnityプロジェクトをGitHubで管理する

iOSデバイスと接続して連携するガジェットの開発方法

Unity MonoBehaviourクラスのオーバーライド関数が呼び出される順番

Point Cloud Consortiumのセミナー「3D点群の未来」に行ってきたよ

ディープラーニング

第25回コンピュータビジョン勉強会@関東に行って来た

Unreal Engine 5の情報が公開された!

プラカラーストック:模型塗料を管理できるスマホアプリ

UnrealCV:コンピュータビジョン研究のためのUnreal Engineプラグイン

Autodesk Mementoでゴジラを3次元復元する

SONYの自律型エンタテインメントロボット『aibo』

iOSで使えるJetpac社の物体認識SDK『DeepBelief』

iPhone・iPod touchで動作する知育ロボット『ROMO』

TensorSpace.js:ニューラルネットワークの構造を可視化するフレームワーク

Mask R-CNN:ディープラーニングによる一般物体検出・Instance Segmentatio...

geometry3Sharp:Unity C#で使えるポリゴン操作ライブラリ

OpenCV3.3.0でsfmモジュールのビルドに成功!

プログラムによる景観の自動生成

2022年8月 振り返り

D3.js:JavaScriptのデータビジュアライゼーションライブラリ

GoogleのDeep Learning論文

OANDAのfxTrade API

Live CV:インタラクティブにComputer Visionコーディングができるツール

OpenMVS:Multi-View Stereoによる3次元復元ライブラリ

オープンソースの顔の動作解析ツールキット『OpenFace』

Pix2Pix:CGANによる画像変換

コメント