"Function" (ネットデコーダ)

NetDecoder[{"Function",f}]

f をネットワークの出力に適用して,復号化された結果を得るデコーダを表す.

詳細

  • NetDecoder[{"Function",}]は,ニューラルネットワークのためのカスタムの後処理を定義するために使われることが多い.
  • NetDecoder[][input]はデコーダを入力に適用し,出力を生み出す.
  • NetDecoder[][{input1,input2,}]はデコーダを入力のリストに適用し,出力のリストを作る.
  • ネットワークの構築時に"port"->NetDecoder[]と指定すると,デコーダをネットワークの出力ポートに付加することができる.
  • パラメータ
  • 次は,サポートされるパラメータである.
  • "Properties"{}使用可能な特性
    SaveDefinitionsTrueエンコーダの評価に関係がある現行の定義を自動的に保存すべきかどうか
    InitializationNoneエンコーダを最初に適用するときに評価する式
    ExcludedContextsAutomaticシンボルの定義が再帰的に保存されないコンテキスト
    IncludedContextsAllシンボルの定義が再帰的に保存されるコンテキスト
  • NetDecoder[{"Function",f,"Properties"{"prop1","prop2",}}]はデコーダがpropiのどれかをサポートすることを指定するのに使える.f はそのとき第2引数として復号化する特性を取らなければならない.その場合,もし特性が指定されていなければ,f に与えられるデフォルトの特性は prop1 になる.
  • デフォルトで,NetDecoder[{"Function",f,}]f の評価に必要なすべてのシンボルの定義を保存し,デコーダを最初に評価する際にこの定義を回復する.保存する定義の選択はSaveDefinitionsInitializationExcludedContextsIncludedContextsの各オプションで変更できる.

例題

すべて開くすべて閉じる

  (1)

特性を作り,その入力がRGB色として解釈されるようにする:

関数に渡されたNumericArrayNormalを使ってRGBColorが使える標準配列に変換される点に注意のこと.

3次元ベクトルをRGB色として復号化する:

デコーダをランダムに生成されたネットワークに付加する:

ネットワークの出力は自動的に色として復号化される:

パラメータ  (2)

"Properties"  (1)

使用可能な2つの特性"x2"と"+1"があるデコーダを定義する:

デフォルトで,デコーダは最初の特性を返す:

他の特性を計算する:

デコーダをネットに接続する:

入力に適用されたネットのいくつかの出力特性を計算する:

SaveDefinitions  (1)

デフォルトで,デコーダの評価に必要な定義は保存される:

定義を消去する:

定義はエンコーダを最初に適用するときに回復される:

この動作はSaveDefinitionsFalseを使って無効にできる:

定義を消去する:

定義は回復できない:

考えられる問題  (1)

Wolfram言語の関数の多くは,NumericArray入力を使うことができない.この問題は,Normalを使ってNumericArray入力を標準の配列に変換することで解決できる: