メインコンテンツ

recordMetrics

実験結果テーブルと学習プロットへのメトリクス値の記録

R2021a 以降

    説明

    recordMetrics(monitor,step,metricName=metricValue) は、試行に関する指定されたメトリクス値を、実験マネージャーの結果テーブルと学習プロットに記録します。

    recordMetrics(monitor,step,metricName1=metricValue1,...,metricNameN=metricValueN) は、試行に関する複数のメトリクス値を記録します。

    recordMetrics(monitor,step,metricStructure) は、構造体 metricStructure によって指定されたメトリクス値を記録します。

    すべて折りたたむ

    experiments.Monitor オブジェクトを使用して、学習の進行状況を追跡し、実験結果テーブルで情報とメトリクス値を表示し、カスタムの学習実験の学習プロットを生成します。

    学習を開始する前に、実験マネージャーの結果テーブルの情報列とメトリクス列の名前を指定します。

    monitor.Info = ["GradientDecayFactor","SquaredGradientDecayFactor"];
    monitor.Metrics = ["TrainingLoss","ValidationLoss"];

    学習プロットの横軸のラベルを指定します。同じサブプロット内で、学習損失と検証損失をグループ化します。

    monitor.XLabel = "Iteration";
    groupSubPlot(monitor,"Loss",["TrainingLoss","ValidationLoss"]);

    損失に対して対数スケールを指定します。座標軸ツール バーで対数スケール ボタンをクリックして Y 軸のスケールを切り替えることもできます。

    yscale(monitor,"Loss","log")

    結果テーブルで、この試行における勾配の減衰係数と 2 乗勾配の減衰係数の値を更新します。

    updateInfo(monitor, ...
        GradientDecayFactor=gradientDecayFactor, ...
        SquaredGradientDecayFactor=squaredGradientDecayFactor);

    カスタムの実験ループを実行するたびに、その試行における学習損失と検証損失の値を結果テーブルと学習プロットに記録します。

    recordMetrics(monitor,iteration, ...
        TrainingLoss=trainingLoss, ...
        ValidationLoss=validationLoss);

    全体の反復回数に対する完了した試行回数の割合に基づいて、学習の進行状況を更新します。

    monitor.Progress = 100 * (iteration/numIterations);

    構造体を使用して、結果テーブルと学習プロットにメトリクス値を記録します。

    structure.TrainingLoss = trainingLoss;
    structure.ValidationLoss = validationLoss;
    recordMetrics(monitor,iteration,structure);

    入力引数

    すべて折りたたむ

    試行に関する実験モニター。experiments.Monitor オブジェクトとして指定します。カスタムの学習実験を実行すると、実験マネージャーは、学習関数の 2 番目の入力引数としてこのオブジェクトを渡します。

    反復回数やエポック数などのカスタム学習ループ ステップ。数値スカラーまたは dlarray オブジェクトとして指定します。実験マネージャーは、この値を学習プロットの x 座標として使用します。

    メトリクス名。string または文字ベクトルとして指定します。この名前は、experiments.Monitor オブジェクト monitorMetrics プロパティの要素でなければなりません。

    データ型: char | string

    メトリクス値。数値スカラーまたは dlarray オブジェクトとして指定します。実験マネージャーは、この値を学習プロットの y 座標として使用します。

    メトリクスの名前と値。構造体として指定します。名前は、experiments.Monitor オブジェクト monitorMetrics プロパティの要素でなければなりません。構造体内では任意の順序で名前を記述できます。

    例: struct(TrainingLoss=trainingLoss,ValidationLoss=validationLoss)

    データ型: struct

    ヒント

    • 実験の結果テーブルでは、情報列とメトリクス列の両方に値が表示されます。また、メトリクス値の記録が学習プロットに表示されます。結果テーブルには表示する必要があるものの学習プロットには表示したくないと考えているテキストや数値については、情報列を使用してください。

    • 関数 recordMetrics を呼び出す前に、groupSubPlot 関数を使用して学習サブプロットを定義してください。

    バージョン履歴

    R2021a で導入