資源簡介
BP神經網絡實現氣溫學習和預測代碼及代碼分析(python+tensflow),用python+tensflow實現氣溫的預測,本代碼包含數據集,不用重新下載,可以自行設置測試學習次數,誤差范圍,點開導包,運行即可使用,并且附上了因版本不同,可能出現導包錯誤的解決方法。我實在是即穩又貼心。

代碼片段和文件信息
import?tensorflow.compat.v1?as?tf
tf.disable_v2_behavior()
from?numpy.random?import?RandomState
import?pandas?as?pd
import?numpy?as?np
import?time
#定義神經網絡的參數
d=3#輸入節點個數
l=1#輸出節點個數
q=2*d+1#隱層個數采用經驗公式2d+1
train_num=480#訓練數據個數
test_num=240#測試數據個數
eta=0.5#學習率
error=0.0009#精度
#初始化權值和閾值
w1=?tf.Variable(tf.random.normal([d?q]?stddev=1?seed=1))#seed設定隨機種子,保證每次初始化相同數據
b1=tf.Variable(tf.constant(0.0shape=[q]))
w2=?tf.Variable(tf.random.normal([q?l]?stddev=1?seed=1))
b2=tf.Variable(tf.constant(0.0shape=[l]))
#輸入占位
x?=?tf.placeholder(tf.float32?shape=(None?d))#列數是d,行數不定
y_=?tf.placeholder(tf.float32?shape=(None?l))
#構建圖:前向傳播
a=tf.nn.sigmoid(tf.matmul(xw1)+b1)#sigmoid激活函數
y=tf.nn.sigmoid(tf.matmul(aw2)+b2)
mse?=?tf.reduce_mean(tf.square(y_?-??y))#損失函數采用均方誤差
train_step?=?tf.train.AdamOptimizer(eta).minimize(mse)#Adam算法
#train_step?=?tf.train.GradientDescentOptimizer(eta).minimize(mse)#梯度下降法
#讀取氣溫數據
dataset?=?pd.read_csv(‘tem.csv‘?delimiter=““)
dataset=np.array(dataset)
mn=np.shape(dataset)
totalX=np.zeros((m-dd))
totalY=np.zeros((m-dl))
for?i?in?range(m-d):#分組:前三個值輸入,第四個值輸出
????totalX[i][0]=dataset[i][0]
????totalX[i][1]=dataset[i+1][0]
????totalX[i][2]=dataset[i+2][0]
????totalY[i][0]=dataset[i+3][0]
#歸一化數據
Normal_totalX=np.zeros((m-dd))
Normal_totalY=np.zeros((m-dl))
nummin=np.min(dataset)
nummax=np.max(dataset)
dif=nummax-nummin
for?i?in?range(m-d):
????for?j?in?range(d):
????????Normal_totalX[i][j]=(totalX[i][j]-nummin)/dif
????Normal_totalY[i][0]=(totalY[i][0]-nummin)/dif
#截取訓練數據
X=Normal_totalX[:train_num-d:]
Y=Normal_totalY[:train_num-d:]
testX=Normal_totalX[train_num::]
testY=totalY[train_num::]
start?=?time.clock()
#創建會話來執行圖
with?tf.Session()?as?sess:
????init_op?=?tf.global_variables_initializer()#初始化節點
????sess.run(init_op)
????STEPS=0
????while?True:
????????sess.run(train_step?feed_dict={x:?X?y_:?Y})
????????STEPS+=1
????????train_mse=?sess.run(mse?feed_dict={x:?X?y_:?Y})
????????if?STEPS?%?10000?==?0:#每訓練100次,輸出損失函數
????????????print(“第?%d?次訓練后訓練集損失函數為:%g“?%?(STEPS?train_mse))
????????##if?train_mse ????????##??break
????????if?STEPS>10000000:
??????????break
????print(“總訓練次數:“STEPS)
????end?=?time.clock()
????print(“運行耗時(s):“end-start)
#測試
????Normal_y=?sess.run(y?feed_dict={x:?testX})#求得測試集下的y計算值
????DeNormal_y=Normal_y*dif+nummin#將y反歸一化
????test_mse=?sess.run(mse?feed_dict={y:?DeNormal_y?y_:?testY})#計算均方誤差
????print(“測試集均方誤差為:“test_mse)
#預測
????XX=tf.constant([[18.317.416.7]])
????XX=(XX-nummin)/dif#歸一化
????a=tf.nn.sigmoid(tf.matmul(XXw1)+b1)
????y=tf.nn.sigmoid(tf.matmul(aw2)+b2)
????y=y*dif+nummin#反歸一化
????print(“[18.317.416.7]輸入下預測氣溫為:“sess.run(y))
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2019-12-09?08:42??BP神經網絡實例及代碼分析(python+tensorflow)\
?????目錄???????????0??2019-12-08?10:10??BP神經網絡實例及代碼分析(python+tensorflow)\BP神經網絡實例及代碼分析%28python%2Btensorflow%29\
?????目錄???????????0??2019-12-08?13:27??BP神經網絡實例及代碼分析(python+tensorflow)\BP神經網絡實例及代碼分析%28python%2Btensorflow%29\BP神經網絡實例及代碼分析(python+tensorflow)\
?????目錄???????????0??2019-12-09?08:23??BP神經網絡實例及代碼分析(python+tensorflow)\BP神經網絡實例及代碼分析%28python%2Btensorflow%29\BP神經網絡實例及代碼分析(python+tensorflow)\.idea\
?????文件?????????441??2019-12-08?12:27??BP神經網絡實例及代碼分析(python+tensorflow)\BP神經網絡實例及代碼分析%28python%2Btensorflow%29\BP神經網絡實例及代碼分析(python+tensorflow)\.idea\BP神經網絡實例及代碼分析(python+tensorflow).iml
?????目錄???????????0??2019-12-08?10:13??BP神經網絡實例及代碼分析(python+tensorflow)\BP神經網絡實例及代碼分析%28python%2Btensorflow%29\BP神經網絡實例及代碼分析(python+tensorflow)\.idea\inspectionProfiles\
?????文件?????????174??2019-12-08?10:13??BP神經網絡實例及代碼分析(python+tensorflow)\BP神經網絡實例及代碼分析%28python%2Btensorflow%29\BP神經網絡實例及代碼分析(python+tensorflow)\.idea\inspectionProfiles\profiles_settings.xm
?????文件?????????294??2019-12-08?12:27??BP神經網絡實例及代碼分析(python+tensorflow)\BP神經網絡實例及代碼分析%28python%2Btensorflow%29\BP神經網絡實例及代碼分析(python+tensorflow)\.idea\misc.xm
?????文件?????????367??2019-12-08?10:13??BP神經網絡實例及代碼分析(python+tensorflow)\BP神經網絡實例及代碼分析%28python%2Btensorflow%29\BP神經網絡實例及代碼分析(python+tensorflow)\.idea\modules.xm
?????文件????????3758??2019-12-09?08:23??BP神經網絡實例及代碼分析(python+tensorflow)\BP神經網絡實例及代碼分析%28python%2Btensorflow%29\BP神經網絡實例及代碼分析(python+tensorflow)\.idea\workspace.xm
?????目錄???????????0??2019-12-08?12:26??BP神經網絡實例及代碼分析(python+tensorflow)\BP神經網絡實例及代碼分析%28python%2Btensorflow%29\BP神經網絡實例及代碼分析(python+tensorflow)\.ipynb_checkpoints\
?????文件??????????72??2019-12-08?12:26??BP神經網絡實例及代碼分析(python+tensorflow)\BP神經網絡實例及代碼分析%28python%2Btensorflow%29\BP神經網絡實例及代碼分析(python+tensorflow)\.ipynb_checkpoints\Unti
?????文件??????????72??2019-12-08?12:26??BP神經網絡實例及代碼分析(python+tensorflow)\BP神經網絡實例及代碼分析%28python%2Btensorflow%29\BP神經網絡實例及代碼分析(python+tensorflow)\Unti
?????文件????????3257??2019-12-08?13:27??BP神經網絡實例及代碼分析(python+tensorflow)\BP神經網絡實例及代碼分析%28python%2Btensorflow%29\BP神經網絡實例及代碼分析(python+tensorflow)\bpnn_tf.py
?????文件????????4153??2019-03-09?19:57??BP神經網絡實例及代碼分析(python+tensorflow)\BP神經網絡實例及代碼分析%28python%2Btensorflow%29\BP神經網絡實例及代碼分析(python+tensorflow)\tem.csv
?????文件???????????0??2019-12-08?10:17??BP神經網絡實例及代碼分析(python+tensorflow)\BP神經網絡實例及代碼分析%28python%2Btensorflow%29\BP神經網絡實例及代碼分析(python+tensorflow)\unti
?????文件????????3015??2019-12-08?10:10??BP神經網絡實例及代碼分析(python+tensorflow)\BP神經網絡實例及代碼分析%28python%2Btensorflow%29.rar
?????文件???????12386??2019-12-09?08:42??BP神經網絡實例及代碼分析(python+tensorflow)\因版本不同的報錯處理方法.docx
評論
共有 條評論