Powershell Windows.AI.MachineLearning名前空間のオブジェクト作成

以前、音声合成でWinRTのメソッドを呼び出す方法をAIでもできないかとチャレンジ。

以下の参考サイトの文法にあてはめて呼び出せば、実行時エラーがでない。

Windows PowerShell からの WinRT 非同期メソッドの呼び出し |キースヒルのブログ (wordpress.com)

 [Type, Assembly, ContentType=WindowsRuntime] > $Null

ただ、なかなか公式のドキュメントみつからないため、仕方なくChatGPTに聞いてみた。

[Type, Assembly, ContentType=WindowsRuntime]  > $Null

Type: Windowsランタイムオブジェクトを作成するために使用する型の完全修飾名。

Assembly: 型を含むアセンブリの名前。Windowsランタイムアセンブリには、.NET Frameworkアセンブリとは異なる形式が使用されるため、Windowsランタイムアセンブリの名前は、.NET Frameworkアセンブリの名前とは異なることに注意してください。

ContentType: オブジェクトがWindowsランタイムコンテンツであることを示すキーワード。この値は常にWindowsRuntimeとして指定されます。

そして、> $nullは、このコマンドがコンソールに出力する結果を $null にリダイレクトするためのPowerShellの構文です。$nullは、PowerShellで値がないことを表す特殊な値です。

これを元に例えば、Windows.AI.MachineLearning.LearningModel クラスを呼び出す場合以下の通りになる。

[Windows.AI.MachineLearning.LearningModel,Windows.AI.MachineLearning,ContentType=WindowsRuntime] > $null

Windows.AI.MachineLearning名前空間のすべてのクラス

Windows.AI.MachineLearning 名前空間 – Windows UWP applications | Microsoft Learn にあるクラスをすべて呼び出すとこんな感じになる。

[Windows.AI.MachineLearning.ImageFeatureDescriptor,Windows.AI.MachineLearning,ContentType=WindowsRuntime] > $null  #モデルが想定しているイメージのプロパティについて説明します。
[Windows.AI.MachineLearning.ImageFeatureValue,Windows.AI.MachineLearning,ContentType=WindowsRuntime] > $null  #モデルに渡すために使用されるイメージのプロパティについて説明します。
[Windows.AI.MachineLearning.LearningModel,Windows.AI.MachineLearning,ContentType=WindowsRuntime] > $null  #トレーニング済みの機械学習モデルを表します。
[Windows.AI.MachineLearning.LearningModelBinding,Windows.AI.MachineLearning,ContentType=WindowsRuntime] > $null  #名前付き入力機能と出力機能に値をバインドするために使用されます。
[Windows.AI.MachineLearning.LearningModelDevice,Windows.AI.MachineLearning,ContentType=WindowsRuntime] > $null  #機械学習モデルの評価に使用されるデバイス。
[Windows.AI.MachineLearning.LearningModelEvaluationResult,Windows.AI.MachineLearning,ContentType=WindowsRuntime] > $null  #評価の結果を取得します。
[Windows.AI.MachineLearning.LearningModelSession,Windows.AI.MachineLearning,ContentType=WindowsRuntime] > $null  #機械学習モデルを評価するために使用されます。
[Windows.AI.MachineLearning.LearningModelSessionOptions,Windows.AI.MachineLearning,ContentType=WindowsRuntime] > $null  #LearningModelSession オブジェクトの作成時に使用される推論オプションについて説明します。
[Windows.AI.MachineLearning.MapFeatureDescriptor,Windows.AI.MachineLearning,ContentType=WindowsRuntime] > $null  #マップは、(キー、値) ペアのコレクションです。
[Windows.AI.MachineLearning.SequenceFeatureDescriptor,Windows.AI.MachineLearning,ContentType=WindowsRuntime] > $null  #シーケンスは要素の配列です。
[Windows.AI.MachineLearning.TensorBoolean,Windows.AI.MachineLearning,ContentType=WindowsRuntime] > $null  #ブール型のテンソル オブジェクト。
[Windows.AI.MachineLearning.TensorDouble,Windows.AI.MachineLearning,ContentType=WindowsRuntime] > $null  #64 ビット浮動小数点テンソル オブジェクト。
[Windows.AI.MachineLearning.TensorFeatureDescriptor,Windows.AI.MachineLearning,ContentType=WindowsRuntime] > $null  #テンソルは、値の多次元配列です。
[Windows.AI.MachineLearning.TensorFloat,Windows.AI.MachineLearning,ContentType=WindowsRuntime] > $null  #32 ビット浮動小数点テンソル オブジェクト。
[Windows.AI.MachineLearning.TensorFloat16Bit,Windows.AI.MachineLearning,ContentType=WindowsRuntime] > $null  #16 ビット浮動小数点テンソル オブジェクト。
[Windows.AI.MachineLearning.TensorInt16Bit,Windows.AI.MachineLearning,ContentType=WindowsRuntime] > $null  #16 ビット符号付き整数テンソル オブジェクト。
[Windows.AI.MachineLearning.TensorInt32Bit,Windows.AI.MachineLearning,ContentType=WindowsRuntime] > $null  #32 ビット符号付き整数テンソル オブジェクト。
[Windows.AI.MachineLearning.TensorInt64Bit,Windows.AI.MachineLearning,ContentType=WindowsRuntime] > $null  #64 ビット符号付き整数テンソル オブジェクト。
[Windows.AI.MachineLearning.TensorInt8Bit,Windows.AI.MachineLearning,ContentType=WindowsRuntime] > $null  #8 ビット符号付き整数テンソル オブジェクト。
[Windows.AI.MachineLearning.TensorString,Windows.AI.MachineLearning,ContentType=WindowsRuntime] > $null  #文字列テンソル オブジェクト。
[Windows.AI.MachineLearning.TensorUInt16Bit,Windows.AI.MachineLearning,ContentType=WindowsRuntime] > $null  #16 ビット符号なし整数テンソル オブジェクト。
[Windows.AI.MachineLearning.TensorUInt32Bit,Windows.AI.MachineLearning,ContentType=WindowsRuntime] > $null  #32 ビット符号なし整数テンソル オブジェクト。
[Windows.AI.MachineLearning.TensorUInt64Bit,Windows.AI.MachineLearning,ContentType=WindowsRuntime] > $null  #64 ビット符号なし整数テンソル オブジェクト。
[Windows.AI.MachineLearning.TensorUInt8Bit,Windows.AI.MachineLearning,ContentType=WindowsRuntime] > $null  #8 ビット符号なし整数テンソル オブジェクト。
ライセンス:本記事のテキスト/コードは特記なき限り CC BY 4.0 です。引用の際は出典URL(本ページ)を明記してください。
利用ポリシー もご参照ください。

コメント

タイトルとURLをコピーしました