女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

簡單神經網絡train&test程序,python源碼

倩倩 ? 來源:ai昂鈦客angtk ? 2020-04-17 14:56 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

1. NN模型如下

神經網絡整體架構內容可參考之前的云筆記《06_神經網絡整體架構》

http://note.youdao.com/noteshare?id=2c27bbf6625d75e4173d9fcbeea5e8c1&sub=7F4BC70112524F9289531EC6AE435E14

其中,

n是指的樣本數

Mnist數據集 784是28×28×1 灰度圖 channel = 1

wb是指的權重參數

輸出的是10分類的得分值,也可以接softmax分類器

out是L2層和輸出層之間的關系

256 128 10是指的神經元數量

2. 構造參數

函數構造

3. Code

1. 網絡模型架構搭建

導入相應數據

import numpy as npimport tensorflow as tfimport matplotlib.pyplot as pltimport input_datamnist = input_data.read_data_sets('data/', one_hot=True)network topologies

# 網絡拓撲 network topologies# layer中神經元數量n_hidden_1 =256n_hidden_2 =128# 輸入數據的像素點 28x28x1n_input =784# 10分類n_classes =10input and output

x = tf.placeholder("float",[None,n_input])y = tf.placeholder("float",[None,n_classes])network parameters

# network parameters# 方差stddev =0.1# random_normal 高斯初始化weights ={'w1': tf.Variable(tf.random_normal([n_input,n_hidden_1],stddev=stddev)),'w2': tf.Variable(tf.random_normal([n_hidden_1,n_hidden_2],stddev=stddev)),'out': tf.Variable(tf.random_normal([n_hidden_2,n_classes],stddev=stddev))}# 對于 b 零值初始化也可以biases ={'b1': tf.Variable(tf.random_normal([n_hidden_1])),'b2': tf.Variable(tf.random_normal([n_hidden_2])),'out': tf.Variable(tf.random_normal([n_classes]))}print("Network Ready")output

NetworkReady可以看到網絡模型架構搭建成功

2.訓練網絡模型

定義前向傳播函數

# 定義前向傳播函數def multilayer_perceptron(_X, _weights, _biases):# 之所以加 sigmoid 是因為每一個 hidden layer 都有一個非線性函數layer_1 = tf.nn.sigmoid(tf.add(tf.matmul(_X, _weights['w1']), _biases['b1']))layer_2 = tf.nn.sigmoid(tf.add(tf.matmul(layer_1, _weights['w2']), _biases['b2']))return(tf.matmul(layer_2, _weights['out'])+ _biases['out'])反向傳播

(1)將前向傳播預測值

# predictionpred = multilayer_perceptron(x, weights, biases)(2)定義損失函數

# 首先定義損失函數 softmax_cross_entropy_with_logits 交叉熵函數# 交叉熵函數的輸入有 pred : 網絡的預測值 (前向傳播的結果)# y : 實際的label值# 將兩參數的一系列的比較結果,除以 batch 求平均之后的 loss 返回給 cost 損失值cost = tf.reduce_mean(tf.nn.softmax_cross_entropy_with_logits(pred, y))(3)梯度下降最優化

optm = tf.train.GradientDescentOptimizer(learning_rate =0.001).minimize(cost)(4)精確值

具體解釋詳見上一篇筆記《06_迭代完成邏輯回歸模型》

corr = tf.equal(tf.argmax(pred,1), tf.argmax(y,1))accr = tf.reduce_mean(tf.cast(corr,"float"))(5)初始化

# initializerinit = tf.global_variables_initializer()print("Function ready")output

Function ready可以看出傳播中的參數和優化模型搭建成功

3. Train and Test

training_epochs =20# 每次 iteration 的樣本batch_size =100# 每四個 epoch 打印一次結果display_step =4# lanch the graphsess = tf.Session()sess.run(init)# optimizefor epoch in range(training_epochs):# 初始,平均 loss = 0avg_cost =0total_batch =int(mnist.train.num_examples/batch_size)# iterationfor i in range(total_batch):# 通過 next_batch 返回相應的 batch_xs,batch_ysbatch_xs, batch_ys = mnist.train.next_batch(batch_size)feeds ={x: batch_xs, y: batch_ys}sess.run(optm, feed_dict = feeds)avg_cost += sess.run(cost, feed_dict = feeds)avg_cost = avg_cost / total_batch# displayif(epoch+1)% display_step ==0:print("Epoch: %03d/%03d cost: %.9f "%(epoch, training_epochs, avg_cost))feeds ={x: batch_xs, y: batch_ys}train_acc = sess.run(accr, feed_dict = feeds)print("train accuracy: %.3f"%(train_acc))feeds ={x: mnist.test.images, y: mnist.test.labels}test_acc = sess.run(accr, feed_dict = feeds)print("test accuracy: %.3f"%(test_acc))print("optimization finished")output

Epoch:003/020 cost:2.273774184train accuracy:0.250test accuracy:0.197Epoch:007/020 cost:2.240329206train accuracy:0.270test accuracy:0.311Epoch:011/020 cost:2.203503076train accuracy:0.370test accuracy:0.404Epoch:015/020 cost:2.161286944train accuracy:0.490test accuracy:0.492Epoch:019/020 cost:2.111541148train accuracy:0.410test accuracy:0.534optimization finished20個batch每個batch 100個樣本,每隔4個batch打印一次

處理器Intel Core i5-6200U CPU @ 2.30GHz 2.04GHz

04 epoch:train+test, cost_time: 25’40”

08 epoch:train+test, cost_time: 50’29”

12 epoch:train+test, cost_time: 74’42”

16 epoch:train+test, cost_time: 98’63”

20 epoch:train+test, cost_time: 121’49”

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 函數
    +關注

    關注

    3

    文章

    4379

    瀏覽量

    64833
  • 神經元
    +關注

    關注

    1

    文章

    368

    瀏覽量

    18833
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    基于FPGA搭建神經網絡的步驟解析

    本文的目的是在一個神經網絡已經通過python或者MATLAB訓練好的神經網絡模型,將訓練好的模型的權重和偏置文件以TXT文件格式導出,然后通過python
    的頭像 發表于 06-03 15:51 ?391次閱讀
    基于FPGA搭建<b class='flag-5'>神經網絡</b>的步驟解析

    BP神經網絡與卷積神經網絡的比較

    BP神經網絡與卷積神經網絡在多個方面存在顯著差異,以下是對兩者的比較: 一、結構特點 BP神經網絡 : BP神經網絡是一種多層的前饋神經網絡
    的頭像 發表于 02-12 15:53 ?659次閱讀

    BP神經網絡的優缺點分析

    BP神經網絡(Back Propagation Neural Network)作為一種常用的機器學習模型,具有顯著的優點,同時也存在一些不容忽視的缺點。以下是對BP神經網絡優缺點的分析: 優點
    的頭像 發表于 02-12 15:36 ?909次閱讀

    什么是BP神經網絡的反向傳播算法

    BP神經網絡的反向傳播算法(Backpropagation Algorithm)是一種用于訓練神經網絡的有效方法。以下是關于BP神經網絡的反向傳播算法的介紹: 一、基本概念 反向傳播算法是BP
    的頭像 發表于 02-12 15:18 ?764次閱讀

    BP神經網絡與深度學習的關系

    BP神經網絡與深度學習之間存在著密切的關系,以下是對它們之間關系的介紹: 一、BP神經網絡的基本概念 BP神經網絡,即反向傳播神經網絡(Backpropagation Neural N
    的頭像 發表于 02-12 15:15 ?850次閱讀

    深度學習入門:簡單神經網絡的構建與實現

    深度學習中,神經網絡是核心模型。今天我們用 Python 和 NumPy 構建一個簡單神經網絡神經網絡由多個
    的頭像 發表于 01-23 13:52 ?528次閱讀

    人工神經網絡的原理和多種神經網絡架構方法

    在上一篇文章中,我們介紹了傳統機器學習的基礎知識和多種算法。在本文中,我們會介紹人工神經網絡的原理和多種神經網絡架構方法,供各位老師選擇。 01 人工神經網絡 ? 人工神經網絡模型之所
    的頭像 發表于 01-09 10:24 ?1181次閱讀
    人工<b class='flag-5'>神經網絡</b>的原理和多種<b class='flag-5'>神經網絡</b>架構方法

    卷積神經網絡與傳統神經網絡的比較

    神經網絡,也稱為全連接神經網絡(Fully Connected Neural Networks,FCNs),其特點是每一層的每個神經元都與下一層的所有神經元相連。這種結構
    的頭像 發表于 11-15 14:53 ?1863次閱讀

    RNN模型與傳統神經網絡的區別

    傳統神經網絡(前饋神經網絡) 2.1 結構 傳統神經網絡,通常指的是前饋神經網絡(Feedforward Neural Networks, FNN),是一種最
    的頭像 發表于 11-15 09:42 ?1124次閱讀

    如何使用Python構建LSTM神經網絡模型

    構建一個LSTM(長短期記憶)神經網絡模型是一個涉及多個步驟的過程。以下是使用Python和Keras庫構建LSTM模型的指南。 1. 安裝必要的庫 首先,確保你已經安裝了Python和以下庫
    的頭像 發表于 11-13 10:10 ?1567次閱讀

    LSTM神經網絡的結構與工作機制

    LSTM(Long Short-Term Memory,長短期記憶)神經網絡是一種特殊的循環神經網絡(RNN),設計用于解決長期依賴問題,特別是在處理時間序列數據時表現出色。以下是LSTM神經網絡
    的頭像 發表于 11-13 10:05 ?1628次閱讀

    Moku人工神經網絡101

    Moku3.3版更新在Moku:Pro平臺新增了全新的儀器功能【神經網絡】,使用戶能夠在Moku設備上部署實時機器學習算法,進行快速、靈活的信號分析、去噪、傳感器調節校準、閉環反饋等應用。如果您
    的頭像 發表于 11-01 08:06 ?661次閱讀
    Moku人工<b class='flag-5'>神經網絡</b>101

    【飛凌嵌入式OK3576-C開發板體驗】RKNN神經網絡-車牌識別

    LPRNet基于深層神經網絡設計,通過輕量級的卷積神經網絡實現車牌識別。它采用端到端的訓練方式,不依賴字符分割,能夠直接處理整張車牌圖像,并輸出最終的字符序列。這種設計提高了識別的實時性和準確性
    發表于 10-10 16:40

    matlab 神經網絡 數學建模數值分析

    matlab神經網絡 數學建模數值分析 精通的可以討論下
    發表于 09-18 15:14

    Python自動訓練人工神經網絡

    人工神經網絡(ANN)是機器學習中一種重要的模型,它模仿了人腦神經元的工作方式,通過多層節點(神經元)之間的連接和權重調整來學習和解決問題。Python由于其強大的庫支持(如Tenso
    的頭像 發表于 07-19 11:54 ?697次閱讀