TensorFlowの計算を表すデータフローグラフ。
グラフのインスタンスはスレッドセーフです。
警告: Graphオブジェクトによって消費されるリソースは、 close()
メソッドを呼び出して明示的に解放する必要があります。そうすると、Graphオブジェクトは不要になります。
ネストされたクラス
インターフェース | Graph.WhileSubgraphBuilder | buildSubgraphメソッドをオーバーライドしてwhileループの条件付きサブグラフまたは本体サブグラフを作成する抽象クラスをインスタンス化するために使用されます。 |
パブリックコンストラクタ
グラフ() 空のグラフを作成します。 |
パブリックメソッド
出力[] <?> | addGradients (文字列プレフィックス、 Output [] <?> y、 Output [] <?> x、 Output [] <?> dx) y s wrt x sの合計の偏導関数を計算する演算を追加します。つまり、 d(y_1 + y_2 + ...)/dx_1, d(y_1 + y_2 + ...)/dx_2... |
出力[] <?> | addGradients (出力<?> y、出力[] <?> x) y s wrt x sの合計の偏導関数を計算する演算を追加します。つまり、 dy/dx_1, dy/dx_2... これは、 |
ボイド | 閉じる() グラフに関連付けられているリソースを解放します。 |
ボイド | importGraphDef (byte [] graphDef、String prefix) TensorFlowグラフのシリアル化された表現をインポートします。 |
ボイド | importGraphDef (byte [] graphDef) TensorFlowグラフのシリアル化された表現をインポートします。 |
GraphOperationBuilder | |
GraphOperation | 操作(文字列名) 指定された名前で操作(グラフのノード)を返します。 |
イテレータ<操作> | |
バイト[] | toGraphDef () グラフのシリアル化された表現を生成します。 |
出力[] <?> | whileLoop ( Output [] <?>入力、 Graph.WhileSubgraphBuilder cgBuilder、 Graph.WhileSubgraphBuilder bgBuilder、文字列名) whileループを構築します。 |
継承されたメソッド
パブリックコンストラクタ
パブリックグラフ()
空のグラフを作成します。
パブリックメソッド
public Output [] <?> addGradients (String prefix、 Output [] <?> y、 Output [] <?> x、 Output [] <?> dx)
y
s wrt x
sの合計の偏導関数を計算する演算を追加します。つまり、 d(y_1 + y_2 + ...)/dx_1, d(y_1 + y_2 + ...)/dx_2...
dx
は、初期勾配として使用されます(これは、いくつかの損失関数L
wrt y
のシンボリック偏導関数を表します)。 dx
はnullであるか、サイズがy
必要があります。
dx
がnullの場合、実装はy
すべての形状にOnesLike
dxを使用します。
prefix
は、勾配を計算するためにグラフに追加されたすべてのノードに適用される名前接頭辞として使用されます。提供されたグラフ内で一意である必要があります。そうでない場合、操作は失敗します。
prefix
がnullの場合、1つが自動的に選択されます。
パラメーター
プレフィックス | 勾配を計算するためにグラフに追加されるノードの名前の前に適用される一意の文字列プレフィックス。 nullの場合、デフォルトのものが選択されます。 |
---|---|
y | 導出する関数の出力 |
バツ | 偏導関数が計算される関数の入力 |
dx | nullでない場合、いくつかの損失関数の偏導関数L wrt y |
戻り値
- 偏導関数は
x
のサイズでdy
public Output [] <?> addGradients (出力<?> y、出力[] <?> x)
y
s wrt x
sの合計の偏導関数を計算する演算を追加しdy/dx_1, dy/dx_2...
これは、 where {@code y
が単一の出力、 dx
がnull、 prefix
がnullの簡略版です。
パラメーター
y | 導出する関数の出力 |
---|---|
バツ | 偏導関数が計算される関数の入力 |
戻り値
- 偏導関数は
x
のサイズでdy
public void close ()
グラフに関連付けられているリソースを解放します。
このグラフを参照するアクティブなSession
インスタンスがなくなるまでブロックします。クローズが戻った後、グラフは使用できません。
public void importGraphDef (byte [] graphDef、String prefix)
TensorFlowグラフのシリアル化された表現をインポートします。
パラメーター
graphDef | TensorFlowグラフのシリアル化された表現。 |
---|---|
プレフィックス | graphDefの名前の前に付加されるプレフィックス |
投げる
IllegalArgumentException | graphDefがグラフの認識されたシリアル化ではない場合。 |
---|
public void importGraphDef (byte [] graphDef)
TensorFlowグラフのシリアル化された表現をインポートします。
グラフのシリアル化された表現は、しばしばGraphDefと呼ばれ、 toGraphDef()
および他の言語APIの同等のものによって生成できます。
投げる
IllegalArgumentException | graphDefがグラフの認識されたシリアル化ではない場合。 |
---|
public GraphOperationBuilder opBuilder (文字列型、文字列名)
グラフにOperation
を追加するビルダーを返します。
パラメーター
タイプ | 操作の(すなわち、実行される計算を識別する) |
---|---|
名前 | グラフで作成された操作を参照します。 |
戻り値
OperationBuilder
build()
が呼び出されたときにグラフに操作を追加します。build()
が呼び出されない場合、一部のリソースがリークする可能性があります。
public Iterator <操作>操作()
グラフ内のすべてのOperation
に対するイテレータ。
反復の順序は指定されていません。イテレーターのコンシューマーは、反復中に基になるグラフが変更されても通知を受け取りません。
public byte [] toGraphDef ()
グラフのシリアル化された表現を生成します。
public Output [] <?> whileLoop ( Output [] <?>入力、 Graph.WhileSubgraphBuilder cgBuilder、 Graph.WhileSubgraphBuilder bgBuilder、文字列名)
whileループを構築します。
パラメーター
入力 | ループ入力 |
---|---|
cgBuilder | 条件付きサブグラフを作成するWhileSubgraphBuilder |
bgBuilder | ボディサブグラフを作成するWhileSubgraphBuilder |
名前 | ループの名前 |
戻り値
inputs
と同じ長さのループ出力のリスト