tenssorflowの計算図まとめ
2422 ワード
計算図
TensorFlowでは計算図で計算タスクを表します。計算図は、計算の構造を定義するための向図であり、実際には一連の関数の組み合わせである。図のように、ユーザは簡単に理解できる数学関数コンポーネントを使用することによって、複雑な演算を確立することができます。
TensorFlowでの使用図は、2ステップに分けられます。計算図の作成と実行図の作成です。
図は、形式的にはノードノードとエッジEdgesから構成される。 - Nodesは、データに対する計算または操作のいくつかを丸で表します。Edgesは、矢印で表現されており、操作間で伝達される実際の値です。
建立図
図を実行するには、セッション中に起動されなければなりません。セッションは、図のopをCPUやGPUなどのデバイスに配布し、opを実行する方法を提供します。これらの方法は実行後、発生したテンソルを返します。
シシシシ葃开开session
会話を使い終わったら、消してください。
fetchはsession.run()のパラメータです。私たちが実行したいopやTensor、または彼らが対応するlist構造のいずれかを受信できます。はtenssorであれば、session.run()が出力するのはNumpy配列 です。 Opなら、session.run()が出力するのはNone です。
例えば、sess.run(b)は、Sessionがbを計算するために必要な結点を全部見つけて順番に実行し、結果を出力するということです。
グローバル変数初期化
tensor flowでは、すべてのデータ構造をtensorを使用して表し、計算図ではOp結点間を操作して伝達するのはTensorです。は、tenssorを定義する時に、直接numpyを使用してOp結点に渡すことができます。tens flowのOpはpythonのデータタイプをtenssorに変換してnumbers、bollans、stingsまたはlistを含みます。 図のどの結点もOperationの略称と呼ばれています。Op の各Opの出力は、他のOpまたはsess.run() に伝達される。
Varable
Varableでは、変数は図実行中の状態情報を維持し、パラメータ値を保持し更新するために必要であり、動的に調整する必要がある。 TensorとOperationは同じで、Varableは時間とともに変化することができる です。 Varabelesは、テナントを使用するOpにおいて、現在の値を使用してOp に渡すことができる。 Varableの通常の初期値は、いくつかの大きな0,1または無作為値tenssor、または内蔵op:tf.zros()、tf.ones()などの である。 Varableはgraphにおいて、状態はsessionによって管理され、sessionにおいて初期化され、sessionはvariableの現在の値を追跡することができる。 セッションは、一部のvariable だけ初期化することができます。はtf.variables_を使用します。initializer、初期化変数リスト に入る。 variableの値は変更できる です。は、例えば、variable.assign、またはvariable.assign_を使用します。add(1) の各セッションは、独立したvariable変数値を維持し、同じvariableの異なるセッション値は異なることができる。 各種のOptimizer最適化器が機械学習モデルを訓練すると、variableが変化します。variableの中のtranable=False属性を使うとOptimizerに変更されなくてもいいです。 name_scopes name_sopesは図を管理するために使用することができます。Opのセットを一つのブロックに入れることができます。 以上が本文の全部です。皆さんの勉強に役に立つように、私たちを応援してください。
TensorFlowでは計算図で計算タスクを表します。計算図は、計算の構造を定義するための向図であり、実際には一連の関数の組み合わせである。図のように、ユーザは簡単に理解できる数学関数コンポーネントを使用することによって、複雑な演算を確立することができます。
TensorFlowでの使用図は、2ステップに分けられます。計算図の作成と実行図の作成です。
図は、形式的にはノードノードとエッジEdgesから構成される。 - Nodesは、データに対する計算または操作のいくつかを丸で表します。Edgesは、矢印で表現されており、操作間で伝達される実際の値です。
建立図
graph = tf.Graph()
コンテキストマネージャにアクセス
with graph.as_default():
使う?遣う with 私達がcontext managerでTensorFlowに私達はある具体的なgraphにOpを追加します。図を実行するには、セッション中に起動されなければなりません。セッションは、図のopをCPUやGPUなどのデバイスに配布し、opを実行する方法を提供します。これらの方法は実行後、発生したテンソルを返します。
シシシシ葃开开session
sess = tf.Session()`
Sessionを開くと、望むTensorの値をrun()で計算することができます。会話を使い終わったら、消してください。
sess.close()
Fetchfetchはsession.run()のパラメータです。私たちが実行したいopやTensor、または彼らが対応するlist構造のいずれかを受信できます。
例えば、sess.run(b)は、Sessionがbを計算するために必要な結点を全部見つけて順番に実行し、結果を出力するということです。
グローバル変数初期化
tf.global_variables_initializer()
定義されたすべてのVarable変数を準備して、後続の使用を容易にすることを表します。このOpはsession.runにも伝えられます。
init = tf.global_variables_initializer()
…
sess.run(init)
テンソルTensorとOPtensor flowでは、すべてのデータ構造をtensorを使用して表し、計算図ではOp結点間を操作して伝達するのはTensorです。
Varable
Varableでは、変数は図実行中の状態情報を維持し、パラメータ値を保持し更新するために必要であり、動的に調整する必要がある。