91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

簡單神經(jīng)網(wǎng)絡(luò)train&test程序,python源碼

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

掃碼添加小助手

加入工程師交流群

1. NN模型如下

神經(jīng)網(wǎng)絡(luò)整體架構(gòu)內(nèi)容可參考之前的云筆記《06_神經(jīng)網(wǎng)絡(luò)整體架構(gòu)》

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

其中,

n是指的樣本數(shù)

Mnist數(shù)據(jù)集 784是28×28×1 灰度圖 channel = 1

wb是指的權(quán)重參數(shù)

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

out是L2層和輸出層之間的關(guān)系

256 128 10是指的神經(jīng)元數(shù)量

2. 構(gòu)造參數(shù)

函數(shù)構(gòu)造

3. Code

1. 網(wǎng)絡(luò)模型架構(gòu)搭建

導(dǎo)入相應(yīng)數(shù)據(jù)

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

# 網(wǎng)絡(luò)拓?fù)?network topologies# layer中神經(jīng)元數(shù)量n_hidden_1 =256n_hidden_2 =128# 輸入數(shù)據(jù)的像素點(diǎn) 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可以看到網(wǎng)絡(luò)模型架構(gòu)搭建成功

2.訓(xùn)練網(wǎng)絡(luò)模型

定義前向傳播函數(shù)

# 定義前向傳播函數(shù)def multilayer_perceptron(_X, _weights, _biases):# 之所以加 sigmoid 是因?yàn)槊恳粋€(gè) hidden layer 都有一個(gè)非線性函數(shù)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)將前向傳播預(yù)測值

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

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

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可以看出傳播中的參數(shù)和優(yōu)化模型搭建成功

3. Train and Test

training_epochs =20# 每次 iteration 的樣本batch_size =100# 每四個(gè) epoch 打印一次結(jié)果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 返回相應(yīng)的 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個(gè)batch每個(gè)batch 100個(gè)樣本,每隔4個(gè)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”

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 函數(shù)
    +關(guān)注

    關(guān)注

    3

    文章

    4419

    瀏覽量

    67677
  • 神經(jīng)元
    +關(guān)注

    關(guān)注

    1

    文章

    369

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    為什么 VisionFive V1 板上的 JH7100 中并存 NVDLA 引擎和神經(jīng)網(wǎng)絡(luò)引擎?

    我想知道為什么 VisionFive V1 板上的 JH7100 中并存 NVDLA 引擎和神經(jīng)網(wǎng)絡(luò)引擎,請問?您能否舉一些關(guān)于他們的用例的例子?
    發(fā)表于 03-25 06:01

    神經(jīng)網(wǎng)絡(luò)的初步認(rèn)識

    日常生活中的智能應(yīng)用都離不開深度學(xué)習(xí),而深度學(xué)習(xí)則依賴于神經(jīng)網(wǎng)絡(luò)的實(shí)現(xiàn)。什么是神經(jīng)網(wǎng)絡(luò)?神經(jīng)網(wǎng)絡(luò)的核心思想是模仿生物神經(jīng)系統(tǒng)的結(jié)構(gòu),特別是大腦中神經(jīng)
    的頭像 發(fā)表于 12-17 15:05 ?368次閱讀
    <b class='flag-5'>神經(jīng)網(wǎng)絡(luò)</b>的初步認(rèn)識

    自動駕駛中常提的卷積神經(jīng)網(wǎng)絡(luò)是個(gè)啥?

    在自動駕駛領(lǐng)域,經(jīng)常會聽到卷積神經(jīng)網(wǎng)絡(luò)技術(shù)。卷積神經(jīng)網(wǎng)絡(luò),簡稱為CNN,是一種專門用來處理網(wǎng)格狀數(shù)據(jù)(比如圖像)的深度學(xué)習(xí)模型。CNN在圖像處理中尤其常見,因?yàn)閳D像本身就可以看作是由像素排列成的二維網(wǎng)格。
    的頭像 發(fā)表于 11-19 18:15 ?2129次閱讀
    自動駕駛中常提的卷積<b class='flag-5'>神經(jīng)網(wǎng)絡(luò)</b>是個(gè)啥?

    CNN卷積神經(jīng)網(wǎng)絡(luò)設(shè)計(jì)原理及在MCU200T上仿真測試

    數(shù)的提出很大程度的解決了BP算法在優(yōu)化深層神經(jīng)網(wǎng)絡(luò)時(shí)的梯度耗散問題。當(dāng)x&amp;amp;gt;0 時(shí),梯度恒為1,無梯度耗散問題,收斂快;當(dāng)x&amp;
    發(fā)表于 10-29 07:49

    NMSIS神經(jīng)網(wǎng)絡(luò)庫使用介紹

    NMSIS NN 軟件庫是一組高效的神經(jīng)網(wǎng)絡(luò)內(nèi)核,旨在最大限度地提高 Nuclei N 處理器內(nèi)核上的神經(jīng)網(wǎng)絡(luò)的性能并最??大限度地減少其內(nèi)存占用。 該庫分為多個(gè)功能,每個(gè)功能涵蓋特定類別
    發(fā)表于 10-29 06:08

    在Ubuntu20.04系統(tǒng)中訓(xùn)練神經(jīng)網(wǎng)絡(luò)模型的一些經(jīng)驗(yàn)

    本帖欲分享在Ubuntu20.04系統(tǒng)中訓(xùn)練神經(jīng)網(wǎng)絡(luò)模型的一些經(jīng)驗(yàn)。我們采用jupyter notebook作為開發(fā)IDE,以TensorFlow2為訓(xùn)練框架,目標(biāo)是訓(xùn)練一個(gè)手寫數(shù)字識別的神經(jīng)網(wǎng)絡(luò)
    發(fā)表于 10-22 07:03

    CICC2033神經(jīng)網(wǎng)絡(luò)部署相關(guān)操作

    在完成神經(jīng)網(wǎng)絡(luò)量化后,需要將神經(jīng)網(wǎng)絡(luò)部署到硬件加速器上。首先需要將所有權(quán)重?cái)?shù)據(jù)以及輸入數(shù)據(jù)導(dǎo)入到存儲器內(nèi)。 在仿真環(huán)境下,可將其存于一個(gè)文件,并在 Verilog 代碼中通過 readmemh 函數(shù)
    發(fā)表于 10-20 08:00

    液態(tài)神經(jīng)網(wǎng)絡(luò)(LNN):時(shí)間連續(xù)性與動態(tài)適應(yīng)性的神經(jīng)網(wǎng)絡(luò)

    1.算法簡介液態(tài)神經(jīng)網(wǎng)絡(luò)(LiquidNeuralNetworks,LNN)是一種新型的神經(jīng)網(wǎng)絡(luò)架構(gòu),其設(shè)計(jì)理念借鑒自生物神經(jīng)系統(tǒng),特別是秀麗隱桿線蟲的神經(jīng)結(jié)構(gòu),盡管這種微生物的
    的頭像 發(fā)表于 09-28 10:03 ?1372次閱讀
    液態(tài)<b class='flag-5'>神經(jīng)網(wǎng)絡(luò)</b>(LNN):時(shí)間連續(xù)性與動態(tài)適應(yīng)性的<b class='flag-5'>神經(jīng)網(wǎng)絡(luò)</b>

    神經(jīng)網(wǎng)絡(luò)的并行計(jì)算與加速技術(shù)

    隨著人工智能技術(shù)的飛速發(fā)展,神經(jīng)網(wǎng)絡(luò)在眾多領(lǐng)域展現(xiàn)出了巨大的潛力和廣泛的應(yīng)用前景。然而,神經(jīng)網(wǎng)絡(luò)模型的復(fù)雜度和規(guī)模也在不斷增加,這使得傳統(tǒng)的串行計(jì)算方式面臨著巨大的挑戰(zhàn),如計(jì)算速度慢、訓(xùn)練時(shí)間長等
    的頭像 發(fā)表于 09-17 13:31 ?1196次閱讀
    <b class='flag-5'>神經(jīng)網(wǎng)絡(luò)</b>的并行計(jì)算與加速技術(shù)

    基于神經(jīng)網(wǎng)絡(luò)的數(shù)字預(yù)失真模型解決方案

    在基于神經(jīng)網(wǎng)絡(luò)的數(shù)字預(yù)失真(DPD)模型中,使用不同的激活函數(shù)對整個(gè)系統(tǒng)性能和能效有何影響?
    的頭像 發(fā)表于 08-29 14:01 ?3535次閱讀

    無刷電機(jī)小波神經(jīng)網(wǎng)絡(luò)轉(zhuǎn)子位置檢測方法的研究

    摘要:論文通過對無刷電機(jī)數(shù)學(xué)模型的推導(dǎo),得出轉(zhuǎn)角:與三相相電壓之間存在映射關(guān)系,因此構(gòu)建了一個(gè)以三相相電壓為輸人,轉(zhuǎn)角為輸出的小波神經(jīng)網(wǎng)絡(luò)來實(shí)現(xiàn)轉(zhuǎn)角預(yù)測,并采用改進(jìn)遺傳算法來訓(xùn)練網(wǎng)絡(luò)結(jié)構(gòu)與參數(shù),借助
    發(fā)表于 06-25 13:06

    神經(jīng)網(wǎng)絡(luò)專家系統(tǒng)在電機(jī)故障診斷中的應(yīng)用

    摘要:針對傳統(tǒng)專家系統(tǒng)不能進(jìn)行自學(xué)習(xí)、自適應(yīng)的問題,本文提出了基于種經(jīng)網(wǎng)絡(luò)專家系統(tǒng)的并步電機(jī)故障診斷方法。本文將小波神經(jīng)網(wǎng)絡(luò)和專家系統(tǒng)相結(jié)合,充分發(fā)揮了二者故障診斷的優(yōu)點(diǎn),很大程度上降低了對電機(jī)
    發(fā)表于 06-16 22:09

    神經(jīng)網(wǎng)絡(luò)RAS在異步電機(jī)轉(zhuǎn)速估計(jì)中的仿真研究

    眾多方法中,由于其結(jié)構(gòu)簡單,穩(wěn)定性好廣泛受到人們的重視,且已被用于產(chǎn)品開發(fā)。但是MRAS仍存在在低速區(qū)速度估計(jì)精度下降和對電動機(jī)參數(shù)變化非常敏感的問題。本文利用神經(jīng)網(wǎng)絡(luò)的特點(diǎn),使估計(jì)更為簡單、快速
    發(fā)表于 06-16 21:54

    基于FPGA搭建神經(jīng)網(wǎng)絡(luò)的步驟解析

    本文的目的是在一個(gè)神經(jīng)網(wǎng)絡(luò)已經(jīng)通過python或者M(jìn)ATLAB訓(xùn)練好的神經(jīng)網(wǎng)絡(luò)模型,將訓(xùn)練好的模型的權(quán)重和偏置文件以TXT文件格式導(dǎo)出,然后通過python
    的頭像 發(fā)表于 06-03 15:51 ?1367次閱讀
    基于FPGA搭建<b class='flag-5'>神經(jīng)網(wǎng)絡(luò)</b>的步驟解析

    NVIDIA實(shí)現(xiàn)神經(jīng)網(wǎng)絡(luò)渲染技術(shù)的突破性增強(qiáng)功能

    近日,NVIDIA 宣布了 NVIDIA RTX 神經(jīng)網(wǎng)絡(luò)渲染技術(shù)的突破性增強(qiáng)功能。NVIDIA 與微軟合作,將在 4 月的 Microsoft DirectX 預(yù)覽版中增加神經(jīng)網(wǎng)絡(luò)著色技術(shù),讓開
    的頭像 發(fā)表于 04-07 11:33 ?1267次閱讀