今日から、私はここに正しく良い価値コード3Wマークされているほとんどが手元にありますが、目的は非常に簡単です、足跡の記録深度調査について学ぶことでしょう、あなたは最初から使用可能なモデルをトレーニングしたいです、
私は、関連するモデルやデモオンライン多くが、それでも彼らは個人的に出て使用可能に従事できることを非常に多くの希望を知っているが、学習の本である:李Jinhongの先生「Tensorflowの深さの原則の研究と高度な戦闘を入手」を参照してください。
また、私はまた、ソースコード、モデル、そしてほとんど訓練されたコードの認識モデルのうち、完全にオープンソースコード3Wを確認します。相互激励。
。1 #!は/ usr / binに/ PythonのENV 2 #- * -コーディング:UTF-8 - * - 。3 #@time:2019年9月23日21:27 。4 #@author:SongSa 。5 #@Desc: 6 #@ファイル:フィッティング二次元データの.py 7。 #@Software:PyCharm 。8 。9 インポートtensorflowのTF AS 10 インポートNP AS numpyの 11 インポートPLT AS matplotlib.pyplot 12は 13である " "" 14 :深さ研究は4つのステップに分割される 15は、 データを準備します 16 建設モデル 17 反復トレーニング 18 使用モデル 19 "" " 20は 21であり、 #1 データ########調製####### 22で train_X np.linspace =(-1 ,. 1、100 ) 23である train_Y = 2 * + np.random train_X .randn(100)0.3 * #Y = 2Xが、ノイズを加え 24 plt.plot(train_X、train_Y、' RO '、ラベル= ' オリジナルデータ') #は、アナログデータ点を示す 25 plt.legend() #は、ディスプレイを有しています凡例ラベル 26は plt.show() 27 28 29 plotdata = { " のBatchSize " []:" 喪失":[]} 30 DEF MOVING_AVERAGE(A、W = 10 ): 31である IF(A)<lenの:W 32 リターンA [:] 33は 戻り [ヴァルIF IDX <W 他の SUM([(IDX-W):IDX W])/ ため IDX、ヴァルで列挙(A)] 34である 35 36 ######## ########構造モデル 37 #モデルは、2つの方向に分割されている:フォワードおよびリバース 38 #モデルを作成して 39 X-tf.placeholder =(" フロート") #のプレースホルダ 40(Y = tf.placeholderを"フロート" ) 41である #1 モデルパラメータ 42は、 Wが= tf.Variable(tf.random_normal([1])、名前=される" 重量」) #1 Wは乱数、一次元デジタルの形状[1、-1]に初期化されます 43は B = tf.Variable(tf.zeros([1])、名前は= " バイアス") #とBを0に初期化されている 44ことである #フォワード構造 45 = tf.multiply Z(X、Wは)+ Bの #1 tf.multiply ()関数が乗算される* X-Wは、B = + Zさ 46は、 47 #は逆構造モデル 48 #二つの方向におけるニューラルネットワークのトレーニングデータフロー、正により生成された最初の値は、真の値が観察されギャップは、パラメータは、内部逆のプロセスにより調整、 49 #実際の値の比較、そのサイクルで陽性予測値を生成する次に、我々は正しい値を取得するために調整されたパラメータを知って、パラメータの適切な調整を達成するためにバックプロパゲーションアルゴリズムを紹介します。 50費用= tf.reduce_mean - (tf.square(Y Z)) #の生成真値との差の二乗に等しいコスト値 51は、 #1 (tf.reduce_mean)指定された軸に沿って、テンソルの平均値を算出するための 52である #1 (tf.square )Yzと正方形を算出するための 53である learning_rate = 0.01 #)学習率(調整のより大きな速度を示し、より高い数、正確ではなく、その逆 54は、オプティマイザ= tf.train.GradientDescentOptimizer(learning_rate).minimize(コスト) #カプセル化された勾配降下アルゴリズム 55 56は 57である #1 #######反復トレーニング######## 58個の #Tensorflowタスクがセッションによって行われる 59 INIT = tf.global_variables_initializer() #は、すべての初期化変数 60 #のカスタムパラメータ 61は training_epochs = 20である 62ことである 2 = display_stop 63である #セッション開始 64 セッション数AS)(tf.Sessionと: 65 sess.run(INIT) 66 plotdata = { " のBatchSize ":[]、" 損失":[] } #のストアバッチ値と損失値 67 のためのエポックにおける範囲(training_epochs): 68 用の(X、Y)にZIP(train_X、train_Y): 69 sess.run(オプティマイザ、feed_dict = {X-:X、Y:Y }) 70 71である #トレーニングの詳細表示 72 IFエポック%のdisplay_stopの== 0: 73である、 損失= sess.run(コスト、feed_dict = {:train_X、Y train_Y X-}) 74 プリント(" エポック:"。、+エポック1、" コスト= "損失、" Wは= "sess.run(Wである)、" B = "sess.run(B)) 75 IF ていない(損失== " NA 」): 76 plotdata [ ' のBatchSize ' ]。 (エポック)追加77 plotdataを[ " 損失" ] .append(損失) 78 79 プリント(" 完成!" ) 80 プリント(" コスト= "、sess.run(コスト、feed_dict = {X:train_X、Y:train_Y})、" W = "、 sess.run(W)、" B = " 、sess.run(B)) 81 82 #训练模型可视化 83 plt.plot(train_X、train_Y、' RO '、ラベル= " オリジナルデータ" ) 84 plt.plot( train_X、sess.run(W)* train_X + sess.run(b)は、ラベル=" Fittedline " ) 85 plt.legend() 86 plt.show() 87 88 plotdata [ ' avgloss ' ] = moving_average(plotdata [ " 損失" ]) 89 plt.figure(1 ) 90 plt.subplot(211 ) 91 PLT .PLOT(plotdata [ " バッチサイズ" ]、plotdata [ ' avgloss ' ]、' b-- ' ) 92 plt.ylabel(" 損失" ) 93 plt.title(" RUNトレーニング損失対Minibatch FC " ) 94 plt.show() 95 96 97 ########使用モデル######## 98 印刷(" モデルを使用します:\ n \ N- ' ) 99 プリント(" X = 0.2、Z = "、sess.run(Z、X-feed_dict = {。} 0.2))
最後に、広告を作る:啓発のPython:私のマイクロチャネル公共番号を懸念皆を歓迎するクロール爬虫類の多数を得るために、Pythonのコンテンツクローラ、データ分析、データソースの詳細については