這幾天開始學tensorflow,先來做一下學習記錄
一.神經網絡解決問題步驟:
1.提取問題中實體的特征向量作為神經網絡的輸入。也就是說要對數據集進行特征工程,然后知道每個樣本的特征維度,以此來定義輸入神經元的個數。
2.定義神經網絡的結構,并定義如何從神經網絡的輸入得到輸出。也就是說定義輸入層,隱藏層以及輸出層。
3.通過訓練數據來調整神經網絡中的參數取值,這是訓練神經網絡的過程。一般來說要定義模型的損失函數,以及參數優化的方法,如交叉熵損失函數和梯度下降法調優等。
4.利用訓練好的模型預測未知的數據。也就是評估模型的好壞。
二.訓練簡單的向前傳播神經網絡
一下訓練的神經模型是最簡單的一類,而且是線性的(也就是說沒有用激活函數去線性話),沒有反向傳播的過程,只是簡單的說明神經網絡工作的流程。
import tensorflow as tf #定義隱藏層參數,每個w變量是一個tensor(可以當成是n*m的數組,n表示上一層結點個數,m表示本層結點個數)表示上一層與本層的連接權重,這里先隨機定義權重 w1=tf.Variable(tf.random_normal([2,3],stddev=1)) w2=tf.Variable(tf.random_normal([3,1],stddev=1)) #定義存放輸入數據的地方,也就是x向量,這里shape為前一個傳入訓練的樣本個數,后面出入每個樣本的維度大小 x=tf.placeholder(tf.float32,shape=(None,2),name="input") #矩陣乘法 a=tf.matmul(x,w1) y=tf.matmul(a,w2) with tf.Session() as sess: #新版本好像不能用這個函數初始化所有變量了 init_op=tf.initialize_all_variables() sess.run(init_op) #feed_dict用于向y中的x傳入參數,這里傳入3個,則y輸出為一個3*1的tensor print(sess.run(y,feed_dict={x:[[0.7,0.9],[1.0,1.5],[2.1,2.3]]}))
另外有需要云服務器可以了解下創新互聯scvps.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業上云的綜合解決方案,具有“安全穩定、簡單易用、服務可用性高、性價比高”等特點與優勢,專為企業上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。
名稱欄目:tensorflow入門之訓練簡單的神經網絡方法-創新互聯
分享網址:http://vcdvsql.cn/article48/cedihp.html
成都網站建設公司_創新互聯,為您提供企業建站、虛擬主機、用戶體驗、網站導航、網站營銷、標簽優化
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯