パラメータ(a)は、ニューラルネットワーク
(1)tf.random_normal()はランダムな対数正規分布を生成します
tf.Variable = W(tf.random_normal([2,3]、STDDEV = 2、平均= 0、= SEED。1 )) #が##正規乱数、2行3列、2つの標準偏差を生成し、0を意味、ランダムシード1
(2)tf.truncated_normal()生成された乱数を除去するためには大きすぎるオフ正規分布ポイント、ランダムデータはつ以上の標準偏差の平均値から生成された場合、すなわち、データが再生されます
W = tf.Variable(tf.Truncated_normal([2,3]、STDDEV = 2、= 0、種子= 1)を意味)
(3)tf.random_uniform()は、均一に分布した乱数を生成します
tf.Variable = W(tf.random_uniform([2,3]、MINVAL = 0、= MAXVAL。1、DTYPE = tf.float32、SEED = 1 )) #を生成する一様分布[MINVAL MAXVAL)ランダムサンプリングから意味均等に分布の数は、ドメイン、すなわちMINVALは、MAXVAL含まない含む、開閉する権利を左とすることに注意してください。
これらの機能は、標準偏差のための特別な要件場合、平均値、ランダムシードを書き込むことができません。具体的な使用方法を見てください。
(4)その他の機能:tf.zeros完全配列を生成するために0を表す
tf.onesフルアレイ生成するために、1を表し、
完全配列を表す生成するtf.fill所定値
tf.constant直接配列が所定値を表し生成
tf.zeros([3,2]、Int32)を #は、[0,0]、[0,0]、[0,0]]を生成示し tf.ones([3,2]、Int32)を #を[発生を示します[1,1]、[1,1]、[1,1] tf.fill([3,2] ,. 6) #は、[6,6]、[6,6]、[6,6]を生成示し] tf.constant([3,2,1]) 位]世代[3,2,1を示し
FNN:
水仙を使用して##### ######データセット
インポートload_iris sklearn.datasets
インポートAS tensorflowのTF から numpy.random インポートRandomState インポートNP AS numpyの IRIS = load_iris() iris_data = iris.data iris_lable = iris.target iris_label = np.reshape(iris_lable、(150、1 ))#アレイnp.reshape(アレイ(M、N )) の配列を変えることなく寸法を返す(M、N) #1 印刷(np.shape(iris_label)) BATCH_SIZE = 2 X = tf.placeholder(TFは.float32、形状=(4 ,.なし)) #のプレースのプレースホルダーは、最初、データの種類を指定我々はデータのみのセットを考慮する必要があるため、その後、所定の形状であってもよいし、2つの特性値がある、の形状(1、 2)
Y_= tf.placeholder(tf.float32、形状=(なし、1 )) W1 = tf.Variable(tf.random_normal([4,10]、STDDEV = 1、種子= 1 )) W2 = tf.Variable(TF。 random_normal([10,1]、STDDEV = 1、種子= 1 )) 、A = tf.matmul(X、W1)#矩阵乘法 Y(= tf.matmul、W2) #150 * 1枚の #プリント(np.shape (Y)) 損失 = tf.reduce_mean(tf.square(Y- Y_)) train_step = tf.train.GradientDescentOptimizer(0.001 ).minimize(損失) のSESとしてtf.Session(と): INIT = tf.global_variables_initializer() sess.run(INIT) ステップ = 3000 用 I における範囲(手順): 開始 = 32%(iはBATCH_SIZE *) 端を = +開始BATCH_SIZEの sess.run(train_step、feed_dictを = {X:iris_data [スタート:終了]、Y_:iris_label [スタート:終了]}) もし私%100 == 0: total_loss = sess.run(損失、feed_dict = {X:iris_data、Y_:iris_label}) プリント(total_loss)
思考:同様に(150)、このような寸法の行列演算を直接行うことができない、それは操作を実行するために二次テンソル(150、1)となるものとします。
ネットワークを構築する基本的なプロセス:
(1)シミュレートされたデータセットを生成するために、モジュール内に導入
インポート
定義した定数
データセットを生成します
(2)順伝播:入力および出力パラメータを定義します
X = YI =
W 1 = W 2 =
= Y =
(3)伝播:損失関数定義、バックプロパゲーション法
損失=
train_step =
(4)セッション、トレーニングホイールステップを生成します
SESのようtf.Sessionと:
init_op = tf.global_variables_initializer()
sess.run(init_op)
STEPS =
範囲(STEPS)でのiについて:
開始=
終わり=
sess.run(train_step、feed_dict = {})
(2)tf.truncated_normal()生成された乱数を除去するためには大きすぎるオフ正規分布ポイント、ランダムデータはつ以上の標準偏差の平均値から生成された場合、すなわち、データが再生されます
W = tf.Variable(tf.Truncated_normal([2,3]、STDDEV = 2、= 0、種子= 1)を意味)