MENOU SDK MENOU SDK
MENOU SDK MENOU SDK
MENOUフォーラム

クイックスタート

インストール

MENOU SDK は 以下のパッケージソースリポジトリに公開されている Nuget パッケージをインストールするだけで利用できます。

  • MENOU SDK パッケージソース URL

    https://menoufs.blob.core.windows.net/sdk/index.json

Visual Studio におけるパッケージソースの追加方法については、以下をご確認ください。

  • NuGet パッケージ マネージャーを使用して Visual Studio にパッケージをインストールして管理する

SDK を利用して推論を実行する

Note
  • SDK を利用するには別途実行ライセンスが必要です。
  • MENOU より配布されたライセンスファイルを事前に実行時ディレクトリにコピー(配置)する必要があります。
    • アクティベーションツールを使用した場合、ライセンスファイルの作成および配置は自動的に行われます。この場合、下記のアプリケーション実装例に従って、ライセンスファイルのパスを設定してください。
      • アクティベーションツールを使用したアクティベーション方法についてはこちら
  • 推論の実行には MENOU-TE から出力したモデル(ランタイム)ファイルが必要です。

Nuget パッケージのインストール

推論の実行には「Menou.VI.SDK」パッケージを実行プロジェクトにインストールする必要があります。

Visual Studio Nuget パッケージマネージャー上で、パッケージソースを MENOU SDK パッケージソースに設定し、「Menou.VI.SDK」パッケージを検索、インストールしてください。

Note
  • CUDA 関連のバイナリがあわせてインストールされるため、インストールには時間がかかる場合があります(15 分前後)。

推論を実行する

以下は MENOU SDK を利用して推論を実行するコンソールアプリケーションの実装例です。

// Copyright (c) 2022 MENOU. All rights reserved.

using System.IO;
using System.Linq;

// Menou.Menoute.Runtime 名前空間をインポートします。
using Menou.Menoute.Runtime;

// アクティベーションツールでライセンスファイルを作成した場合は、Menou.VI.Core.Licensing 名前空間をインポートしてください。
using Menou.VI.Core.Licensing;

namespace DotnetCore3_1
{
    /// <summary>
    /// MENOU SDK 推論実行サンプル。
    /// </summary>
    class Program
    {
        static void Main(string[] args)
        {
            // サンプルモデルファイル。
            // MENOU-TE から出力したモデルファイルを指定します。
            string modelFilePath = @"Samples\SampleModel.mtrun";

            // 推論対象サンプル画像。
            string imageFilePath = @"Samples\SampleImage.png";

            // ライセンスディレクトリパス
            // アクティベーションツールでライセンスファイルを作成した場合は、コメントを外して以下を設定してください
            //string licenseDirectoryPath = LicenseManager.GetLicenseDirectoryPath("MENOU-SDK");

            // モデルをロードします。
            using (IPredictor predictor = Predictor.Load(modelFilePath))
            // アクティベーションツールでライセンスファイルを作成した場合は、上記using~を以下に置き換えてください
            //using (IPredictor predicotr = Predictor.Load(modelFilePath, licenseDirectoryPath))
            {
                // 推論を実行します。
                IPredictionResult result = predictor.Predict(imageFilePath);

                // "トレッド検出" タスク(領域検出タスク)の結果を取得します。
                // "トレッド検出" は実行例です。MENOU-TE 上で指定したタスク名で結果を検索することが可能です。
                ISegmentationTaskResult taskResult = result.Tasks.First(task => task.TaskName == "トレッド検出") as ISegmentationTaskResult;

                // 該当タスクのヒートマップ画像を実行時ディレクトリに保存。
                File.WriteAllBytes("heatmap.png", taskResult.HeatMapImage.ToArray());
            }
        }
    }
}
  1. MENOU SDK 推論実行 I/F を提供する名前空間をインポートします。

    using Menou.Menoute.Runtime;
    
  2. モデルをロード、IPredictor インターフェースオブジェクトを生成します。

    using (IPredictor predictor = Predictor.Load(modelFilePath))
    

    IPredictor オブジェクトは不要になったタイミングで適宜解放(Dispose)してください。

  3. IPredictor オブジェクトを使用し、任意の画像の推論を実行します。

    IPredictionResult result = predictor.Predict(imageFilePath);
    

    推論結果は IPredictionResult オブジェクトとして取得できます。

各 I/F の詳細については API リファレンス をご確認ください。

推論結果を汎用コントロールを使用して画面に表示する

※現在コンテンツを準備中です

© Copyright 2021 MENOU Corp.