TensorFlowのいくつかの体得を学びます

1259 ワード

以下はtensorflowの公式サイトのいくつかの体得を見て、各位の大神を歓迎してdissに来ます
TensorFlowの端末はC++に基づいているので、TensorFlowベースのコードは記述ファイルに似ているので、最も核心的な2つの内容は
  • Graph:TensorFlowの高性能計算はすべてpythonの外にあるため、TensorFlowとpythonの間で頻繁なインタラクションが行われて追加のオーバーヘッドをもたらすため、その主な内容はexternal computation graphの定義であり、静的図は一連のノードの定義を含み、主にtensorとoperation
  • がある.
  • よく使われるのはdefault graph:
    tf.get_default_graph()
    新しいgraph gをdefaultとして、コンテンツを管理します.そうしないと、すべてのノードがグローバルデフォルトのgraphの下で
    g=tf.Graph()
    with g as default()
  • Session:端末と接続し、環境を圧縮してoperation objectsを実行します.パラメータを設定しないとdefault graphがロードされます
  • データの操作
  • 本来ならば、静的図が定義された後、中のデータはすべて確定した、例えばtf.だがtf.placeholderは、外部変数
    x=tf.placeholder(tf.float32,shape=[none ,784])
    実行時に複数の入力
  • を受信するために使用することができる.
  • 機械学習では、通常パラメータをvariableに設定し、variableはgraphの総valueであり、graphのパラメータを動的に調整し、インタラクティブな操作を行うために使用することができ、使用前に、その値は初期化する必要がある.
    w=tf.variable([.3],dtype=float32)
    init=tf.gloable_variables_initilizer()
    sess.run(init)
  • 損失関数を定義した後、TensorFlowの組み込み関数を使用して目標関数の最適化を行い、graph上で勾配、stepの計算、およびパラメータの更新を行うことができます.これは実際にgraph上で新しい操作を追加したことに相当するので、パラメータはvariable
  • に設定します.
  • データ入力のshapeは:
    x_image=tf.reshape(x,[-1,28,28,3])
    batchsize*w*h*channelの形式